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 only
  • quant: 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
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support