Metadata-Version: 2.1
Name: REMI-z
Version: 0.5.0
Summary: Manipulate your MIDI file in bar level, and converting between MIDI and REMI-z format.
Home-page: https://github.com/Sonata165/REMI-z
Author: Longshen Ou
Author-email: oulongshen@gmail.com
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: Topic :: Multimedia :: Sound/Audio :: MIDI
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: miditoolkit==1.0.1
Requires-Dist: music21==9.3.0
Requires-Dist: pretty_midi==0.2.10
Requires-Dist: pyyaml==6.0.2

This is the official implementation of the REMI-z tokenizer in the paper [*Unlocking Potential in Pre-Trained Music Language Models for Versatile Multi-Track Music Arrangement*](https://arxiv.org/abs/2408.15176).

The core of this tokenizer is the Multitrack class as the data structure for multitrack music, which is a hierachical format. Here are the structural details:
- The music is represented by an Multitrack object, which is list of bars.
    - Each Bar object represents all notes being played within one bar, is a list of Note object.
        - Each Note object represent one note, including onset, offset, pitch, velocity information.

This Multitrack object can be create from various formats (supporting MIDI for now), and convert into various formats (e.g., MIDI, and REMI-z representation).

Music is a list of bars, or a list of instruments?
