Многие люди, занимающиеся новыми проектами по распространению западной музыки, используют MusicXML в качестве отправной точки. Он обеспечивает полное представление музыкальной нотации, которую вы можете установить в соответствии со своими потребностями. Теперь существует определение схемы XSD, которое проекты, подобные ProxyMusic, используют для создания объектных моделей MusicXML. ProxyMusic создает их в Java, но вы должны иметь возможность делать что-то подобное с другими инструментами связывания данных XML на других языках.
Как сказал один клиент MusicXML:
«Очень важное преимущество всей вашей тяжелой работы над MusicXML, насколько я понимаю, заключается в том, что я использую ее как четкую, структурированную и очень« практическую »практическую спецификацию того, что такое музыка, для того, чтобы спроектировать и реализовать внутренние структуры данных моего приложения. "
Доступно гораздо больше информации - XSD и DTD, файлы примеров, учебное пособие, список поддерживаемых приложений, список публикаций и многое другое - на
http://www.makemusic.com/musicxml
MIDI - не очень хорошая модель для простой музыкальной партитуры в стандартной записи. В MIDI отсутствуют многие основные понятия музыкальной нотации. Он был разработан, чтобы быть форматом исполнения, а не форматом записи.
Это правда, что нотация музыки не является иерархической. Поскольку XML является иерархическим, MusicXML использует парные элементы start-stop для представления неиерархической информации. Собственная структура данных может представлять вещи более непосредственно, что является одной из причин того, что MusicXML является лишь отправной точкой для структуры данных.
Для более прямого представления музыкальной нотации, которая фиксирует одновременную горизонтальную и вертикальную структуру, посмотрите на формат Humdrum , в котором используется больше модель электронной таблицы / решетки. Humdrum особенно используется в приложениях по музыковедению и анализу музыки, где его структура данных работает особенно хорошо.