MusicXML: The First Decade

MusicXML: The First Decade

Michael D. Good (MakeMusic, Inc., USA)
DOI: 10.4018/978-1-4666-2497-9.ch009


MusicXML is a universal interchange and distribution format for common Western music notation. MusicXML’s design and development began in 2000, with the purpose to be the MP3 equivalent for digital sheet music. MusicXML was developed by Recordare and can represent music from the 17th century onwards, including guitar tablature and other music notations used to notate or transcribe contemporary popular music. MusicXML is supported by over 160 applications. The development and history of MusicXML is described in this chapter.
Chapter Preview

Design Approach

MusicXML models common Western music notation using concepts and vocabulary that are familiar to Western musicians. The basic organization of musical structure comes from the MuseData format (Hewlett, 1997), with additional ideas from the Humdrum format (Huron, 1997). MusicXML extended these designs to support popular as well as classical music, including tablature, guitar chord diagrams, and percussion notation.

Our initial implementations confirmed that MuseData was indeed a good starting point for MusicXML’s design. The basic musical organization mapped smoothly to the music representation of popular music notation editors such as Finale and Sibelius. MusicXML’s element and attribute names are based on the English-language musical terms used in the USA. This makes the format easier to read and understand than those that use either non-musical names or cryptic abbreviations, making the format better suited for archival use.

MusicXML primarily models a document—a musical score—rather than an abstraction of a document. Different aspects of music—the musical structure, the appearance of a particular score engraving, and the interpretive details of a particular musical performance—are all included in a single unified document, mirroring how contemporary music software works. The integration of appearance is especially important, since appearance conveys semantic meaning in musical scores. MusicXML places the musical data in XML elements, and places the visual and performance information (based on MuseData’s print and sound suggestions) in XML attributes or special-purpose XML elements. This element/attribute distinction follows commonly accepted best practices for XML language design (Harold, 2004).

To illustrate, Box 1shows how MusicXML can represent a staccato middle C. The formatting data assumes standard positioning in the treble clef, and the duration value assumes a definition of 4 divisions per quarter note.

Box 1.
      <note release="-1">
<stem default-y="-15">up</stem>
<staccato placement="below"/>

Complete Chapter List

Search this Book: