MusicXML is a standard open format for exchanging digital sheet music. It is designed for
sharing sheet music files between applications, and for archiving sheet music files for use in the future.
As of this publication date it is supported by over 200 applications.
Version 3.1 is the first version released by the W3C Music Notation Community Group.
Previous MusicXML versions were released by the Recordare and MakeMusic
companies.
MusicXML 3.1 does not have a specification document separate from its schema files.
The schema files for MusicXML 3.1 are available on the GitHub repository at
https://github.com/w3c/musicxml/releases/tag/v3.1.
2. Changes From MusicXML 3.0
2.1 Licensing Changes
MusicXML 3.1 is now licensed under the W3C Community Final Specification
Agreement rather than the MusicXML Public License 3.0. (Issue
114)
2.2 Packaging Changes
MusicXML 3.1 now recommends .musicxml rather than .xml as the file
extension for uncompressed MusicXML files. (Issue
191)
MusicXML 3.1 adds a new file called mimetype as the first file in the zip container of
a compressed MusicXML file. The file is uncompressed and has the string
application/vnd.recordare.musicxml as its content. (Issue
185)
MusicXML 3.1 files now have recommended Uniform Type Identifiers. (Issue
50)
2.3 Schema Additions
MusicXML 3.1 adds new features to MusicXML 3.0 score-partwise and score-timewise
documents. These changes are included in the musicxml.xsd and to30.xsl
files, as well as the following DTD module files.
2.3.1 Changes in attributes.mod
2.3.1.1 New Elements
The except-voice element is used to specify a combination of slash
notation and regular notation. (Issue
231)
2.3.1.2 New Attributes
The id attribute has been added to the clef, key, measure-style,
time, and transpose elements. (Issue
145)
The smufl attribute has been added to the key-accidental element.
(Issue 109)
2.3.1.3 New Values
New values double-sharp-down, double-sharp-up, flat-flat-down,
flat-flat-up, arrow-down, arrow-up, and other have been added to the
accidental-value type, used by the key-accidental element. (Issue
83)
2.3.2 Changes in barline.mod
2.3.2.1 New Attributes
The id attribute has been added to the barline element. (Issue
145)
The pf element represents a pf dynamic. (Issue
52)
The sfzp element represents an sfzp dynamic. (Issue
52)
2.3.3.2 New Attributes
The id attribute has been added to the coda, dynamics, fermata, and
segno elements. (Issue
145)
The smufl attribute has been added to the accidental-text
element. (Issue
109)
The smufl attribute has been added to the coda and segno elements.
(Issue 84)
The smufl attribute has been added to the other-dynamics
element. (Issue
107)
2.3.3.3 New Values
New values double-sharp-down, double-sharp-up, flat-flat-down,
flat-flat-up, arrow-down, arrow-up, and other have been added to the
accidental-value type, used by the accidental-text element. (Issue
83)
New values pentagon, hexagon, heptagon, octagon, nonagon, and
decagon have been added to the enclosure-shape type, used by the
enclosure attribute. (Issue
86)
New values double-angled, double-square, double-dot, half-curve, and
curlew have been added to the fermata-shape type, used by the fermata
element. (Issue
9)
The grace-cue value has been added to the symbol-size type, used by
the size attribute. (Issue
68)
The unmeasured value has been added to the tremolo-type type,
used by the type attribute of the
tremolo element. (Issue
99)
2.3.4 Changes in direction.mod
2.3.4.1 New Elements
The beat-unit-tied element represents tied notes in regular
metronome marks. (Issue
92)
The metronome-arrows element indicates the presence of metric
modulation arrows on both sides of the metronome mark. (Issue
93)
The metronome-tied element represents tied notes in metric
modulations and other metric relationships. (Issue
92)
The staff-divide element represents staff division arrow symbols.
(Issue 11)
The symbol element specifies a musical symbol using a canonical
SMuFL glyph name. It is used when an occasional musical symbol is
interspersed into text. (Issue
163)
2.3.4.2 New Attributes
The id attribute has been added to the direction, direction-type,
rehearsal, words, wedge, dashes, bracket, pedal, metronome,
octave-shift, harp-pedals, damp, damp-all, eyeglasses, string-mute,
scordatura, image, principal-voice, accordion-registration, percussion,
other-direction , harmony, frame, grouping, print, and sound elements.
(Issue 145)
The smufl attribute has been added to the glass element. (Issue
80)
The smufl attribute has been added to the other-direction
and other-percussion elements. (Issue
107)
The smufl attribute has been added to the pitched element. (Issue
82)
The height and width attributes have been added to the image
element. (Issue
3)
The abbreviated and number attributes have been added to the pedal
element. (Issue
102)
The parentheses and dashed-circle attributes have been added to the
stick element. (Issue
85)
2.3.4.3 New Values
The sostenuto value has been added to the pedal-type type, used by
the type attribute of the pedal element. (Issue
102)
New values drum stick and superball have been
added to the beater-value type, used by the beater element. (Issue
85)
The slide brush on gong value has been added to the
beater-value type, used by the beater element. (Issue
76)
New values lotus flute and megaphone have been added to the effect
type, used by the effect element. (Issue
73)
New values glass harmonica and glass harp have been added to the
glass-value type, used by the glass element. (Issue
81)
New values Chinese tomtom, cuica, Indo-American tomtom, Japanese
tomtom, and tabla have been added to the membrane type, used by the
membrane element. (Issue
75)
New values agogo, bell tree, cencerro, jingle bells, and shell bells have
been added to the metal type, used by the metal element. (Issue
78)
The chain rattle value has
been added to the metal type, used by the metal element. (Issue
74)
New values jaw harp and musical saw have
been added to the metal type, used by the metal element. (Issue
81)
The tam tam with beater value has
been added to the metal type, used by the metal element. (Issue
76)
New values celesta, lithophone, steel drums, and tubaphone have been
added to the pitched-value type, used by the pitched element. (Issue
82)
New values glockenspiel, gum, hammer, superball, and wound have been
added to the stick-type type, used by the stick-type element. (Issue
85)
New values bamboo scraper, castanets with handle, football rattle,
quijada, reco-reco, and whip have been added to the wood
type, used by the wood element. (Issue
77)
The rainstick value has been added to the wood type, used by
the wood element. (Issue
74)
2.3.5 Changes in layout.mod
2.3.5.1 New Elements
The glyph element represents what SMuFL glyph should be used for
different variations of symbols that are semantically identical. (Issue
64,
Issue 71,
Issue 72)
2.3.5.2 New Values
The grace-cue value has been added to the note-size-type type, used by
the type attribute. (Issue
68)
2.3.6 Changes in note.mod
2.3.6.1 New Elements
A single note element may now have both cue and grace child
elements. (Issue
68)
The arrowhead element represents arrowheads without an arrow stem.
(Issue 183)
The brass-bend element represents the u-shaped bend symbol used in
brass notation. (Issue
44)
The flip element represents the flip symbol used in brass notation.
(Issue 44)
The golpe element represents the golpe symbol that is used for
tapping the pick guard in guitar music. (Issue
100)
The half-muted element represents the half-muted symbol which looks
like a circle with a plus sign inside. (Issue
44)
The harmon-mute element represents the symbols used for harmon mutes
in brass notation. (Issue
44)
The haydn element represents the Haydn ornament, defined in SMuFL as
ornamentHaydn. (Issue
95)
The inverted-vertical-turn element represents the turn symbol shape
arranged vertically going from upper left to lower right. (Issue
95)
The open element represents the open symbol, which looks like a
circle. (Issue
44)
The smear element represents the tilde-shaped smear symbol used in
brass notation. (Issue
44)
The soft-accent element indicates a soft accent that is not as heavy
as a normal accent. It is often notated as <>. (Issue
131)
The figure element may now have the footnote and level elements as
optional child elements. (Issue
94)
2.3.6.2 New Attributes
The id attribute has been added to the note, beam, notations, tied,
slur, tuplet, glissando, slide, other-notation, ornaments,
accidental-mark, technical, articulations, arpeggiate, non-arpeggiate,
lyric, and figured-bass elements. (Issue
145)
The bracket, parentheses, and size attributes have been added to the
accidental-mark element. (Issue
218)
The line-length attribute has been added to the doit, falloff, plop,
and scoop elements. (Issue
44)
The time-only attribute has been added to the lyric element. (Issue
151)
The print-leger attribute has been added to the note element.
(Issue 184)
The hand attribute has been added to the tap element. (Issue
100)
The smufl attribute has been added to the accidental and
accidental-mark elements. (Issue
109)
The smufl attribute has been added to the arrow and stopped elements.
(Issue 79)
The smufl attribute has been added to the elision element. (Issue
101)
The smufl attribute has been added to the
other-articulation, other-notation, other-ornament, and
other-technical elements. (Issue
107)
The smufl attribute has been added to the tremolo element. (Issue
99)
2.3.6.3 New Values
New values double-sharp-down, double-sharp-up, flat-flat-down,
flat-flat-up, arrow-down, arrow-up, and other have been added to the
accidental-value type, used by the accidental and accidental-mark
elements. (Issue
83)
The let-ring value has been added to the type attribute of the tied
element. (Issue
142)
The circled value has been added to notehead-value type,
used by the notehead element. (Issue
91)
The other value has been added to notehead-value type,
used by the notehead element. (Issue
110)
The belltree value has been added to the handbell-value type, used
by the handbell element. (Issue
79)
The salzedo and upbow values have been added to the
breath-mark-value type, used by the breath-mark element. (Issue
9)
The caesura element uses the new caesura-value type with values of
normal, thick, short, curved, and single. An empty string value is
included for compatibility with MusicXML 3.0. (Issue
9)
The plus value has been added to the prefix element. (Issue
94)
New values back-slash, plus, and vertical have been added to
the suffix element. (Issue
94)
2.3.7 Changes in score.mod
2.3.7.1 New Elements
The credit-symbol element specifies a musical symbol using a
canonical SMuFL glyph name. It is used when an occasional musical symbol
is interspersed into text. (Issue
163)
2.3.7.2 New Attributes
The id attribute has been added to the credit, credit-image,
credit-words, and measure elements. (Issue
145)
The height and width attributes have been added to the credit-image
element. (Issue
3)
The text attribute has been added to the measure element. (Issue
69)
2.4 Removed and Deprecated Features
The font-family, font-size, font-style, and font-weight attributes
have been removed from the extend element in the note.mod and
musicxml.xsd files. The extend element contains no text, and these
attributes were added by mistake in MusicXML 1.1. (Issue
140)
The bezier-offset and bezier-offset2 attributes in the common.mod
and musicxml.xsd files are deprecated as of MusicXML 3.1. (Issue
26)
2.5 Documentation Changes
MusicXML 3.1 made the following changes to the XSD and DTD schema
documentation.
The DTD documentation for the actual-notes and normal-notes elements
has been corrected to fix a typo. (Issue
138)
The XSD and DTD documentation for the accordion-high, accordion-low,
and accordion-middle elements clarifies that the elements are omitted if
no dots are present. (Issue
134)
The XSD and DTD documentation for the attack and release attributes
and their interrelationship has been clarified. (Issue
58)
The XSD and DTD documentation for the bezier-x, bezier-y, bezier-x2,
bezier-y2, bezier-offset, and bezier-offset2 attributes and their
interrelationships has been clarified. (Issue
25, Issue 26)
The cancel complex type XSD documentation now describes the location
attribute correctly. (Issue
18)
The cue element XSD and DTD documentation clarifies that the cue
element indicates silent notes. (Issue
67)
The direction element XSD and DTD documentation clarifies the
relationship between direction and note elements. (Issue
170)
The falloff element XSD documentation has been corrected to indicate
the falloff comes after the note. (Issue
17)
The interchangeable complex type XSD documentation no longer refers
to a non-existent parentheses attribute. (Issue
12)
The key-octave element XSD and DTD documentation clarifies the
behavior of the cancel attribute. (Issue
126)
The multiple-rest complex type XSD documentation no longer refers to
a non-existent type attribute. (Issue
15)
The note-type complex type XSD documentation now refers to 1024th to
maxima instead of 256th to long. (Issue
16)
The number-level simple type XSD documentation now refers to an
optional rather than implied value. (Issue
19)
The string-number simple type and string element XSD and DTD
documentation clarifies how string numbers are ordered. (Issue
127)
The tied element XSD and DTD documentation clarifies how to
represent different types of single-ended tie symbols. (Issue
142)
The wavy-line XSD and DTD documentation now refers to barline rather
than measure elements. (Issue
13)