Coder Social home page Coder Social logo

pierrecolombo / musical-score-recognition Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 29.17 MB

C++ 27.21% C 43.73% MATLAB 0.18% Assembly 0.10% CMake 0.93% Shell 3.53% Fortran 7.75% Python 0.04% JavaScript 0.04% CSS 0.02% Makefile 8.91% Perl 0.28% M4 0.24% HTML 4.19% TeX 1.55% OCaml 1.22% Standard ML 0.01% Roff 0.08%

musical-score-recognition's Introduction

Personnal-Projects

##Traitement d'une partition

Introduction

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.

Our Strategy

Example on this score : imagedebase To achieve our goal we do the following steps :

Pre-processing the score

  • 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

detection des lignes

  • we get the line thickness and the line spacing by using histograms

Spliting the score into sub-score

  • by using geometrical considerations we split the score into sub-score sousimage1 sousimage2 sousimage3

  • we substract carrefully the lines to the score to avoid noise in our recognition

sousimage1 sans porte

Isolating into box every single symbol

  • we use growth algorithms with origin the queue of the note to put every note into box

resultat

Getting the note value & the rythm

  • 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...)

Conclusion : Results

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".

musical-score-recognition's People

Contributors

pierrecolombo avatar

Watchers

 avatar

musical-score-recognition's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.