A Convolutional Neural Network trained 100% on original data to locate and identify note sequences from sheet music images into a computer readable format.
Model Pipeline:
Labelling Software:
- Store your raw data (sheet music images) in 'music_score/raw_images/', renaming image files is not needed.
- Run
cd label_software/
, thennpm install
, thennode app.js
in the terminal to start backend services. - Open index.html with "live server" or equivalent, to see the following UI
Our label contains information about the durations and pitches of all notes in each chord present in the sheet music, as well as a vertical boundary coordinate for each chord. You can label the former by filling in the input fields, and the latter by clicking on the image to create the vertical boundary (as shown).
- Run
pip install -r requirements.txt
- Run
python train_model.py
to train a new model. - To evalute trained models, run
python train_model.py --evaluate_saved
instead.