--- license: cc-by-nc-4.0 tags: - music - midi - symbolic-music - music-generation - gpt2 - pytorch library_name: midigpt language: - en datasets: - Metacreation/GigaMIDI --- # MIDI-GPT MIDI-GPT is a GPT-2 transformer for symbolic music generation trained on the [GigaMIDI](https://huggingface.co/datasets/Metacreation/GigaMIDI) dataset. It supports bar-level infill, autoregressive multi-track generation, and attribute-conditioned generation (note density, polyphony, note duration). Paper: [MIDI-GPT: A Controllable Language Model for Symbolic Music Performance Generation (AAAI 2025)](https://arxiv.org/abs/2501.17011) GitHub: [Metacreation/MIDI-GPT](https://github.com/Metacreation/MIDI-GPT) PyPI: [midigpt](https://pypi.org/project/midigpt/) --- ## Models | File | Context (bars) | Infill | Bar masking | Microtiming | Attributes | |---|---|---|---|---|---| | `yellow.pt` | 4, 8 | yes | no | no | density, polyphony, note duration | --- ## Installation ```bash pip install "midigpt[inference]" ``` ## Usage ```python from midigpt import Score from midigpt.inference.engine import InferenceEngine from midigpt.inference.config import GenerationRequest, InferenceConfig, TrackPrompt # Download and cache the model automatically engine = InferenceEngine.from_pretrained("yellow") # Load a MIDI file score = Score.from_midi("my_song.mid") # Infill bars 4–7 on track 0 given surrounding context request = GenerationRequest( tracks=[ TrackPrompt(id=0, bars=list(range(4, 8))), ], config=InferenceConfig(model_dim=8), ) session = engine.session(score, request) result = session.run() result.to_midi("output.mid") ``` --- ## Training Models were trained on GigaMIDI v2.0.0 using the `midigpt` training pipeline with PyTorch Lightning. Training configs and the preprocessing pipeline are available in the [GitHub repository](https://github.com/Metacreation/MIDI-GPT). --- ## Citation ```bibtex @misc{pasquier2025midigptcontrollablegenerativemodel, title={MIDI-GPT: A Controllable Generative Model for Computer-Assisted Multitrack Music Composition}, author={Philippe Pasquier and Jeff Ens and Nathan Fradet and Paul Triana and Davide Rizzotti and Jean-Baptiste Rolland and Maryam Safi}, year={2025}, eprint={2501.17011}, archivePrefix={arXiv}, primaryClass={cs.SD}, url={https://arxiv.org/abs/2501.17011}, } ``` --- ## License [Creative Commons Attribution-NonCommercial 4.0 International (CC-BY-NC-4.0)](https://creativecommons.org/licenses/by-nc/4.0/). Copyright (c) 2026 Metacreation Lab.