Daniel Ringwalt
Daniel Ringwalt
We have the stem coordinates for each notehead. We should determine whether it's an "up" or "down" stem based on whether more of the stem is above or below the...
We currently [detect the key signature](../tree/master/moonlight/score/state/measure.py) and use it to determine the note pitches, but then throw it out. It needs to be stored in the `Score` proto (IR), so...
Currently, we detect notes with the same stem as a chord. We read the notes from left to right, and the duration of the chord is determined by the first...
We will need to integrate with an OCR library, first for numerals (tuplets and general time signatures), and eventually for lyrics and other text (much lower priority).
OMR evaluation is an open-ended and challenging problem. We should share some general-purpose evaluation for ease of comparison between OMR systems, e.g. by contributing to https://github.com/ufal/omreval
We have a primitive [random measure generator using VexFlow](https://github.com/tensorflow/moonlight/blob/master/moonlight/training/generation/vexflow_generator.js). This should be improved to generate realistic music according to some prior distribution. We also need realistic noise; as a starting...
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,...