Skip to main content

A toolkit for symbolic music generation

Project description

MusPy

GitHub workflow Codecov GitHub license GitHub release

MusPy is an open source Python library for symbolic music generation. It provides essential tools for developing a music generation system, including dataset management, data I/O, data preprocessing and model evaluation.

Features

  • Dataset management system for commonly used datasets with interfaces to PyTorch and TensorFlow.
  • Data I/O for common symbolic music formats (e.g., MIDI, MusicXML and ABC) and interfaces to other symbolic music libraries (e.g., music21, mido, pretty_midi and Pypianoroll).
  • Implementations of common music representations for music generation, including the pitch-based, the event-based, the piano-roll and the note-based representations.
  • Model evaluation tools for music generation systems, including audio rendering, score and piano-roll visualizations and objective metrics.

Why MusPy

A music generation pipeline usually consists of several steps: data collection, data preprocessing, model creation, model training and model evaluation. While some components need to be customized for each model, others can be shared across systems. For symbolic music generation in particular, a number of datasets, representations and metrics have been proposed in the literature. As a result, an easy-to-use toolkit that implements standard versions of such routines could save a great deal of time and effort and might lead to increased reproducibility.

Installation

To install MusPy, please run pip install muspy. To build MusPy 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 MusPy in a published work:

Hao-Wen Dong, Ke Chen, Julian McAuley, and Taylor Berg-Kirkpatrick, "MusPy: A Toolkit for Symbolic Music Generation," in Proceedings of the 21st International Society for Music Information Retrieval Conference (ISMIR), 2020.

[homepage] [video] [paper] [slides] [poster] [arXiv] [code] [documentation]

Disclaimer

This is a utility library that downloads and prepares public datasets. We do not host or distribute these datasets, vouch for their quality or fairness, or claim that you have license to use the dataset. It is your responsibility to determine whether you have permission to use the dataset under the dataset's license.

If you're a dataset owner and wish to update any part of it (description, citation, etc.), or do not want your dataset to be included in this library, please get in touch through a GitHub issue. Thanks for your contribution to the community!

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

muspy-0.5.0.tar.gz (90.4 kB view details)

Uploaded Source

Built Distribution

muspy-0.5.0-py3-none-any.whl (119.1 kB view details)

Uploaded Python 3

File details

Details for the file muspy-0.5.0.tar.gz.

File metadata

  • Download URL: muspy-0.5.0.tar.gz
  • Upload date:
  • Size: 90.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.15

File hashes

Hashes for muspy-0.5.0.tar.gz
Algorithm Hash digest
SHA256 35b9ed102d83040968a95604505b3e47ee165e05f112a215dfa22a75ffae8f6c
MD5 8066944de2f1701070d05f7d16a3001c
BLAKE2b-256 d8c75eabf9fb0d753bda18ed9e5358efcf79932b50c7345f663b028b59f6204d

See more details on using hashes here.

File details

Details for the file muspy-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: muspy-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 119.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.15

File hashes

Hashes for muspy-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6f0e614476f92f5a573755117a959b660f120ca2838f05f88e8422ec2744d4fd
MD5 079dd25cfec91df1b4d958bdb15f0262
BLAKE2b-256 ae85f8da354bfc42cc0b95df30a28d96733644cecd7d7dab0293ef0cbfa93257

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