Andy ZengOMR

I wanted to try my hand at Optical Music Recognition! Check out some of the results!

Abstract

Quoted from my report found below:
Optical Music Recognition (OMR), or alternatively sometimes referred to as Music Optical Character Recognition, is a system for music score recognition. Given a music sheet, usually in the form of an image, the goal of an OMR system is to use various vision algorithms to interpret the corresponding music symbols into digital form, typically playable in the form of a MIDI file. For this project, our objective is to try our hand at designing an OMR system for digital sheet music. Following pre-processing and conventional methods for staff line removal, we propose an observation based approach to musical object location, symbol identification, and melody generation. Our results show that our OMR pipeline works quite nicely for many simple high quality music sheets.

Results

Here are some song samples that my OMR script was able to generate given the music sheets. The MIDI files here have been applied with a TruePiano soundfont and converted to MP3 files (for display purposes). Original MIDI files generated by the code can be found in the Github repository.


Gabriel (Page 1)
Gabriel (Page 2)
Gabriel (Page 3)
River Flows In You (Page 1)
River Flows In You (Page 2)
River Flows In You (Page 3)
Butterfly Waltz (Page 1)
Butterfly Waltz (Page 2)
Butterfly Waltz (Page 3)
Butterfly Waltz (Page 4)

The Report

The project report can be found here.

Code can be found here here. Warning: it is a little bit messy in there.