Pypianoroll
Pypianoroll 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.
Features
- Manipulate multitrack piano rolls intuitively
- Visualize multitrack piano rolls beautifully
- Save and load multitrack piano rolls in a space-efficient format
- Parse MIDI files into multitrack piano rolls
- Write multitrack piano rolls into MIDI files
Why Pypianoroll
Our 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.
Installation
To install Pypianoroll, please run pip install pypianoroll. To build Pypianoroll from source, please download the source and run python setup.py install.
Documentation
Documentation is available here and as docstrings with the code.
Citing
Please cite the following paper if you use Pypianoroll in a published work:
Hao-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.
[homepage] [paper] [poster] [code] [documentation]
Lakh Pianoroll Dataset
Lakh Pianoroll 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 project.
Metadata
Release files for pypianoroll 1.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pypianoroll-1.0.4.tar.gz | 22.8 kB | Without provenance | Details for pypianoroll-1.0.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pypianoroll-1.0.4-py3-none-any.whl | Python 3 | none | any | Details for pypianoroll-1.0.4-py3-none-any.whl |
Total release size: 49.3 kB
Release files / pypianoroll-1.0.4.tar.gz
| Download URL | pypianoroll-1.0.4.tar.gz |
|---|---|
| Size | 22.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8708783afc88806b1259628ed9e32597c448a0f9c2b30b7a6ec4399682eba46f
|
|
BLAKE2b-256 checksum How to use checksums |
4560cb6ec0ec31d28ad3a1c1f105defd832bbf8db12c6dcc88668b67ec02459e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.6.12
|
Release files / pypianoroll-1.0.4-py3-none-any.whl
| Download URL | pypianoroll-1.0.4-py3-none-any.whl |
|---|---|
| Size | 26.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
39bf5814567ea5a0679e7706e6f4fbffa17be89cadd54b27e61aa9f3574bb793
|
|
BLAKE2b-256 checksum How to use checksums |
1f8bd7e578a79b022e45c5568ee8436c6b9469f05f486b4f5b93a12e8fa1e50c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.6.12
|
Security for pypianoroll 1.0.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.