A system is presented for optical recognition of music scores. The system processes a document page in three
main phases. First it performs a hierarchical decomposition of the page, identifying systems, staves and measures.
The second phase, which forms the heart of the system, interprets each measure found in the previous phase as a
collection of non-overlapping symbols including both primitive symbols (clefs, rests, etc.) with fixed templates,
and composite symbols (chords, beamed groups, etc.) constructed through grammatical composition of primitives
(note heads, ledger lines, beams, etc.). This phase proceeds by first building separate top-down recognizers for
the symbols of interest. Then, it resolves the inevitable overlap between the recognized symbols by exploring the
possible assignment of overlapping regions, seeking globally optimal and grammatically consistent explanations.
The third phase interprets the recognized symbols in terms of pitch and rhythm, focusing on the main challenge
of rhythm. We present results that compare our system to the leading commercial OMR system using MIDI
ground truth for piano music.