Skip to main content

Pypianoroll

GitHub workflow Codecov GitHub license GitHub release

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)

Source distribution for pypianoroll 1.0.4
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)

Table of built distributions (wheels) for pypianoroll 1.0.4
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page