MusicXML

历史

MusicXML由Reccordare公司开发，该技术源于几个现有的基于学术上的关键技术和想法，比如Walter Hewlett的MuseData和David Huron的Humdrum。被设计用来做为乐谱信息的交换格式，特别是在不同的乐谱编写软件之间进行交换。随着MakeMusic公司于2011年收购Recordare，MusicXML的开发由MakeMusic管理。从2015年7月起，MusicXML的移交文档给W3C Music Notation Community Group。
MusicXML的1.0版由Recordare公司在2004年1月发布。在2005年5月发布1.1版，包含对文件格式支持的改进。在2007年6月发布了2.0版，并且包含了标准的压缩格式。所有这些都创建在一系列的文档类型定义（DTD）之上。2.0版的XML Schema定义（XSD）的实现于2008年9月发布。3.0版在2011年8月发布，改进了对虚拟乐器的支持。同时包含在DTD和XSD版本中。3.1版在2017年12月发布，包含对Standard Music Font Layout （SMuFL）的支持的改进。MusicXML DTD和XSD版本都可以通过W3C Community Final Specification Agreement自由发布。

示例

MusicXML像所有基于XML的格式一样，用于简单的由自动化工具分析和操纵。即使MusicXML可以通过手工创建，像Finale和MuseScore那样的交互式的乐谱编写软件大大简化了MusicXML文件的读取、编写和修改。
下面是一个C大调，G谱号，4/4拍，包含一个中央C全音符的例子。
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE score-partwise PUBLIC    "-//Recordare//DTD MusicXML 3.1 Partwise//EN"    "http://www.musicxml.org/dtds/partwise.dtd"><score-partwise version="3.1">
  <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>
以上的文字演示是繁杂的，MusicXML v2.0通过压缩成ZIP格式并加上.mxl后缀的处理使文件体积减小到20分之一。