Skip to main content

A toolkit for working with piano rolls

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pypianoroll-1.0.4.tar.gz (22.8 kB view details)

Uploaded Source

Built Distribution

pypianoroll-1.0.4-py3-none-any.whl (26.5 kB view details)

Uploaded Python 3

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

Hashes for pypianoroll-1.0.4.tar.gz
Algorithm Hash digest
SHA256 8708783afc88806b1259628ed9e32597c448a0f9c2b30b7a6ec4399682eba46f
MD5 f264b66114ed70e23a7207ddcb549a38
BLAKE2b-256 4560cb6ec0ec31d28ad3a1c1f105defd832bbf8db12c6dcc88668b67ec02459e

See more details on using hashes here.

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

Hashes for pypianoroll-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 39bf5814567ea5a0679e7706e6f4fbffa17be89cadd54b27e61aa9f3574bb793
MD5 377f5e37b07fd5acf9f041e1546bcece
BLAKE2b-256 1f8bd7e578a79b022e45c5568ee8436c6b9469f05f486b4f5b93a12e8fa1e50c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page