Musicxml 是一个开放的基于XML的音乐符号文件格式,由Reccordare公司开发。他被设计用来做为乐谱信息的交换格式,特别是在不同的乐谱显示软件的之间进行交换。MusicXML 将整体乐曲元素和属性信息表示为一份XML 文档,他克服了另外两种格式----NIFF格式(基于图片)和SMDL格式(过于庞大)的兼容性差,结构复杂等许多缺点,目前他已经被很多应用软件的支持。目前很多音乐类软件都有应用。下面对它进行简单的分析。
<part id="P1">
<measure number="1">
<attributes>
<divisions>1</divisions>
<key>
<fifths>0</fifths>
</key>
<time>
<beats>4</beats>
<beat-type>4</beat-type>
</time>
<clef>
<sign>G</sign>
<line>2</line>
</clef>
</attributes>
<note>
<pitch>
<step>C</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>whole</type>
</note>
</measure>
</part>
对于Measure的属性number,它表示的是此measure 处于整个乐谱中的位置,此例只有一个measure,但是实际的乐谱大多包含很多measure。
<Attributes>这个标签一般出现在第一个measure中,表示这个乐谱的基本信息。
<divisions> 这个标签表示一个4分音符持续的时间。这个元素与Note元素中的duration是相联系的。
<key>表示乐谱的升降号情况,fifths为0表示不升不降,一般正数表示升调的个数,负数表示降号的个数。这 个元素还有一个标签<type>表示此调为大调(major)还是小调。
<time>表示节拍的情况,<beat-type>表示以哪种音符为一拍。音符有2分音符,4分音符等等。
<beat>表示每个小节有几个音符。
<clef>表示谱号的情况。此例表示是G大调,还有F小调的情况,和C中调等等。
<note>表示这个音节的信息。<pitch>表示这个音节的信息。<step>表示是abcdefg哪个调, <octave>表示在哪 个八度上面。<type>表示这个音符的类型,whole表示全音,即4个4分音符。<duration>表示这个音调持 续的时间,因为上面规定每个4分音符是1, 所以此时的duration就是4。
这就是musicxml 3.0 中helloword的程序。其中都是最简单的情况,以及每个标签的属性。我会在后续的博客中
将其他情况进行分析,如果有不对之处请指正。可以留言交流。
Musicxml 是一个开放的基于XML的音乐符号文件格式,由Reccordare公司开发。他被设计用来做为乐谱信息的交换格式,特别是在不同的乐谱显示软件的之间进行交换。MusicXML 将整体乐曲元素和属性信息表示为一份XML 文档,结构复杂等许多缺点,目前他已经被很多应用软件的支持。目前很多音乐类软件都有应用。下面对它进行简单的分析。
<part id="P1">
<measure number="1"> <attributes> <divisions>1</divisions> <key> <fifths>0</fifths> </key> <time> <beats>4</beats> <beat-type>4</beat-type> </time> <clef> <sign>G</sign> <line>2</line> </clef> </attributes> <note> <pitch> <step>C</step> <octave>4</octave> </pitch> <duration>4</duration> <type>whole</type> </note> </measure> </part>
对于Measure的属性number,它表示的是此measure 处于整个乐谱中的位置,此例只有一个measure,但是实际的乐谱大多包含很多measure。
<Attributes>这个标签一般出现在第一个measure中,表示这个乐谱的基本信息。
<divisions> 这个标签表示一个4分音符持续的时间。这个元素与Note元素中的duration是相联系的。
<key>表示乐谱的升降号情况,fifths为0表示不升不降,一般正数表示升调的个数,负数表示降号的个数。这
个元素还有一个标签<type>表示此调为大调(major)还是小调。
<time>表示节拍的情况,<beat-type>表示以哪种音符为一拍。音符有2分音符,4分音符等等。
<beat>表示每个小节有几个音符。
<clef>表示谱号的情况。此例表示是G大调,还有F小调的情况,和C中调等等。
<note>表示这个音节的信息。<pitch>表示这个音节的信息。<step>表示是abcdefg哪个调, <octave>表示在哪 个八度上面。<type>表示这个音符的类型,whole表示全音,即4个4分音符。<duration>表示这个音调持 续的时间,因为上面规定每个4分音符是1, 所以此时的duration就是4。
这就是musicxml 3.0 中helloword的程序。其中都是最简单的情况,以及每个标签的属性。我会在后续的博客中
将其他情况进行分析,如果有不对之处请指正。可以留言交流。