Musicxml 是一个开放的基于XML 的音乐符号文件格式,由Reccordare 公司开发。他被设计用来做为乐谱信息的交换格式,特别是在不同的乐谱显示软件的之间进行交换。MusicXML 将整体乐曲元素和属性信息表示为一份XML 文档,他克服了另外两种格式----NIFF 格式(基于图片)和SMDL 格式(过于庞大)的兼容性差,结构复杂等许多缺点,目前他已经被很多应用软件的支持。目前很多音乐类软件都有应用。下面对它进行简单的分析。MusicXML(Music Extensible Markup Language 音乐扩展标记语言)是一个开放的基于XML 的音乐符号文件格式,由Reccordare 公司开发,该技术源于几个现有的基于学术上的关键技术和想法,比如Walter Hewlett 的MuseData 和David Huron 的Humdrum,他被设计用来做为乐谱信息的交换格式,特别是在不同的乐谱显示软件的之间进行交换。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的程序。其中都是最简单的情况,以及每个标签的属性 |
|
来自: BingeLee > 《MusicXML》