MusicXML

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

Lua error in package.lua at line 80: module 'strict' not found.

MusicXML
Filename extension .xml, .mxl
Internet media type application/vnd.recordare.musicxml+xml,[1] application/vnd.recordare.musicxml[2]
Developed by Recordare, MakeMusic
Latest release
3.0
(August 2011[3])
Type of format Musical notation
Extended from XML
Open format? Yes

MusicXML is an XML-based file format for representing Western musical notation. The format is proprietary, but fully and openly documented, and can be freely used under a Public License.[4]

History

MusicXML 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. MusicXML development is currently managed by MakeMusic following the company's acquisition of Recordare in 2011.[5][6]

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.[7] 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.[8][9] The MusicXML DTDs and XSDs are each freely redistributable under the MusicXML Public License.[10]

Support

As of December 2015, MusicXML is supported to varying degrees by over 210 notation programs.[11][12] These programs include:

Additionally, web support is possible through the use of the HTML5 canvas element and JavaScript resulting in the rendering of legible music within a web browser.[13]

Features include key and time signatures, clefs, beaming information, stem directions, slurs, ornaments, barlines, and written repeats.[14]

Example

Like all XML-based formats, MusicXML is intended to be 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 on the Treble Clef.[15]

Representation of middle C on the treble clef created through MusicXML code.
<?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 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 one-twentieth the size of the uncompressed version.[16]

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. [1][dead link]
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Juan Pablo Bello, Elaine Chew, Douglas Turnbull (2008) ISMIR 2008: Proceedings of the 9th International Conference p.365
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.

External links