{"id":24154895,"url":"https://github.com/gsejas/streamlit-abc-notation","last_synced_at":"2026-04-18T10:37:42.463Z","repository":{"id":270645706,"uuid":"909012704","full_name":"GSejas/streamlit-abc-notation","owner":"GSejas","description":"Streamlit project to showcase the abc notation with abc.js","archived":false,"fork":false,"pushed_at":"2025-01-06T02:10:10.000Z","size":267,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-01T22:28:21.165Z","etag":null,"topics":["abc","music","streamlit"],"latest_commit_sha":null,"homepage":"https://gsejas.github.io/streamlit-abc-notation/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GSejas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-12-27T14:32:03.000Z","updated_at":"2025-01-06T02:10:14.000Z","dependencies_parsed_at":"2025-01-02T16:00:06.779Z","dependency_job_id":null,"html_url":"https://github.com/GSejas/streamlit-abc-notation","commit_stats":null,"previous_names":["gsejas/streamlit-abc-notation"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GSejas%2Fstreamlit-abc-notation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GSejas%2Fstreamlit-abc-notation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GSejas%2Fstreamlit-abc-notation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GSejas%2Fstreamlit-abc-notation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GSejas","download_url":"https://codeload.github.com/GSejas/streamlit-abc-notation/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241435157,"owners_count":19962399,"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":["abc","music","streamlit"],"created_at":"2025-01-12T12:26:37.415Z","updated_at":"2026-04-18T10:37:42.428Z","avatar_url":"https://github.com/GSejas.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Streamlit ABC Notation Project\n\n![Build Status](https://github.com/gsejas/streamlit-abc-notation/actions/workflows/deploy.yml/badge.svg)\n![License](https://img.shields.io/github/license/Gsejas/streamlit-abc-notation)\n\nThis project is a Streamlit application that showcases a custom component for rendering ABC notation using abc.js. It provides a user-friendly interface for inputting ABC notation, rendering it as sheet music, and includes playback features.\n\n## Project Structure\n\n```\nstreamlit-abc-notation\n├── src\n│   ├── tabs\n│   │   ├── demo_tab.py\n│   │   ├── examples_tab.py\n│   │   └── about_tab.py\n│   └── streamlit_app.py\n├── package.json\n├── pyproject.toml\n├── poetry.lock\n└── README.md\n```\n\n## Installation\n\nTo set up the project, follow these steps:\n\n1. Clone the repository:\n   ```\n   git clone \u003crepository-url\u003e\n   cd streamlit-abc-notation\n   ```\n\n2. Install Poetry if you haven't already:\n   ```\n   pip install poetry\n   ```\n\n3. Install the Python dependencies using Poetry:\n   ```\n   poetry install\n   ```\n\n## Usage\n\nTo run the Streamlit application, execute the following command in the terminal:\n\n```\npoetry run streamlit run src/streamlit_app.py\n```\n\nOnce the application is running, you can:\n\n- Input ABC notation in the provided text area.\n- Click the \"Render\" button to visualize the sheet music.\n- Use the playback controls to listen to the rendered music.\n\n## ABC Notation\n\nABC notation is a shorthand form of musical notation that uses ASCII characters. It is widely used for notating music in a simple and readable format. For more information on ABC notation, visit [abcnotation.com](http://abcnotation.com).\n\n### Examples of ABC Notation\n\nHere are some popular melodies and harmonies you can try:\n\n**Twinkle Twinkle Little Star**\n```abc\nX: 1\nT: Twinkle Twinkle Little Star\nM: 4/4\nK: C\nC C G G | A A G2 | F F E E | D D C2 |\n```\n\n**Ode to Joy (Beethoven)**\n```abc\nX: 1\nT: Ode to Joy\nM: 4/4\nK: D\nE E F G | G F E D | C C D E | E D D2 |\n```\n\n**Happy Birthday**\n```abc\nX: 1\nT: Happy Birthday\nM: 3/4\nK: C\nG G A G | C B | G G A G | D C | G G G E | C B A | F F E C | D C |\n```\n\n**Jingle Bells**\n```abc\nX: 1\nT: Jingle Bells\nM: 4/4\nK: G\nE E E | E E E | E G C D E | F F F F | F E E E | E D D E | D G2 |\n```\n\n**Mary Had a Little Lamb**\n```abc\nX: 1\nT: Mary Had a Little Lamb\nM: 4/4\nK: C\nE D C D | E E E2 | D D D2 | E G G2 | E D C D | E E E E | D D E D | C3 |\n```\n\n**Silent Night**\n```abc\nX: 1\nT: Silent Night\nM: 3/4\nK: G\nG A G E | G A G E | D2 G2 | G A G E | G A G E | D2 G2 |\n```\n\n## Roadmap\n\n### Current Progress\n\n- **Basic Rendering and Playback**: Implemented a basic demo for rendering ABC notation and playing it back using abc.js.\n- **Modular Code Structure**: Refactored the code into separate modules for better maintainability.\n\n### Future Plans\n\n- **Enhanced ABC.js Integration**: Create new components to explore more features of the abc.js library and enhance the notation capabilities.\n- **Community Testing and Feedback**: Deploy the project to Streamlit for community testing and feedback.\n\n## Deployment\n\nThe project is deployed on Streamlit and can be accessed at [https://abc-notation.streamlit.app/](https://abc-notation.streamlit.app/). The goal is to inspire and help grow the intersection between technology and music.\n\n## Contributing\n\nContributions are welcome! If you have suggestions or improvements, please create a pull request or open an issue.\n\n## License\n\nThis project is licensed under the MIT License. See the LICENSE file for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgsejas%2Fstreamlit-abc-notation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgsejas%2Fstreamlit-abc-notation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgsejas%2Fstreamlit-abc-notation/lists"}