Jump to content

MusicXML

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Mdgood (talk | contribs) at 19:07, 16 February 2012 (Keep software examples to 2 market leaders per category; other pages have more exhaustive lists). 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. Version 3.0 was released in August 2011 with improved virtual instrument support, in both DTD and XSD versions.

As of February 2012, MusicXML is supported to varying degrees by over 150 notation programs. These programs include:

The MusicXML DTDs and XSDs are each freely redistributable under the MusicXML 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 3.0 Partwise//EN"
    "http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="3.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