Open MisterFruits opened 8 years ago
Wow man. After having a quick look at these papers, they look quite complicated to me, but very interesting though. I'll try to take time to understand them.
About line detection, this is definitely something we want to do. Just the number of line will probably help us to determine the type of sheet we're analyzing : solfegio (5), guitar tab (6), bass tab(4), etc... And i suppose the 5th point of your process, "figure out the hight of each note regarding staff lines" also needed the line recognition work.
About music OCR, you probably already had a look through it, but here are 2 open source OCR oriented for music recognition:
Yop ! glad to see you here, i didn't expected it ^^
In this issue I where focusing mostly on solfegio (5) sheets because it seems to me that it will be the harder to exploit. But line detection will also be a good base for other types of sheets (i'll modify the overall process so it'll be clear). the fiveth point is indeed linking the type of note (in case of a solfegio, the OCR will have to read into semi breve/crotchet... and in case of a tab it will have to read into numbers) to its "highness" in term of line. Key concept here is to de-correlate "characters" (eg a note outside of its staff lines for solfegio, a number for tabs) from its "hightness" in term of lines.
By the way Hough transform seems to be quite efficient (try the examples/lines.pyeven
in the gh_13[...] branch) even if I did not take time to tune the algorithm parameters specific to a note sheet, so I hope even better results.
Concerning the two music OCRs (let's call that OMR), I knew about them (see #10 and comments, it might worth it to continue a discussion there)
Aims of this issue is to define the right process to extract meaningful datas from scanned notes.
Idea1
It describes a simple process to get the core out of the score.
Line detection
It might be useful to detect the 5 lines of the staff anyway. Here are some readings: