Jump to content

MusicXML

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Mdgood (talk | contribs) at 17:25, 22 February 2011 (Update application count as of February 2011). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

MusicXML is an open, XML-based music notation file format.

It was developed by Recordare LLC, deriving several key concepts from existing academic formats (such as Walter Hewlett's MuseData and David Huron's Humdrum). It is designed for the interchange of scores, particularly between different scorewriters.

Version 1.0 was released in January 2004. Version 1.1 was released in May 2005 with improved formatting support. Version 2.0 was released in June 2007 and included a standard compressed format. All of these versions were defined by a series of document type definitions (DTDs). An XML Schema Definition (XSD) implementation of Version 2.0 was released in September 2008.

As of February 2011, MusicXML is supported to varying degrees by over 140 different notation programs. These programs include:

The MusicXML DTDs and XSDs are each freely redistributable under the MusicXML Document Type Definition Public License.

Example

Like all XML-based formats, MusicXML is easy for automated tools to parse and manipulate. Though it is possible to create MusicXML by hand, interactive score writing programs like Finale and MuseScore greatly simplify the reading, writing, and modifying of MusicXML files.

The following example is a score consisting of a single whole note middle C in the key of C major.

<?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>

The output in standard musical notation looks like this: File:MusicXML Cnatural.png

The textual representation listed above is verbose; MusicXML v2.0 addresses this by adding a compressed zip format with a .mxl suffix that can make files roughly 20 times smaller than their uncompressed version[1].

See also

References

  1. ^ [1] rationale for compressed files