Readonly schema schema : { attributes : { attack : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; color : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "#000000" ; } ; } ; default-x : { label : "default-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; default-y : { label : "default-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; dynamics : { type : "optional" ; value : { max : number ; min : 0 ; type : "float" ; } ; } ; end-dynamics : { type : "optional" ; value : { max : number ; min : 0 ; type : "float" ; } ; } ; font-family : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : " " ; } ; } ; font-size : { type : "optional" ; value : { choices : readonly [ { choices : readonly [ "xx-small" , "x-small" , "small" , "medium" , "large" , "x-large" , "xx-large" ] ; type : "choices" ; } , { max : number ; min : number ; type : "float" ; } ] ; type : "choices" ; } ; } ; font-style : { type : "optional" ; value : { choices : readonly [ "normal" , "italic" ] ; type : "choices" ; } ; } ; font-weight : { type : "optional" ; value : { choices : readonly [ "normal" , "bold" ] ; type : "choices" ; } ; } ; id : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "_" ; } ; } ; pizzicato : { type : "optional" ; value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } ; } ; print-dot : { type : "optional" ; value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } ; } ; print-leger : { type : "optional" ; value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } ; } ; print-lyric : { type : "optional" ; value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } ; } ; print-object : { type : "optional" ; value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } ; } ; print-spacing : { type : "optional" ; value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } ; } ; relative-x : { label : "relative-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; relative-y : { label : "relative-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; release : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; time-only : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "1" ; } ; } ; } ; contents : readonly [ { label : "variation" ; type : "label" ; value : { choices : readonly [ { label : "tied-note" ; type : "label" ; value : readonly [ { type : "optional" ; value : typeof Chord ; } , { choices : readonly [ typeof Pitch , typeof Unpitched , typeof Rest ] ; type : "choices" ; } , { type : "required" ; value : typeof Duration ; } , { choices : readonly [ readonly [ ] , readonly [ typeof Tie ] , readonly [ typeof Tie , typeof Tie ] ] ; type : "choices" ; } ] ; } , { label : "cued-note" ; type : "label" ; value : readonly [ { type : "required" ; value : typeof Cue ; } , { type : "optional" ; value : typeof Chord ; } , { choices : readonly [ typeof Pitch , typeof Unpitched , typeof Rest ] ; type : "choices" ; } , { type : "required" ; value : typeof Duration ; } ] ; } , { label : "tied-grace-note" ; type : "label" ; value : readonly [ { type : "required" ; value : typeof Grace ; } , { type : "optional" ; value : typeof Chord ; } , { choices : readonly [ typeof Pitch , typeof Unpitched , typeof Rest ] ; type : "choices" ; } , { choices : readonly [ readonly [ ] , readonly [ typeof Tie ] , readonly [ typeof Tie , typeof Tie ] ] ; type : "choices" ; } ] ; } , { label : "cued-grace-note" ; type : "label" ; value : readonly [ { type : "required" ; value : typeof Grace ; } , { type : "required" ; value : typeof Cue ; } , { type : "optional" ; value : typeof Chord ; } , { choices : readonly [ typeof Pitch , typeof Unpitched , typeof Rest ] ; type : "choices" ; } , { type : "required" ; value : typeof Duration ; } ] ; } ] ; type : "choices" ; } ; } , { label : "instruments" ; type : "label" ; value : { type : "zeroOrMore" ; value : typeof Instrument ; } ; } , { type : "optional" ; value : typeof Footnote ; } , { type : "optional" ; value : typeof Level ; } , { type : "optional" ; value : typeof Voice ; } , { type : "optional" ; value : typeof Type ; } , { label : "dots" ; type : "label" ; value : { type : "zeroOrMore" ; value : typeof Dot ; } ; } , { type : "optional" ; value : typeof Accidental ; } , { type : "optional" ; value : typeof TimeModification ; } , { type : "optional" ; value : typeof Stem ; } , { type : "optional" ; value : typeof Notehead ; } , { type : "optional" ; value : typeof NoteheadText ; } , { type : "optional" ; value : typeof Staff ; } , { label : "beams" ; type : "label" ; value : { choices : readonly [ readonly [ ] , readonly [ typeof Beam ] , readonly [ typeof Beam , typeof Beam ] , readonly [ typeof Beam , typeof Beam , typeof Beam ] , readonly [ typeof Beam , typeof Beam , typeof Beam , typeof Beam ] , readonly [ typeof Beam , typeof Beam , typeof Beam , typeof Beam , typeof Beam ] , readonly [ typeof Beam , typeof Beam , typeof Beam , typeof Beam , typeof Beam , typeof Beam ] , readonly [ typeof Beam , typeof Beam , typeof Beam , typeof Beam , typeof Beam , typeof Beam , typeof Beam ] , readonly [ typeof Beam , typeof Beam , typeof Beam , typeof Beam , typeof Beam , typeof Beam , typeof Beam , typeof Beam ] ] ; type : "choices" ; } ; } , { label : "notations" ; type : "label" ; value : { type : "zeroOrMore" ; value : typeof Notations ; } ; } , { label : "lyrics" ; type : "label" ; value : { type : "zeroOrMore" ; value : typeof Lyric ; } ; } , { type : "optional" ; value : typeof Play ; } , { type : "optional" ; value : typeof Listen ; } ] ; name : "note" ; } = Note.schema Type declaration Readonly attributes : { attack : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; color : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "#000000" ; } ; } ; default-x : { label : "default-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; default-y : { label : "default-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; dynamics : { type : "optional" ; value : { max : number ; min : 0 ; type : "float" ; } ; } ; end-dynamics : { type : "optional" ; value : { max : number ; min : 0 ; type : "float" ; } ; } ; font-family : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : " " ; } ; } ; font-size : { type : "optional" ; value : { choices : readonly [ { choices : readonly [ "xx-small" , "x-small" , "small" , "medium" , "large" , "x-large" , "xx-large" ] ; type : "choices" ; } , { max : number ; min : number ; type : "float" ; } ] ; type : "choices" ; } ; } ; font-style : { type : "optional" ; value : { choices : readonly [ "normal" , "italic" ] ; type : "choices" ; } ; } ; font-weight : { type : "optional" ; value : { choices : readonly [ "normal" , "bold" ] ; type : "choices" ; } ; } ; id : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "_" ; } ; } ; pizzicato : { type : "optional" ; value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } ; } ; print-dot : { type : "optional" ; value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } ; } ; print-leger : { type : "optional" ; value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } ; } ; print-lyric : { type : "optional" ; value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } ; } ; print-object : { type : "optional" ; value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } ; } ; print-spacing : { type : "optional" ; value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } ; } ; relative-x : { label : "relative-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; relative-y : { label : "relative-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } ; release : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; time-only : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "1" ; } ; } ; } Readonly attack : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } Readonly type : "optional" Readonly value : { max : number ; min : number ; type : "float" ; } Readonly max : number Readonly min : number Readonly type : "float" Readonly color : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "#000000" ; } ; } Readonly type : "optional" Readonly value : { pattern : RegExp ; type : "regex" ; zero : "#000000" ; } Readonly pattern : RegExp Readonly type : "regex" Readonly zero : "#000000" Readonly default- x : { label : "default-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } Readonly label : "default-x" Readonly type : "label" Readonly value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } Readonly type : "optional" Readonly value : { max : number ; min : number ; type : "float" ; } Readonly max : number Readonly min : number Readonly type : "float" Readonly default- y : { label : "default-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } Readonly label : "default-y" Readonly type : "label" Readonly value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } Readonly type : "optional" Readonly value : { max : number ; min : number ; type : "float" ; } Readonly max : number Readonly min : number Readonly type : "float" Readonly dynamics : { type : "optional" ; value : { max : number ; min : 0 ; type : "float" ; } ; } Readonly type : "optional" Readonly value : { max : number ; min : 0 ; type : "float" ; } Readonly max : number Readonly min : 0 Readonly type : "float" Readonly end- dynamics : { type : "optional" ; value : { max : number ; min : 0 ; type : "float" ; } ; } Readonly type : "optional" Readonly value : { max : number ; min : 0 ; type : "float" ; } Readonly max : number Readonly min : 0 Readonly type : "float" Readonly font- family : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : " " ; } ; } Readonly type : "optional" Readonly value : { pattern : RegExp ; type : "regex" ; zero : " " ; } Readonly pattern : RegExp Readonly type : "regex" Readonly zero : " " Readonly font- size : { type : "optional" ; value : { choices : readonly [ { choices : readonly [ "xx-small" , "x-small" , "small" , "medium" , "large" , "x-large" , "xx-large" ] ; type : "choices" ; } , { max : number ; min : number ; type : "float" ; } ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ { choices : readonly [ "xx-small" , "x-small" , "small" , "medium" , "large" , "x-large" , "xx-large" ] ; type : "choices" ; } , { max : number ; min : number ; type : "float" ; } ] ; type : "choices" ; } Readonly choices : readonly [ { choices : readonly [ "xx-small" , "x-small" , "small" , "medium" , "large" , "x-large" , "xx-large" ] ; type : "choices" ; } , { max : number ; min : number ; type : "float" ; } ] Readonly type : "choices" Readonly font- style : { type : "optional" ; value : { choices : readonly [ "normal" , "italic" ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ "normal" , "italic" ] ; type : "choices" ; } Readonly choices : readonly [ "normal" , "italic" ] Readonly type : "choices" Readonly font- weight : { type : "optional" ; value : { choices : readonly [ "normal" , "bold" ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ "normal" , "bold" ] ; type : "choices" ; } Readonly choices : readonly [ "normal" , "bold" ] Readonly type : "choices" Readonly id : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "_" ; } ; } Readonly type : "optional" Readonly value : { pattern : RegExp ; type : "regex" ; zero : "_" ; } Readonly pattern : RegExp Readonly type : "regex" Readonly zero : "_" Readonly pizzicato : { type : "optional" ; value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } Readonly choices : readonly [ "yes" , "no" ] Readonly type : "choices" Readonly print- dot : { type : "optional" ; value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } Readonly choices : readonly [ "yes" , "no" ] Readonly type : "choices" Readonly print- leger : { type : "optional" ; value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } Readonly choices : readonly [ "yes" , "no" ] Readonly type : "choices" Readonly print- lyric : { type : "optional" ; value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } Readonly choices : readonly [ "yes" , "no" ] Readonly type : "choices" Readonly print- object : { type : "optional" ; value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } Readonly choices : readonly [ "yes" , "no" ] Readonly type : "choices" Readonly print- spacing : { type : "optional" ; value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } ; } Readonly type : "optional" Readonly value : { choices : readonly [ "yes" , "no" ] ; type : "choices" ; } Readonly choices : readonly [ "yes" , "no" ] Readonly type : "choices" Readonly relative- x : { label : "relative-x" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } Readonly label : "relative-x" Readonly type : "label" Readonly value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } Readonly type : "optional" Readonly value : { max : number ; min : number ; type : "float" ; } Readonly max : number Readonly min : number Readonly type : "float" Readonly relative- y : { label : "relative-y" ; type : "label" ; value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } ; } Readonly label : "relative-y" Readonly type : "label" Readonly value : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } Readonly type : "optional" Readonly value : { max : number ; min : number ; type : "float" ; } Readonly max : number Readonly min : number Readonly type : "float" Readonly release : { type : "optional" ; value : { max : number ; min : number ; type : "float" ; } ; } Readonly type : "optional" Readonly value : { max : number ; min : number ; type : "float" ; } Readonly max : number Readonly min : number Readonly type : "float" Readonly time- only : { type : "optional" ; value : { pattern : RegExp ; type : "regex" ; zero : "1" ; } ; } Readonly type : "optional" Readonly value : { pattern : RegExp ; type : "regex" ; zero : "1" ; } Readonly pattern : RegExp Readonly type : "regex" Readonly zero : "1" Readonly contents : readonly [ { label : "variation" ; type : "label" ; value : { choices : readonly [ { label : "tied-note" ; type : "label" ; value : readonly [ { type : "optional" ; value : typeof Chord ; } , { choices : readonly [ typeof Pitch , typeof Unpitched , typeof Rest ] ; type : "choices" ; } , { type : "required" ; value : typeof Duration ; } , { choices : readonly [ readonly [ ] , readonly [ typeof Tie ] , readonly [ typeof Tie , typeof Tie ] ] ; type : "choices" ; } ] ; } , { label : "cued-note" ; type : "label" ; value : readonly [ { type : "required" ; value : typeof Cue ; } , { type : "optional" ; value : typeof Chord ; } , { choices : readonly [ typeof Pitch , typeof Unpitched , typeof Rest ] ; type : "choices" ; } , { type : "required" ; value : typeof Duration ; } ] ; } , { label : "tied-grace-note" ; type : "label" ; value : readonly [ { type : "required" ; value : typeof Grace ; } , { type : "optional" ; value : typeof Chord ; } , { choices : readonly [ typeof Pitch , typeof Unpitched , typeof Rest ] ; type : "choices" ; } , { choices : readonly [ readonly [ ] , readonly [ typeof Tie ] , readonly [ typeof Tie , typeof Tie ] ] ; type : "choices" ; } ] ; } , { label : "cued-grace-note" ; type : "label" ; value : readonly [ { type : "required" ; value : typeof Grace ; } , { type : "required" ; value : typeof Cue ; } , { type : "optional" ; value : typeof Chord ; } , { choices : readonly [ typeof Pitch , typeof Unpitched , typeof Rest ] ; type : "choices" ; } , { type : "required" ; value : typeof Duration ; } ] ; } ] ; type : "choices" ; } ; } , { label : "instruments" ; type : "label" ; value : { type : "zeroOrMore" ; value : typeof Instrument ; } ; } , { type : "optional" ; value : typeof Footnote ; } , { type : "optional" ; value : typeof Level ; } , { type : "optional" ; value : typeof Voice ; } , { type : "optional" ; value : typeof Type ; } , { label : "dots" ; type : "label" ; value : { type : "zeroOrMore" ; value : typeof Dot ; } ; } , { type : "optional" ; value : typeof Accidental ; } , { type : "optional" ; value : typeof TimeModification ; } , { type : "optional" ; value : typeof Stem ; } , { type : "optional" ; value : typeof Notehead ; } , { type : "optional" ; value : typeof NoteheadText ; } , { type : "optional" ; value : typeof Staff ; } , { label : "beams" ; type : "label" ; value : { choices : readonly [ readonly [ ] , readonly [ typeof Beam ] , readonly [ typeof Beam , typeof Beam ] , readonly [ typeof Beam , typeof Beam , typeof Beam ] , readonly [ typeof Beam , typeof Beam , typeof Beam , typeof Beam ] , readonly [ typeof Beam , typeof Beam , typeof Beam , typeof Beam , typeof Beam ] , readonly [ typeof Beam , typeof Beam , typeof Beam , typeof Beam , typeof Beam , typeof Beam ] , readonly [ typeof Beam , typeof Beam , typeof Beam , typeof Beam , typeof Beam , typeof Beam , typeof Beam ] , readonly [ typeof Beam , typeof Beam , typeof Beam , typeof Beam , typeof Beam , typeof Beam , typeof Beam , typeof Beam ] ] ; type : "choices" ; } ; } , { label : "notations" ; type : "label" ; value : { type : "zeroOrMore" ; value : typeof Notations ; } ; } , { label : "lyrics" ; type : "label" ; value : { type : "zeroOrMore" ; value : typeof Lyric ; } ; } , { type : "optional" ; value : typeof Play ; } , { type : "optional" ; value : typeof Listen ; } ] Readonly name : "note"
The
<note>elementParent elements:
<measure>(partwise),<part>(timewise)Notes are the most common type of MusicXML data. The MusicXML format distinguishes between elements used for sound information and elements used for notation information (e.g.,
<tie>is used for sound,<tied>for notation). Thus grace notes do not have a<duration>element. Cue notes have a<duration>element, as do<forward>elements, but no<tie>elements. Having these two types of information available can make interchange easier, as some programs handle one type of information more readily than the other.https://www.w3.org/2021/06/musicxml40/musicxml-reference/elements/note/