Version 4.0
Released June 2021
Packaging Changes
- MusicXML 4.0 specifies a standard way to represent both score and parts in a single compressed .mxl file. (Issue 278)
- MusicXML 4.0 now contains a standard XML catalog to make local validation easier. (Issue 259)
- MusicXML 4.0 now contains W3C XML Schema versions of the container and sounds document definitions, replacing the deprecated DTD versions. (Issue 401)
Schema Additions
New Elements
- The
<assess> element specifies how default assessment should be overridden for individual notes. (Issue 294)
- The
<bass-separator> element indicates that text, rather than a line or slash, separates the bass from what precedes it. (Issue 307)
- The
<concert-score> element indicates that a score is displayed in concert pitch. (Issue 39, Issue 279)
- The
<first> element represents the first of two consecutive notes in a swing ratio. (Issue 283)
- The
<for-part> element is used in a concert score to indicate the transposition for a transposed part created from that score. (Issue 279)
- The
<instrument-change> element represents a change to the virtual instrument sound for a given <score-instrument>. (Issue 293)
- The
<line-detail> element specifies the appearance of a line in the staff. (Issue 305)
- The
<listen> element specifies different ways that a score following or machine listening application can interact with a performer. It represents interactions that are specific to a note. (Issue 294)
- The
<listening> element specifies different ways that a score following or machine listening application can interact with a performer. It represents interactions that change the state of the listening application from the specified point in the performance onward. (Issue 294)
- The
<note> element may now contain multiple <instrument> elements. (Issue 277)
- The
<numeral> element represents the Roman numeral or Nashville number part of a harmony. It requires that the key be specified in the encoding. (Issue 295)
- The
<numeral-alter> element represents an alteration to the <numeral-root>. (Issue 295)
- The
<numeral-fifths> element specifies the reference key for the <numeral> in the same way as the <fifths> element. (Issue 295)
- The
<numeral-key> element is used when the key for the <numeral> is different than the key specified by the key signature. (Issue 295)
- The
<numeral-mode> element specifies the scale that is used to interpret the <numeral-root> element values. (Issue 295)
- The
<numeral-root> element represents the Roman numeral or Nashville number as a positive integer from 1 to 7. (Issue 295)
- The
<other-listen> element represents other types of listening control and interaction that are specific to a note. (Issue 294)
- The
<other-listening> element represents other types of listening control and interaction that change the state of the listening application from the specified point in the performance onward. (Issue 294)
- The
<part-clef> element is used for transpositions from concert scores that also include a change of clef, as for instruments such as bass clarinet. (Issue 55)
- The
<part-link> element allows MusicXML data for both score and parts to be contained within a single compressed MusicXML file. It links a <score-part> from a score document to MusicXML documents that contain parts data. (Issue 278)
- The
<part-transpose> element specifies the transposition for a transposed part created from the existing score file. (Issue 279)
- The
<player> element allows for multiple players per <score-part> for use in listening applications. (Issue 294)
- The
<second> element represents the second of two consecutive notes in a swing ratio. (Issue 283)
- The
<straight> element specifies that no swing is present, so consecutive notes have equal durations. (Issue 283)
- The
<swing> element specifies whether or not to use swing playback, where consecutive on-beat / off-beat eighth or 16th notes are played with unequal nominal durations. (Issue 283)
- The
<swing-style> element describes the style of swing used. (Issue 283)
- The
<swing-type> element specifies the note type, either eighth or 16th, to which the <first> to <second> ratio is applied. (Issue 283)
- The
<sync> element specifies the style that a score following application should use the synchronize an accompaniment with a performer. (Issue 294)
- The
<wait> element specifies a point where the accompaniment should wait for a performer event before continuing. (Issue 294)
New Attributes
New Values
- The smufl-accidental-glyph-name type used by the smufl attribute of the
<accidental>, <accidental-mark>, <accidental-text>, and <key-accidental> elements now allows SMuFL accidental glyphs from the Medieval and Renaissance accidentals and Kievan square notation ranges. (Issue 330)
- The part name value has been added to the list of standard
<credit-type> element values. (Issue 282)
- The inverted-bracket value has been added to the enclosure-shape type, used by the enclosure attribute. (Issue 308)
- Eight new sound IDs have been added to the sounds.xml file for use by the
<instrument-sound> element. They are wind.flutes.whistle.tin.c (Issue 289) and drum.tabor, drum.tamborim, pitched-percussion.handchimes, pluck.cavaquinho, wind.reed.clarinet.d, wind.reed.clarinet.g, and wind.reed.clarinet.piccolo. (Issue 363)
- Element content for the
<ipa> element has been updated to IPA 2015 symbols represented in Unicode 13.0. (Issue 345)
- The highest value for the number-level type, used by the number attribute, has been raised from 6 to 16. (Issue 297)
- The discontinue value has been added to the pedal-type type, used by the type attribute of the
<pedal> element. (Issue 302)
- The resume value has been added to the pedal-type type, used by the type attribute of the
<pedal> element. (Issue 335)
Removed and Deprecated Features
- The DTD versions of the MusicXML definitions have been deprecated in favor of the XSD versions. This includes the midixml DTD and XSL files, which will not be replaced with XSD versions. (Issue 401)
- Empty
<multiple-rest> elements are no longer allowed. This was a mistake in the original definition of the element. (Issue 249)
- The
<function> element is deprecated as of MusicXML 4.0. Use the <numeral> element instead. (Issue 295)
- The none value in the clef-sign type used by the
<sign> element is deprecated as of MusicXML 4.0. (Issue 304)
Documentation Changes