Audiveris / audiveris

Latest generation of Audiveris OMR engine
https://audiveris.github.io/audiveris
GNU Affero General Public License v3.0
1.52k stars 227 forks source link

How to implement OMR #291

Closed AaronLee150102 closed 5 years ago

AaronLee150102 commented 5 years ago

where can I find your model to implement OMR,I want to recogize a png and translate the message to musicxml by python directly.what should I do to find the model or api.

maximumspatium commented 5 years ago

I want to recogize a png and translate the message to musicxml by python directly.

Do you mean invoking Audiveris from a python script? This is quite easy by using the command line interface as described here...

AaronLee150102 commented 5 years ago

I mean I want to use python to write this model,not meaning only a script.

maximumspatium commented 5 years ago

I mean I want to use python to write this model

Sorry, I still don't get it. Can you elaborate what model you're trying to write/implement?

AaronLee150102 commented 5 years ago

I want to write a project to implement OMR by python to turn a png into a musicxml,I am not good at it,so I am looking for some present model or api to use,I find this project is viable,so I want to learn the model which is for segmentation.detection and classification of music chatacter

maximumspatium commented 5 years ago

I want to learn the model which is for segmentation.detection and classification of music chatacter

Optical Music Recognition is a challenging field of document recognition. Creating such a system from scratch is very ambitious and extremely time-consuming. The question is why do you want to do that? Aren't the existing systems good enough? Are you missing some specific functionality? It would be better to spend time improving/extending existing open source systems than writing a new one. Nevertheless, Audiveris project is 21 years old now. Just think over how many work has been already invested in it! If you're curious about algorithms used in OMR in general, I'd recommend to take some courses on image processing (especially image acquisition, preprocessing, binarization), pattern matching (mathematical morphology, template matching) and pattern recognition (bayesian classifiers, support vector machines and neural networks). These techniques are widely used in OCR/OMR systems. This way you'll obtain the required background for understanding of what's going on in existing systems...

AaronLee150102 commented 5 years ago

Thank you for your advice, which gave me great inspiration and let me know how to learn OMR. Thank you very much for your patient answer