/note-seq

A serializable note sequence representation and utilities.

Primary LanguagePythonApache License 2.0Apache-2.0

Build Status PyPI version

Magenta is a research project exploring the role of machine learning in the process of creating art and music.

This is the home for our serializable NoteSequence representation along with utilities for:

  • creating them from various formats (e.g., MIDI, abc, MusicXML)
  • manipulating them (e.g., slicing, quantizing)
  • extracting components (e.g., melodies, drum tracks, chord)
  • exporting them (e.g., to MIDI or audio)
  • or converting them to representations useful for model training (e.g., one-hot tensors)

To learn more see the main magenta repo and have look at the hello magenta notebook.

Installation

pip install note-seq

Notes

Importing note-seq increases the value of pretty_midi.pretty_midi.MAX_TICK to 1e10. This may change the expected behavior of pretty_midi when using it alongside of note-seq. For example, loading corrupted MIDI files with pretty_midi may result in out of memory errors.