YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
MiniMax Music 3 MLX Port
MLX port of MiniMax Music 3 for Apple Silicon. Runs end-to-end text-to-music generation locally on M-series Macs.
Setup
# Create venv
python3 -m venv .venv
source .venv/bin/activate
# Install dependencies
pip install mlx mlx-lm torch soundfile numpy
# Download model (diffusers format)
hf download MiniMaxAI/MiniMax-Music3 --local-dir model
# For quant branch: convert LLM to 4-bit
mlx_lm.convert --hf-path model/language_model -q --q-bits 4 -o model/language_model_4bit
Status
Working, with caveats:
- Short clips (10-30s) generate correctly
- Long generation (60s+) has quality issues - middle of audio becomes sparse/noisy while edges sound fine. Suspected DIT attention issue that needs debugging.
- No flash attention in MLX means DIT scales quadratically with sequence length
Performance (M3 Max 64GB, quant branch)
AR generation: 0.07s/frame (vs 0.47s/frame bf16) 10s audio: ~70s total 30s audio: ~3-4 min total
DIT is the bottleneck for longer outputs (quadratic scaling).
Usage
source .venv/bin/activate
# Generate 30s clip
python3 generate.py examples/in_the_way/caption.txt examples/in_the_way/lyrics.txt -o output.wav -f 750 -s 999
# Options:
# -f, --frames Max AR frames (25 per second). Default 250 (10s)
# -s, --seed Random seed
# --no-quant Disable RVQ quantization (slower, maybe slightly better quality)
Branches
main: bf16 weights, core implementation onlyquant: 4-bit LLM + runtime RVQ quantization, CLI script, examples
Architecture
- Qwen3-8B generates c0 tokens autoregressively
- RVQ depth decoder generates c1-c7 tokens
- DIT flow transformer renders mel spectrogram from token hidden states
- DAV vocoder converts mel to audio
Known Issues
- Long sequences (>1500 AR frames / 60s) produce degraded audio in middle sections
- Metal buffer limit (~41GB on 64GB Mac) caps max generation length
- No KV cache optimization yet for AR (would help memory)
- DAV vocoder needs chunking for very long outputs
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support