dorkhub

Mozart

An optical music recognition (OMR) system. Converts sheet music to a machine-readable version.

aashrafh
Jupyter Notebook708105 forksApache-2.0updated 3 years ago
git clone https://github.com/aashrafh/Mozart.gitaashrafh/Mozart

Mozart logo

🎶 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

💻 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

more like this

musicboy

A high-quality audio playback cartridge for Nintendo® Game Boy® and Game Boy Color®.

C50

LedBoxV2

LedBox V2 / V2.1 is a fully contained, sound reactive, ESP32 based module for controlling 5-12V addressable LED strips…

code53

search

search projects, people, and tags