Version 3.1 of the MusicXML format was released in December 2017. Version 3.1 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 3.1 resolved 80 issues entered in the MusicXML GitHub repository. There were 15 issues relating to the move to the W3C and problems introduced during beta test. The remaining 65 substantive issues were in four main categories:
- 37 issues involved better support for the Standard Music Font Layout (SMuFL). These include:
- Adding new elements and enumeration values to represent SMuFL symbols
- Adding attributes and values to specify a particular SMuFL glyph in MusicXML extension elements
- Adding the ability to combine text with arbitrary music symbols identified by a SMuFL glyph name
- 16 issues involved documentation improvements.
- 3 issues involved packaging:
- The change to the .musicxml extension for uncompressed files
- The new mimetype file in compressed .mxl files
- New Uniform Type Identifiers for MusicXML file
- 9 issues involved other fixes for appearance and semantics:
- Adding height and width to images
- Adding grace cue notes
- Adding measure number display text
- Adding id attributes to uniquely identify many MusicXML elements
- Adding a combination of slash and regular notation within a single staff
- Adding highest / lowest notes without displaying leger lines
- Adding parentheses to accidental marks displayed above or below notes
- Adding more polygon options for enclosures
- Adding more playback information for lyrics
MusicXML 3.1 is compatible with earlier versions of MusicXML. Valid MusicXML 1.0, 1.1, 2.0, and 3.0 files are also valid MusicXML 3.1 files. The MusicXML version history summarizes the changes since version 1.0.
If you start doing a MusicXML implementation, you will need to refer to the actual MusicXML Document Type Definitions (DTDs) or W3C XML Schema Definitions (XSD). These files are available from the W3C MusicXML GitHub repository: