Skip to content

Orchestra is a sheet music reader (optical music recognition (OMR) system) that converts sheet music to a machine-readable version.

License

Notifications You must be signed in to change notification settings

AbdallahHemdan/Orchestra

Repository files navigation

Orchestra

GitHub contributors GitHub issues GitHub forks GitHub stars GitHub license

About

Orchestra is a sheet music reader (optical music recognition (OMR) system) that converts sheet music to a machine-readable version.

image

How it works

List of steps we take to process the input sheet and get our results

1. Noise Removal

1  noise_removed

2. Binarization

2  binarized

3. Staff line removal

3  cleaned

4. Cutted buckets


4  cutted-1



4  cutted-2



4  cutted-3



5. Segmentation and detection

colored_0_1


colored_0_2


colored_0_3

6. Recognition

  1. Cutted 1

[ \meter<"4/4"> d1/4 e1/32 e2/2 e1/8 e1/16 e1/32 {e1/4,g1/4} e1/4 e1/8 c1/8 g1/32 c1/16 e1/32 ]

  1. Cutted 2

[ \meter<"4/4"> {e1/4,g1/4,b1/4} a1/8 d1/8 c1/16 g1/16 d1/16 e1/16 c2/16 g2/16 d2/16 e2/16 {f1/4,g1/4,b1/4} c1/4 a1/4. a1/8 a1/32.. ]

  1. Cutted 3

[ \meter<"4/4"> e1/16 e1/16 e1/16 e1/16 e1/4 e#1/4 g1/4 g&&1/4 g1/4 e#2/4 ]

Installation

  1. Clone the repository
$ git clone https://github.com/AbdallahHemdan/Orchestra.git
  1. Navigate to repository directory
$ cd Orchestra
  1. Install dependencies
$ pip install -r requirements.txt

Running

  1. Put you input files inside input folder

  2. Put you output files inside output folder

  3. Running

python main.py $path_of_input_folder $path_of_output_folder

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

Check out our contributing guidelines for ways to contribute.

Contributors


Abdallah Hemdan


Adel Mohamed


Kareem Mohamed^3


Ahmed Mahboub

Licence

MIT Licence