{"id":15643308,"url":"https://github.com/abdallahhemdan/orchestra","last_synced_at":"2025-07-09T13:11:19.092Z","repository":{"id":53762266,"uuid":"321405437","full_name":"AbdallahHemdan/Orchestra","owner":"AbdallahHemdan","description":"Orchestra is a sheet music reader (optical music recognition (OMR) system) that converts sheet music to a machine-readable version.","archived":false,"fork":false,"pushed_at":"2023-06-20T18:03:07.000Z","size":138936,"stargazers_count":115,"open_issues_count":2,"forks_count":22,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-28T13:39:11.251Z","etag":null,"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"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AbdallahHemdan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-14T16:21:53.000Z","updated_at":"2025-03-12T02:47:40.000Z","dependencies_parsed_at":"2024-10-23T01:13:58.941Z","dependency_job_id":null,"html_url":"https://github.com/AbdallahHemdan/Orchestra","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbdallahHemdan%2FOrchestra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbdallahHemdan%2FOrchestra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbdallahHemdan%2FOrchestra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AbdallahHemdan%2FOrchestra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AbdallahHemdan","download_url":"https://codeload.github.com/AbdallahHemdan/Orchestra/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248991511,"owners_count":21194893,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["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"],"created_at":"2024-10-03T12:00:04.282Z","updated_at":"2025-04-15T01:42:03.297Z","avatar_url":"https://github.com/AbdallahHemdan.png","language":"Python","readme":"\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://github.com/AbdallahHemdan/Orchestra\" rel=\"noopener\"\u003e\n  \n  ![Component 16](https://user-images.githubusercontent.com/40190772/104846822-22d3e800-58e5-11eb-9c6c-b7de610bd483.png)\n\n\n\u003c/div\u003e\n\n\u003ch3 align=\"center\"\u003eOrchestra\u003c/h3\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \n  [![GitHub contributors](https://img.shields.io/github/contributors/AbdallahHemdan/Orchestra)](https://github.com/AbdallahHemdan/Orchestra/contributors)\n  [![GitHub issues](https://img.shields.io/github/issues/AbdallahHemdan/Orchestra)](https://github.com/AbdallahHemdan/Orchestra/issues)\n  [![GitHub forks](https://img.shields.io/github/forks/AbdallahHemdan/Orchestra)](https://github.com/AbdallahHemdan/Orchestra/network)\n  [![GitHub stars](https://img.shields.io/github/stars/AbdallahHemdan/Orchestra)](https://github.com/AbdallahHemdan/Orchestra/stargazers)\n  [![GitHub license](https://img.shields.io/github/license/AbdallahHemdan/Orchestra)](https://github.com/AbdallahHemdan/Orchestra/blob/master/LICENSE)\n  \u003cimg src=\"https://img.shields.io/github/languages/count/AbdallahHemdan/Orchestra\" /\u003e\n  \u003cimg src=\"https://img.shields.io/github/languages/top/AbdallahHemdan/Orchestra\" /\u003e\n  \u003cimg src=\"https://img.shields.io/github/languages/code-size/AbdallahHemdan/Orchestra\" /\u003e\n  \u003cimg src=\"https://img.shields.io/github/issues-pr-raw/AbdallahHemdan/Orchestra\" /\u003e\n\n\u003c/div\u003e\n\n## About\n\u003e **Orchestra** is a sheet music reader (optical music recognition (**OMR**) system) that converts sheet music to a machine-readable version.\n\n\u003cdiv align=\"center\"\u003e\n\n![image](https://user-images.githubusercontent.com/40190772/104846946-e81e7f80-58e5-11eb-8652-e54b86b46fe1.png)\n\n\u003c/div\u003e\n\n## How it works\n\u003e List of steps we take to process the input sheet and get our results\n\n\n### 1. Noise Removal\n\n\u003cdiv align=\"center\"\u003e\n\n![1  noise_removed](https://user-images.githubusercontent.com/40190772/104847172-397b3e80-58e7-11eb-821f-33a83ee60416.png)\n\n\u003c/div\u003e\n\n\n### 2. Binarization\n\n\u003cdiv align=\"center\"\u003e\n\n![2  binarized](https://user-images.githubusercontent.com/40190772/104847174-3aac6b80-58e7-11eb-8c85-eb9747a7c786.png)\n\n\u003c/div\u003e\n\n\n### 3. Staff line removal\n\n\u003cdiv align=\"center\"\u003e\n\n![3  cleaned](https://user-images.githubusercontent.com/40190772/104847175-3b450200-58e7-11eb-8f47-1485b142e434.png)\n\n\u003c/div\u003e\n\n### 4. Cutted buckets\n\n\u003cdiv align=\"center\"\u003e\n\n\u003chr /\u003e\n\n![4  cutted-1](https://user-images.githubusercontent.com/40190772/104847181-3f711f80-58e7-11eb-83b4-435373642c8d.png)\n\n\u003cbr /\u003e\u003chr /\u003e\n![4  cutted-2](https://user-images.githubusercontent.com/40190772/104847179-3ed88900-58e7-11eb-8fbe-25a484c63092.png)\n\n\u003cbr /\u003e\u003chr /\u003e\n\n![4  cutted-3](https://user-images.githubusercontent.com/40190772/104847180-3ed88900-58e7-11eb-959f-817388bade77.png)\n\n\u003cbr /\u003e\u003chr /\u003e\n\u003c/div\u003e\n\n### 5. Segmentation and detection\n\n\u003cdiv align=\"center\"\u003e\n  \n![colored_0_1](https://user-images.githubusercontent.com/40190772/104849087-97f8ea80-58f0-11eb-9b4d-49172eb9d9a5.png)\n\n\u003cbr /\u003e\n\n![colored_0_2](https://user-images.githubusercontent.com/40190772/104849089-992a1780-58f0-11eb-9fb6-0c0cc6e6dac0.png)\n\n\u003cbr /\u003e\n\n![colored_0_3](https://user-images.githubusercontent.com/40190772/104849090-99c2ae00-58f0-11eb-9876-4eea7f322e83.png)\n\n  \n\u003c/div\u003e\n\n### 6. Recognition\n\n1. Cutted 1\n\u003e [ \\meter\u003c\"4/4\"\u003e 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 ]\n\n2. Cutted 2\n\u003e [ \\meter\u003c\"4/4\"\u003e {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.. ]\n\n3. Cutted 3\n\u003e [ \\meter\u003c\"4/4\"\u003e e1/16 e1/16 e1/16 e1/16 e1/4 e#1/4 g1/4 g\u0026\u00261/4 g1/4 e#2/4 ]\n\n\n### Installation\n\n1. **_Clone the repository_**\n\n```sh\n$ git clone https://github.com/AbdallahHemdan/Orchestra.git\n```\n2. **_Navigate to repository directory_**\n```sh\n$ cd Orchestra\n```\n3. **_Install dependencies_**\n```sh\n$ pip install -r requirements.txt\n```\n\n### Running\n\n1. **_Put you input files inside input folder_**\n2. **_Put you output files inside output folder_**\n\n3. **_Running_**\n```sh\npython main.py $path_of_input_folder $path_of_output_folder\n```\n\n## Contributing\n\n\u003e 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**.\n\nCheck out our [contributing guidelines](https://github.com/AbdallahHemdan/Orchestra/blob/master/CONTRIBUTING.md) for ways to contribute.\n\n### Contributors\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/AbdallahHemdan\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/40190772?s=460\u0026v=4\" width=\"150px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAbdallah Hemdan\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003c/td\u003e\n     \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/AdelRizq\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/40351413?s=460\u0026v=4\" width=\"150px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAdel Mohamed\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003c/td\u003e\n     \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/kareem3m\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/45700579?s=400\u0026v=4\" width=\"150px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eKareem Mohamed^3\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003c/td\u003e\n     \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/Mahboub99\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/43186742?s=460\u0026v=4\" width=\"150px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAhmed Mahboub\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n \u003c/table\u003e\n\n### Licence\n[MIT Licence](https://github.com/AbdallahHemdan/Orchestra/blob/master/LICENSE)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdallahhemdan%2Forchestra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabdallahhemdan%2Forchestra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdallahhemdan%2Forchestra/lists"}