MusicXML
From Wikipedia, the free encyclopedia
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 September 2008, MusicXML is supported to varying degrees by over 100 different notation programs. These programs include:
- The two leading scorewriting programs, Finale and Sibelius
- Most of the leading Music OCR programs
- Cubase, a leading music sequencer program.
- Free software such as MuseScore or Rosegarden.
The MusicXML DTDs and XSDs are each freely redistributable under the MusicXML Document Type Definition Public License.
Contents |
[edit] 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 Rosegarden and Finale 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:
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].
[edit] See also
- List of document markup languages
- Comparison of document markup languages
- Notation Interchange File Format (NIFF)
- Wikifonia, a MusicXML repository
[edit] External links
- MusicXML homepage
- MusicXML software list
- MusicXML DTD index
- MusicXML XSD index
- MusicXML Document Type Definition Public License