Module containing classes that deal with music notation. These classes represent the music hierarchically; in order from largest to smallest: Score, StaffGroup, Staff, Voice, Measure, Voice, Tuplet, and NoteLike. One important role of the classes in this module is to provide export functionality to both MusicXML and LilyPond.


Measure(voices, time_signature, …)

Representation of a single measure within in a Staff

NoteLike(pitch, float, Tuple]], …)

Represents a note, chord, or rest that can be notated without ties

Score(parts, StaffGroup]] = None, title, …)

Representation of a score in traditional western notation.


Abstract class from which all of the user-facing classes in this module inherit.

ScoreContainer(contents, …[, …])

Abstract class representing a ScoreComponent that contains other components.

Staff(measures, name)

Representation of a single staff of a western-notated score

StaffGroup(staves, name, clef_choices, …)

Representation of a StaffGroup (used for the multiple staves of a single instrument)

Tuplet(tuplet_divisions, normal_divisions, …)

Representation of a Tuplet object within a single voice of music.

Voice(contents, NoteLike]], time_signature)

Representation of a single voice within a single measure of a single staff of music.