##Traitement d'une partition
Development of a Musical Recognition software in Matlab and C++ able to extract the musical data out of any kind of picture of a musical score. Signal and Image Processing techniques were widely used to isolate symbols, and Machine Learningand Statistics were used to differentiate between different symbol types.
Example on this score :
To achieve our goal we do the following steps :
- if there exists a bias we apply a rotation to the picture to make it perfectly horizontal (Done using a convolution product between two halfs of the picture )
- we get the lines of the musical score by summing all the lines of matrix the score
- we get the line thickness and the line spacing by using histograms
-
by using geometrical considerations we split the score into sub-score
-
we substract carrefully the lines to the score to avoid noise in our recognition
- we use growth algorithms with origin the queue of the note to put every note into box
- with template matching applied in every box we decide if said box is a quaver, a semiquaver etc.... and get the pitch : (C,D,E etc...)
Our algorithm is quite efficient on standard scores (like you have in the folder), to improve it we can give several ideas :
- use a neural network to get better accuracy, moreover template matching is very sensitive to the high variability of the symbols...
- continue to define new responsives templates to discover all "classical symbols".