README.md

August 23, 2022 ยท View on GitHub

Mozart logo

:notes: Convert sheet music to a machine-readable version.


๐Ÿ“ Table of Contents

๐Ÿง About

The aim of this project is to develop a sheet music reader. This is called Optical Music Recognition (OMR). Its objective is to convert sheet music to a machine-readable version. We take a simplified version where we convert an image of sheet music to a textual representation that can be further processed to produce midi files or audio files like wav or mp3.

About

:computer: Methodology

1. Noise Filtering and Binarization

Binary Image

2. Segmentation

Segment 1

Segment 2

Segment 3

3. Staff Line Detection and Removal

No Staff Image 1

No Staff Image 2

No Staff Image 3

4. Construct The New Staff Lines

New Staff Image 1

New Staff Image 2

New Staff Image 3

5. Symbol Detection and Recognition

Result 1

Result 2

Result 3

๐Ÿ Install

  1. You can use the attached notebook for quick testing and visualization.
  2. You can setup an environment on your local machine to run the project:
    1. Install Conda
    2. conda env create -f requirements.yml
    3. conda activate mozart
    4. python3 main.py <input directory path> <output directory path>

You can find the dataset on Google Drive.

Please check the following issue for another requirements.yml file.

โ›๏ธ Built Using