moonlight
moonlight copied to clipboard
Voice detection
Voices are implicit in the score, when there are multiple runs of notes on a staff that overlap horizontally. Rests can also be implicit--a voice can start or end mid-measure, and the start time is determined by how the voices align horizontally. This is a pretty open-ended and challenging problem.
The voice logic should probably live under ScoreReader.