pinglin's picture
Point install instructions to upstream mlx-audio
d00a12c verified
|
Raw
History Blame Contribute Delete
3.94 kB
---
library_name: mlx-audio
pipeline_tag: text-to-audio
base_model: MiniMaxAI/MiniMax-Music3
license: other
license_name: minimax-music3-community-license
license_link: https://huggingface.co/MiniMaxAI/MiniMax-Music3/blob/main/LICENSE
inference: false
tags:
- mlx
- mlx-audio
- apple-silicon
- music-generation
- text-to-music
- text-to-audio
- quantized
- mxfp8
---
# MiniMax Music 3 路 MLX MXFP8
Native MLX MXFP8 weights for
[`MiniMaxAI/MiniMax-Music3`](https://huggingface.co/MiniMaxAI/MiniMax-Music3),
converted for lyric-conditioned song generation on Apple Silicon with
[`mlx-audio`](https://github.com/Blaizzy/mlx-audio). This is the recommended
quantized variant when lyric fidelity matters.
> Community conversion, not an official MiniMax release. All model credit goes
> to MiniMax. Review the original model card and license before use.
Other MLX variants:
[`BF16`](https://huggingface.co/mlx-community/MiniMax-Music3-bf16)
路 [`8-bit`](https://huggingface.co/mlx-community/MiniMax-Music3-8bit)
路 [`6-bit`](https://huggingface.co/mlx-community/MiniMax-Music3-6bit)
路 [`4-bit`](https://huggingface.co/mlx-community/MiniMax-Music3-4bit)
路 [`MXFP4 (experimental)`](https://huggingface.co/mlx-community/MiniMax-Music3-mxfp4)
路 [`NVFP4 (experimental)`](https://huggingface.co/mlx-community/MiniMax-Music3-nvfp4)
## Install
MiniMax Music 3 support was merged upstream in
[`Blaizzy/mlx-audio#888`](https://github.com/Blaizzy/mlx-audio/pull/888).
Until a PyPI release includes it, install the upstream merge commit directly:
```bash
python -m pip install "mlx-audio @ git+https://github.com/Blaizzy/mlx-audio.git@784b29e2691a93ca7483147d86f61859dfaa6296"
```
## Generate
```bash
python -m mlx_audio.music.generate \
--model mlx-community/MiniMax-Music3-mxfp8 \
--caption "Warm acoustic pop, 96 BPM, intimate female vocal" \
--lyrics $'[verse]\nMorning light across the room\n[chorus]\nSing with me' \
--duration 30 \
--steps 30 \
--seed 7 \
--output song.wav
```
```python
from mlx_audio.music import load
model = load("mlx-community/MiniMax-Music3-mxfp8")
result = next(
model.generate(
text="Warm acoustic pop, 96 BPM, intimate female vocal",
lyrics="[verse]\nMorning light across the room\n[chorus]\nSing with me",
duration=30,
steps=30,
seed=7,
)
)
print(result.audio.shape, result.sample_rate) # stereo, 44100 Hz
```
Lyrics are required by the checkpoint contract. Use `[instrumental]` explicitly
for instrumental generation. Duration is a requested upper bound: the
autoregressive stage may emit its end token early. Style, tempo, instrument, and
vocal controls are probabilistic rather than strict.
## Quantization and verification
- MXFP8, group size 32: E4M3 linear weights with E8M0 group scales.
- Large linears in the global language model, RVQ depth decoder, and flow
transformer are quantized. Embeddings, output heads, convolutions, condition
encoder, and vocoder remain dense for fidelity.
- Approximately 13 GB on disk, versus 27 GB for the BF16 conversion.
- Strict loading and real generation produced finite 44.1 kHz stereo audio.
- Controlled lyric checks across two seeds retained substantially more requested
text than MXFP4 and stayed close to the dense BF16 baseline. For example, the
24-second seed-113 chorus preserved nearly every requested phrase, while MXFP4
collapsed to a short unrelated fragment.
- The mlx-audio regression suite passed 1,742 tests with 34 expected skips; the
focused music, converter, and registry suite passed 43 tests and 3 subtests.
Converted with `mlx-audio` 0.4.8 development commit `c2fa486` and MLX 0.31.2.
## License
The weights remain subject to the
[`MiniMax-Music3 Community License`](https://huggingface.co/MiniMaxAI/MiniMax-Music3/blob/main/LICENSE),
including its acceptable-use and commercial terms. The full license text is
included in this repository.