A toolkit for working with piano rolls
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pypianoroll-1.0.4.tar.gz
.
File metadata
- Download URL: pypianoroll-1.0.4.tar.gz
- Upload date:
- Size: 22.8 kB
- Tags: Source
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8708783afc88806b1259628ed9e32597c448a0f9c2b30b7a6ec4399682eba46f |
|
MD5 | f264b66114ed70e23a7207ddcb549a38 |
|
BLAKE2b-256 | 4560cb6ec0ec31d28ad3a1c1f105defd832bbf8db12c6dcc88668b67ec02459e |
File details
Details for the file pypianoroll-1.0.4-py3-none-any.whl
.
File metadata
- Download URL: pypianoroll-1.0.4-py3-none-any.whl
- Upload date:
- Size: 26.5 kB
- Tags: Python 3
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39bf5814567ea5a0679e7706e6f4fbffa17be89cadd54b27e61aa9f3574bb793 |
|
MD5 | 377f5e37b07fd5acf9f041e1546bcece |
|
BLAKE2b-256 | 1f8bd7e578a79b022e45c5568ee8436c6b9469f05f486b4f5b93a12e8fa1e50c |