MusicXML is an industry standard for computer files describing sheet music. As such, it provides a portal by which scores can be imported into notation programs such as Finale. The MusicXML specification is published at The specification actually defines two formats:

Partwise Format

At present only the partwise format is supported by my own frameworks, since up to this point all my Music XML development has been done in reference to Finale, and the partwise format is the one Finale generates.

Partwise note descriptions must be rich enough to accommodate some fairly complex structures in between the measure-in-part and the note itself. Consider a piano part with one stave each for the right hand and left hand. The right (or left) hand might potentially play multiple lines, with upward stems showing the rhythm of the upper line and downward steps showing the rhythm of the lower line. The left hand might potentially stray from the lower staff into the upper staff. Add to these the fact that a single line might at any time present a single note or a chord.

MusicXML deals with such complexities by including among note attributes a duration, a pitch-or-rest indicator, a staff ID, a voice ID, and a chord indicator. All note timings are relative. The first note is placed at the beginning of the measure on the indicated staff. If the second note has a chord indicator, it begins when the first notes begins; otherwise the second note begins when the first note ends. So things proceed to the end of the measure. If the need arises to layer a new line over what has already been described, a backup element is inserted to push back time. The new layer will typically have a new voice ID.

© Charles Ames Page created: 2013-09-01 Last updated: 2015-04-14