midi-llm-models / README.md
AEmotionStudio's picture
Mirror slseanwu/MIDI-LLM_Llama-3.2-1B @ 8b82ab9ec144 for MAESTRO
eee77f7 verified
|
Raw History Blame Contribute Delete
3.18 kB
---
license: llama3.2
base_model: meta-llama/Llama-3.2-1B
tags:
- music
- midi
- text-to-midi
- symbolic-music
- maestro
- llama
---
# MIDI-LLM — MAESTRO mirror
**Built with Llama.**
Verbatim mirror of [`slseanwu/MIDI-LLM_Llama-3.2-1B`](https://huggingface.co/slseanwu/MIDI-LLM_Llama-3.2-1B)
(revision `8b82ab9e`) for the [MAESTRO](https://github.com/AEmotionStudio) audio workstation's
**MIDI-LLM** panel — text → multi-instrument General-MIDI generation, landing in the piano roll as one
pattern per instrument.
MIDI-LLM (Shih-Lun Wu et al., ISMIR 2026 — code at
[slSeanWU/MIDI-LLM](https://github.com/slSeanWU/MIDI-LLM)) is **Llama-3.2-1B** whose vocabulary is
extended with the 55 030 [Anticipatory Music Transformer](https://github.com/jthickstun/anticipation)
MIDI tokens (onset time, duration, instrument-pitch triplets at 10 ms resolution). It was continued-pretrained
on MusicPile + GigaMIDI and fine-tuned on Lakh MIDI paired with MidiCaps captions.
## Files
| File | Notes |
|---|---|
| `model.safetensors` | 1.47 B parameters, bf16, **unchanged** — sha256 matches the upstream LFS object |
| `config.json`, `generation_config.json` | `LlamaForCausalLM`, `vocab_size` 183 286 = 128 256 text + 55 030 MIDI |
| `tokenizer.json`, `tokenizer_config.json`, `special_tokens_map.json` | upstream tokenizer, unchanged |
| `LICENSE.md` | the Llama 3.2 Community License, reproduced as the license requires |
| `sha256.json` | digest of every shipped file |
Nothing is converted or quantised. MAESTRO loads the checkpoint with plain `transformers`
(`AutoModelForCausalLM`, bf16, no remote code) via `backend/ai/models/midi_llm.py` and decodes the
MIDI tokens with an in-tree tolerant parser (`backend/ai/midi_llm/`), so no `anticipation` install is needed.
## Prompting
Inference follows upstream `generate_transformers.py`: the text
`"You are a world-class composer. Please compose some music according to the following description: <your text> "`
is tokenized, the MIDI begin token (`128256 + 55026`) is appended, and the model samples MIDI tokens
(temperature 1.0, top-p 0.98, up to 2 046 new tokens ≈ 680 notes). Describe the music the way MidiCaps
captions read — genre, mood, instruments by General-MIDI name, key, time signature, tempo feel, a chord
progression.
## License
The weights are subject to the **[Llama 3.2 Community License Agreement](https://www.llama.com/llama3_2/license/)**
(a copy ships here as `LICENSE.md`). Redistribution and products built on it must display
**"Built with Llama"** and include the license; commercial use is permitted below the 700 M monthly-active-user
threshold; the Acceptable Use Policy applies. This mirror adds nothing of its own and claims no additional rights.
The tokenization scheme is the Anticipatory Music Transformer (John Thickstun et al., Apache-2.0).
## Citation
```bibtex
@inproceedings{wu2026midillm,
title = {MIDI-LLM: Adapting Large Language Models for Text-to-MIDI Music Generation},
author = {Wu, Shih-Lun and others},
booktitle = {Proceedings of the International Society for Music Information Retrieval Conference (ISMIR)},
year = {2026}
}
```