{"id":15580421,"url":"https://github.com/salu133445/pypianoroll","last_synced_at":"2025-04-06T17:12:39.563Z","repository":{"id":38206601,"uuid":"117360127","full_name":"salu133445/pypianoroll","owner":"salu133445","description":"A toolkit for working with piano rolls","archived":false,"fork":false,"pushed_at":"2023-06-26T08:16:50.000Z","size":10094,"stargazers_count":144,"open_issues_count":9,"forks_count":18,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-05T14:44:55.535Z","etag":null,"topics":["midi","music","music-generation","music-information-retrieval","python","visulization"],"latest_commit_sha":null,"homepage":"https://salu133445.github.io/pypianoroll/","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/salu133445.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null},"funding":{"github":"salu133445"}},"created_at":"2018-01-13T16:42:39.000Z","updated_at":"2025-02-20T09:17:49.000Z","dependencies_parsed_at":"2023-01-29T21:20:27.247Z","dependency_job_id":"f7a3e468-8451-49cd-9f8a-5df8fa80c387","html_url":"https://github.com/salu133445/pypianoroll","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/salu133445%2Fpypianoroll","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/salu133445%2Fpypianoroll/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/salu133445%2Fpypianoroll/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/salu133445%2Fpypianoroll/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/salu133445","download_url":"https://codeload.github.com/salu133445/pypianoroll/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247517915,"owners_count":20951719,"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":["midi","music","music-generation","music-information-retrieval","python","visulization"],"created_at":"2024-10-02T19:25:30.055Z","updated_at":"2025-04-06T17:12:39.539Z","avatar_url":"https://github.com/salu133445.png","language":"Python","funding_links":["https://github.com/sponsors/salu133445"],"categories":[],"sub_categories":[],"readme":"Pypianoroll\n===========\n\n[![GitHub workflow](https://img.shields.io/github/workflow/status/salu133445/pypianoroll/Testing)](https://github.com/salu133445/pypianoroll/actions)\n[![Codecov](https://img.shields.io/codecov/c/github/salu133445/pypianoroll)](https://codecov.io/gh/salu133445/pypianoroll)\n[![GitHub license](https://img.shields.io/github/license/salu133445/pypianoroll)](https://github.com/salu133445/pypianoroll/blob/main/LICENSE)\n[![GitHub release](https://img.shields.io/github/v/release/salu133445/pypianoroll)](https://github.com/salu133445/pypianoroll/releases)\n\n\nPypianoroll is an open source Python library for working with piano rolls. It provides essential tools for handling multitrack piano rolls, including efficient I/O as well as manipulation, visualization and evaluation tools.\n\n\nFeatures\n--------\n\n- Manipulate multitrack piano rolls intuitively\n- Visualize multitrack piano rolls beautifully\n- Save and load multitrack piano rolls in a space-efficient format\n- Parse MIDI files into multitrack piano rolls\n- Write multitrack piano rolls into MIDI files\n\n\nWhy Pypianoroll\n---------------\n\nOur aim is to provide convenient classes for piano-roll matrix and MIDI-like track information (program number, track name, drum track indicator). Pypianoroll is also designed to provide efficient I/O for piano rolls, since piano rolls have long been considered an inefficient way to store music data due to the sparse nature.\n\n\nInstallation\n------------\n\nTo install Pypianoroll, please run `pip install pypianoroll`. To build Pypianoroll from source, please download the [source](https://github.com/salu133445/pypianoroll/releases) and run `python setup.py install`.\n\n\nDocumentation\n-------------\n\nDocumentation is available [here](https://salu133445.github.io/pypianoroll) and as docstrings with the code.\n\n\nCiting\n------\n\nPlease cite the following paper if you use the code provided in this repository.\n\nHao-Wen Dong, Wen-Yi Hsiao, and Yi-Hsuan Yang, \"Pypianoroll: Open Source Python Package for Handling Multitrack Pianorolls,\" in _Late-Breaking Demos of the 19th International Society for Music Information Retrieval Conference (ISMIR)_, 2018.\u003cbr\u003e\n[[homepage](https://salu133445.github.io/pypianoroll/)]\n[[paper](https://salu133445.github.io/pypianoroll/pdf/pypianoroll_ismir2018_lbd_paper.pdf)]\n[[poster](https://salu133445.github.io/pypianoroll/pdf/pypianoroll_ismir2018_lbd_poster.pdf)]\n[[code](https://github.com/salu133445/pypianoroll)]\n[[documentation](https://salu133445.github.io/pypianoroll/)]\n\n\nLakh Pianoroll Dataset\n----------------------\n\n[Lakh Pianoroll Dataset](https://salu133445.github.io/musegan/dataset) (LPD) is a new multitrack piano roll dataset using Pypianoroll for efficient data I/O and to save space, which is used as the training dataset in our [MuseGAN](https://salu133445.github.io/musegan) project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsalu133445%2Fpypianoroll","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsalu133445%2Fpypianoroll","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsalu133445%2Fpypianoroll/lists"}