2015-02-01 6 views
1

Я пытаюсь разобрать список тех классов тангажа, которые воспроизводятся в каждом подразделении в файле musicXML с помощью java и jSoup. Вывод должен выглядеть следующим образом (по одной строке на одно деление):Поиск нот на нотах в musicXML

A C E 
A C 
A C D 
(for instance) 

Я мог бы заполнить этот массив на основании нотных длительностей, учитывая число делений в куске. Но я не могу найти время начала заметок. Есть ли простой способ разбора?

musicXML specification имеет продолжительность и высоту (которые я могу разобрать), но я смущен о времени начала заметки.

ответ

1

Если включено в примечание, оно начинается в то же время, что и предыдущая заметка, которая, я считаю, see.

Слева и вперед элементы отслеживают время.

Анализатор, который я разработал, доступен here. Люди, которые заинтересованы, могут свободно использовать код/​​библиотеку.

1

MusicXML имеет временную шкалу с мерой, которую программы должны отслеживать для точного времени начала. Элементы примечаний перемещают его вперед, если нет дочернего элемента аккорда. Элементы пересылки и резервного копирования также могут перемещать их вперед или назад в пределах меры. Если вам нужно точное время начала работы на уровне части, ваша программа также должна отслеживать их. MIDI имеет несколько схожую структуру. Вы можете найти полезное руководство по MusicXML в http://www.musicxml.com/tutorial/.