MusicXML

维基百科,自由的百科全书
跳转至: 导航搜索

MusicXML(Music Extensible Markup Language 音乐扩展标记语言)是一个开放的基于XML音乐符号文件格式,由Reccordare 公司开发,该技术源于几个现有的基于学术上的关键技术和想法,比如Walter Hewlett 的MuseData 和David Huron 的Humdrum,他被设计用来做为乐谱信息的交换格式,特别是在不同的乐谱显示软件的之间进行交换。MusicXML 将整体乐曲元素和属性信息表示为一份XML 文档,他克服了另外两种格式----NIFF 格式(基于图片)和SMDL 格式(过于庞大)的兼容性差,结构复杂等许多缺点,目前他已经被很多应用软件的支持。

MusicXML的发展[编辑]

对于音乐的记载,在远古时期,人类使用的是口头方式,一首曲调,要靠世世代代的传唱来传承。后来人们认识到音乐的规律,对音乐有了进一步的了解后,慢慢发展出了音乐理论,并使用一些特殊的符号文字来记录音乐。渐渐形成了现代的音乐体系和记录方法。

进入计算机时代。音乐的制作和表现发生了很大的变化。在1981年,MIDI(Musical Instrument Digital Interface音乐设备数字化接口)标准由工程师戴夫·史密斯在他的一篇论文中首次提出,而MIDI 规范 1.0 的发布则在1983年 8月。MIDI在电子音乐的发展上由其特殊的地位。而且基于MIDI的各种应用也很成熟,但是我们所要求的要更多,由于在MIDI中,一些音乐结构信息,比如音乐中的小节(Measure)、重复(Repeat)、连奏(Slurs),以及其他一些对音乐的表现比较重要的信息,像C的升半音和D的降半音的区分 等都不能表现。而且对于同一首MIDI音乐使用各种应用程序播放的声音可能是一样的 ,但是还原出来的乐谱却有很大差别。

在1994年2月,由多家音乐软件提供商共同提出了NIFF(Notation Interchange File Format 音乐符号交换文件格式)。可以说是弥补MIDI的一些不足,他更能体现音乐的结构性,并能描述出音乐的各个元素在乐谱中的表现形式。但是由于NIFF是二进制格式,它结构复杂,不便应用,所以在2006年2月,也就是它的十二周岁时NIFF项目网站被关闭。一些以前对NIFF提供支持的音乐软件提供商都放弃了NIFF,转而对另外一种格式MusicXML提供支持。

MusicXML的1.0版 由Recordare 公司在2004年1月发布。在2005年5月发布1.1版,在2007年6月发布了2.0版。MusicXML的最大优点是它基于成熟的XML技术,非常便于在网络交换,阅读方便,结构清晰,而且对于音乐信息的记录非常全面,规范,MusicXML技术在出现后的这几年,发展非常迅速,目前,MusicXML已经被超过100多种音乐应用程序所支持,比较知名的也有很多,如美国MakeMusic公司的Finale系列,包含Finale AllegroFinale PrintMusicFinale SongWriterFinale NotePad;Recordare公司的 Dolet 4 for FinaleGuitar Pro 等,其中MusicXML在开源社区也很活跃,很多技术爱好者都加入到MusicXML的开发中来,如著名的JFugue 就是一个基于Java API 和MIDI的开源项目。由此可见相比于其他格式,MusicXML的优势不容置疑。

一个简单的MusicXML例子[编辑]

下面是MusicXML官方站点提供的一个例子.他表示的是一小段五线谱, 根据各个节点的信息可知他是一个C大调,G谱号,4/4的拍子,包含一个全音符。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE score-partwise PUBLIC
    "-//Recordare//DTD MusicXML 2.0 Partwise//EN"
    "http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="2.0">
  <part-list>
    <score-part id="P1">
      <part-name>Music</part-name>
    </score-part>
  </part-list>
  <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>
</score-partwise>

如果用五线谱表示它就是这样的:

链接[编辑]