在 musicXML 中查找音符起点

Finding note onsets in musicXML

我正在尝试使用 java 和 jSoup 解析 musicXML 文件中每个部分正在播放的音高 类 的列表。输出应如下所示(每格一行):

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

我可以根据音符时值填充这个数组,给定片段中的分割数。但是我好像找不到笔记的开始时间。有没有一种简单的方法来解析它?

musicXML specification有持续时间和音调(我可以解析),但我对音符的开始时间感到困惑。

如果包含在注释中,它与我相信的前一个注释同时开始,see

backstep 和 forward 元素跟踪时间。

我开发的解析器可用here。有兴趣的可以免费使用code/library.

MusicXML 有一个时间轴,程序需要跟踪该时间轴以获得准确的开始时间。除非有和弦子元素,否则音符元素会将其向前移动。前向和后备元素也可以在小节内向前或向后移动它。如果您需要在一块范围内精确的开始时间,您的程序也需要跟踪这些时间。 MIDI 有一些类似的结构。您可能会在 http://www.musicxml.com/tutorial/.

找到有用的 MusicXML 教程