I was looking for an approach to recognise musical notes from photos.

I found this repository https://github.com/mpralat/notesRecognizer. However, it doesn't seem good enough. If you look into the bad folder, you can see that just tiny variations of lightning can already cause problems. One should be able to read musical notes with lower quality images.

I found other projects. However, they all use high resolution images.

Now, this is unsatisfying. If you want to snap a photo of some tunes, and want them to be recognized.

So, what could one do to achieve a good solution?

I was thinking about treating the musical notes just like written letters. The computer can easily learn written characters with the Arabic symbols.

I wonder, though, how easy would it be for a non-Arabic? For example, in Chinese or Japanese, several characters combine into one.

The same applies to musical notes, they can be connected and form something slightly different through that. For example,

enter image description here


enter image description here

in contrast to just simple notes like:

enter image description here

What would be a good approach to recognize musical notes even for slightly low-resolution images or bit blurry deformed images?

I'm not saying to read out a symphony out of a thumbnail. But less than optimal captures.

  • $\begingroup$ Its possible if you can cut the images to chunks of musical notes. as they are evenly spaced and within 5 lines boundary. problem to tackle here is detecting rotation. would be first step to doing so. and pass through identifier to guess what note is it will be a better way of going forward. $\endgroup$
    – Devidas
    Mar 25, 2019 at 8:26

2 Answers 2


any subjective ideas or comments are more than welcome

Not a complete answer, but some ideas:

Your goal is subdivided into many tasks. It's not exactly the same as OCR because you also need to find the vertical alignment for each note.

One should be able to read musical notes with lower quality images.

If you want your model to perform on low quality image, you'll need such database.

But instead of labeling and taking pictures of printed sheets, you could just generate the images and virtually apply all sorts of distortion on them.


refer to MNIST on kagle to train model to recognize given set of notes in your case.

your example

if you start training model will understand pattern depending on bits in your image.

issue comes with blurry images when last 2 sets of pics with minute change. will be difficult task for computer to distinguish.

there is one sure shot method which works almost every time but is resource intensive and needs plethora of data to train. is DNN.

this is my take on your question.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .