https://github.com/abdallahhemdan/orchestra
Orchestra is a sheet music reader (optical music recognition (OMR) system) that converts sheet music to a machine-readable version.
https://github.com/abdallahhemdan/orchestra
binarization cv2 detection hemdan image-processing machine-learning machine-readable noise-removal omr omr-sheet optical-character-recognition optical-music-recognition orchestra segmentation staff-line-removal
Last synced: 8 months ago
JSON representation
Orchestra is a sheet music reader (optical music recognition (OMR) system) that converts sheet music to a machine-readable version.
- Host: GitHub
- URL: https://github.com/abdallahhemdan/orchestra
- Owner: AbdallahHemdan
- License: mit
- Created: 2020-12-14T16:21:53.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-06-20T18:03:07.000Z (over 2 years ago)
- Last Synced: 2025-03-28T13:39:11.251Z (11 months ago)
- Topics: binarization, cv2, detection, hemdan, image-processing, machine-learning, machine-readable, noise-removal, omr, omr-sheet, optical-character-recognition, optical-music-recognition, orchestra, segmentation, staff-line-removal
- Language: Python
- Homepage:
- Size: 132 MB
- Stars: 115
- Watchers: 2
- Forks: 22
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
Orchestra
[](https://github.com/AbdallahHemdan/Orchestra/contributors)
[](https://github.com/AbdallahHemdan/Orchestra/issues)
[](https://github.com/AbdallahHemdan/Orchestra/network)
[](https://github.com/AbdallahHemdan/Orchestra/stargazers)
[](https://github.com/AbdallahHemdan/Orchestra/blob/master/LICENSE)
## About
> **Orchestra** is a sheet music reader (optical music recognition (**OMR**) system) that converts sheet music to a machine-readable version.

## How it works
> List of steps we take to process the input sheet and get our results
### 1. Noise Removal

### 2. Binarization

### 3. Staff line removal

### 4. Cutted buckets



### 5. Segmentation and detection



### 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 ]
2. 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.. ]
3. 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_**
```sh
$ git clone https://github.com/AbdallahHemdan/Orchestra.git
```
2. **_Navigate to repository directory_**
```sh
$ cd Orchestra
```
3. **_Install dependencies_**
```sh
$ pip install -r requirements.txt
```
### Running
1. **_Put you input files inside input folder_**
2. **_Put you output files inside output folder_**
3. **_Running_**
```sh
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](https://github.com/AbdallahHemdan/Orchestra/blob/master/CONTRIBUTING.md) for ways to contribute.
### Contributors

Abdallah Hemdan

Adel Mohamed

Kareem Mohamed^3

Ahmed Mahboub
### Licence
[MIT Licence](https://github.com/AbdallahHemdan/Orchestra/blob/master/LICENSE)