For Developers

What’s New

Version 4.0 of the MusicXML format was released in June 2021. Version 4.0 was developed by the W3C Music Notation Community Group and published as a W3C Community Group Final Report. It is licensed under the W3C Community Final Specification Agreement (FSA).

MusicXML 4.0 resolved 64 issues entered in the MusicXML GitHub repository.  There were 2 issues relating to documentation logistics. The remaining 62 substantive issues were in seven main categories:

  • 26 issues involved documentation improvements:
    • Including publishing the entire MusicXML documentation as the Community Group Report, including the tutorial, examples, version history, and reference information about elements and simple data types
  • 7 issues involved better support for relationships between scores and parts:
    • Adding a standard way to combine scores and parts into a single compressed MusicXML file
    • Adding transposition for concert scores
    • Adding octave transpositions for concert scores
    • Adding clefs for parts generated from concert scores
    • Adding the ability to indicate that elements should appear on the top or bottom staff
    • Adding multiple instruments per note and specifying links between instruments and parts
    • Adding part name as a standard credit type
  • 1 issue involved support for score following and machine listening applications:
    • Added several new elements to support synchronization and assessment
  • 6 issues involved improvements for semantics:
    • Improving support for Roman numerals, adding a numeral element and deprecating the function element
    • Improving cross-staff arpeggio support
    • Increasing the number of simultaneous elements of a given type from 6 to 16
    • Adding offset to releases
    • Adding support for editorial brackets and parentheses that span several symbols
    • Adding support for percussion staves with widely spaced lines
  • 7 issues involved improvements for playback:
    • Adding swing playback
    • Adding virtual instrument changes similar to existing MIDI instrument changes
    • Adding doubled transpositions above the written note as well as below
    • Adding specification of repeat playback after a jump
    • Updating allowable IPA content to the latest IPA versions
    • Adding more standard instrument sounds (2 issues)
  • 13 issues involved improvements for appearance:
    • Adding an attribute to specify the SMuFL glyph to use for wavy lines
    • Adding attributes to specify the SMuFL glyph for more percussion pictograms
    • Adding support for additional SMuFL accidental glyph names
    • Adding different guitar bend shapes
    • Adding separation for polychord and alternate bass
    • Adding measure numbering vertical positioning for multi-staff parts
    • Adding measure numbering display options for multiple rests
    • Adding placement to figured bass
    • Adding alignment to figured bass
    • Support pedal lines that stop without an upstroke
    • Support pedal lines that start without a downstroke
    • Adding an inverted bracket enclosure shape
    • Adding the ability to hide metronome marks
  • 2 issues involved tooling changes:
    • Adding a catalog.xml file for XML Catalog support
    • Deprecating the DTD versions of the MusicXML definitions

MusicXML 4.0 is compatible with earlier versions of MusicXML. Valid MusicXML 1.0, 1.1, 2.0, 3.0, and 3.1 files are also valid MusicXML 4.0 files. The MusicXML version history summarizes the changes since version 1.0.

Files

If you start doing a MusicXML implementation, you will need to refer to the actual MusicXML W3C XML Schema Definitions (XSD) or Document Type Definitions (DTDs). These files are available from the W3C MusicXML GitHub repository: