# MusicXML

## Version 3.1

## Final Community Group Report 07 December 2017

Latest editor's draft:
  https://w3c.github.io/musicxml/
Editor:
  Michael Good, MakeMusic
Participate:
  GitHub w3c/musicxml
  File a bug
  Commit history

Copyright © 2004-2017 the Contributors to the MusicXML Specification, published by the Music Notation Community Group under the W3C Community Final Specification Agreement (FSA). A human-readable summary is available.

## Abstract

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.

## Status of This Document

This specification was published by the Music Notation Community Group. It is not a W3C Standard nor is it on the W3C Standards Track. Please note that under the W3C Community Final Specification Agreement (FSA) other conditions apply. Learn more about W3C Community and Business Groups.

If you wish to make comments regarding this document, please send them to public-music-notation-contrib@w3.org (subscribe, archives).

## 1. MusicXML Schema Files

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)

#### 2.3.3 Changes in common.mod

##### 2.3.3.1 New Elements

- The n element represents an n dynamic. (Issue 52)
- 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 notehead element. (Issue 88, Issue 89, Issue 110)
- 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)

The history of all the changes from MusicXML 3.0 to MusicXML 3.1 can be found in the GitHub issue list for the v3.1 milestone.