Text-to-Audio
MLX
Diffusers
Safetensors
minimax_music3
apple-silicon
macos
minimax
minimax-music3
audio-generation
generative-audio
music-generation
text-to-music
local-inference
Instructions to use appautomaton/MiniMax-Music3-MLX with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use appautomaton/MiniMax-Music3-MLX with MLX:
# Download the model from the Hub pip install huggingface_hub[hf_xet] huggingface-cli download --local-dir MiniMax-Music3-MLX appautomaton/MiniMax-Music3-MLX
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Atomic Chat
Upload README.md with huggingface_hub
Browse files
README.md
ADDED
|
@@ -0,0 +1,189 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: other
|
| 3 |
+
license_name: minimax-music3-community-license
|
| 4 |
+
license_link: https://huggingface.co/MiniMaxAI/MiniMax-Music3/blob/main/LICENSE
|
| 5 |
+
library_name: mlx
|
| 6 |
+
pipeline_tag: text-to-audio
|
| 7 |
+
tags:
|
| 8 |
+
- mlx
|
| 9 |
+
- apple-silicon
|
| 10 |
+
- macos
|
| 11 |
+
- minimax
|
| 12 |
+
- minimax-music3
|
| 13 |
+
- audio-generation
|
| 14 |
+
- generative-audio
|
| 15 |
+
- music-generation
|
| 16 |
+
- text-to-audio
|
| 17 |
+
- text-to-music
|
| 18 |
+
- local-inference
|
| 19 |
+
- safetensors
|
| 20 |
+
---
|
| 21 |
+
|
| 22 |
+
# MiniMax Music 3 — MLX
|
| 23 |
+
|
| 24 |
+
[](https://pypi.org/project/mlx-minimax-music3/)
|
| 25 |
+
[](https://github.com/appautomaton/mlx-minimax-music3)
|
| 26 |
+
[](https://appautomaton.renocrypt.com/mlx-minimax-music3/)
|
| 27 |
+
[](https://appautomaton.renocrypt.com)
|
| 28 |
+
[](https://huggingface.co/appautomaton/MiniMax-Music3-MLX)
|
| 29 |
+
|
| 30 |
+
Precision-preserving MLX-native layout conversion of
|
| 31 |
+
[`MiniMaxAI/MiniMax-Music3`](https://huggingface.co/MiniMaxAI/MiniMax-Music3)
|
| 32 |
+
for local inference on Apple silicon. It is designed for use with
|
| 33 |
+
[`mlx-minimax-music3`](https://github.com/appautomaton/mlx-minimax-music3),
|
| 34 |
+
the independent pure-MLX inference project and Python package that generates
|
| 35 |
+
complete stereo music from lyrics and a structured music caption without
|
| 36 |
+
PyTorch, CUDA, or a cloud API at inference time.
|
| 37 |
+
|
| 38 |
+
This is a format and tensor-layout conversion. It is not trained, fine-tuned,
|
| 39 |
+
merged, or quantized, and it does not claim authorship of the underlying model.
|
| 40 |
+
MiniMax developed and released MiniMax Music 3; App Automaton converted the
|
| 41 |
+
published checkpoint for the independent MLX runtime.
|
| 42 |
+
|
| 43 |
+
## Checkpoint contents
|
| 44 |
+
|
| 45 |
+
| Component | Stored dtype | Size | Role |
|
| 46 |
+
| --- | --- | ---: | --- |
|
| 47 |
+
| Global language model | BF16 | 15.99 GiB | Long-range structure and semantic music tokens |
|
| 48 |
+
| RVQ depth decoder | BF16 | 1.20 GiB | Seven residual acoustic codebooks |
|
| 49 |
+
| Condition encoder | FP32 | 0.09 GiB | Continuous hidden-state fusion |
|
| 50 |
+
| Flow transformer | FP32 | 9.06 GiB | Flow-matching acoustic synthesis |
|
| 51 |
+
| Vocoder | FP32 | 0.20 GiB | Stereo waveform decode |
|
| 52 |
+
| Tokenizer, scheduler, and metadata | — | 0.01 GiB | Prompting and checkpoint contract |
|
| 53 |
+
|
| 54 |
+
The complete checkpoint is 26.56 GiB (28.52 GB decimal). The repository contains
|
| 55 |
+
only the dense profile. It does not contain selective-q8 or persistent FP16
|
| 56 |
+
derivatives.
|
| 57 |
+
|
| 58 |
+
## Conversion contract
|
| 59 |
+
|
| 60 |
+
The conversion is pinned to official source revision
|
| 61 |
+
[`fbdf52fbaaca799592917417eb05f1899f1255ec`](https://huggingface.co/MiniMaxAI/MiniMax-Music3/tree/fbdf52fbaaca799592917417eb05f1899f1255ec).
|
| 62 |
+
Its `manifest.json` records the source revision, mapping version, component file
|
| 63 |
+
sizes, tensor counts, dtypes, and SHA-256 digests.
|
| 64 |
+
|
| 65 |
+
- Qwen3 and RVQ tensors retain their published BF16 values.
|
| 66 |
+
- Condition, flow, and vocoder tensors retain their published FP32 values.
|
| 67 |
+
- Convolution kernels are transposed into the channels-last layout expected by
|
| 68 |
+
MLX.
|
| 69 |
+
- Vocoder weight normalization is folded into the stored convolution weights.
|
| 70 |
+
- No tensor is downcast or quantized.
|
| 71 |
+
|
| 72 |
+
The converter reads and writes SafeTensors directly through MLX. PyTorch is not
|
| 73 |
+
part of conversion or runtime inference.
|
| 74 |
+
|
| 75 |
+
## Use with MLX
|
| 76 |
+
|
| 77 |
+
Install the current package from
|
| 78 |
+
[`mlx-minimax-music3` on PyPI](https://pypi.org/project/mlx-minimax-music3/):
|
| 79 |
+
|
| 80 |
+
```sh
|
| 81 |
+
uv add --prerelease=allow mlx-minimax-music3
|
| 82 |
+
```
|
| 83 |
+
|
| 84 |
+
Download this checkpoint into a local weight directory:
|
| 85 |
+
|
| 86 |
+
```sh
|
| 87 |
+
hf download appautomaton/MiniMax-Music3-MLX \
|
| 88 |
+
--local-dir weights/mlx-dense/MiniMax-Music3
|
| 89 |
+
```
|
| 90 |
+
|
| 91 |
+
Generate one minute of instrumental melodic techno:
|
| 92 |
+
|
| 93 |
+
```python
|
| 94 |
+
from mlx_minimax_music3 import (
|
| 95 |
+
GenerationRequest,
|
| 96 |
+
Music3Pipeline,
|
| 97 |
+
instrumental_lyrics,
|
| 98 |
+
)
|
| 99 |
+
|
| 100 |
+
pipeline = Music3Pipeline("weights/mlx-dense/MiniMax-Music3")
|
| 101 |
+
result = pipeline.generate(
|
| 102 |
+
GenerationRequest(
|
| 103 |
+
caption=(
|
| 104 |
+
"Global Metadata: melodic techno, 128 BPM, A minor, nocturnal and "
|
| 105 |
+
"cinematic, gradually rising energy. Vocal Details: instrumental, "
|
| 106 |
+
"no vocals. Arrangement: deep rounded kick, warm sub-bass, crisp "
|
| 107 |
+
"hats, syncopated percussion, analog arpeggiator, evolving pads, "
|
| 108 |
+
"a glassy bell motif, controlled builds, and a spacious final drop."
|
| 109 |
+
),
|
| 110 |
+
lyrics=instrumental_lyrics(
|
| 111 |
+
"intro", "groove", "build", "drop", "breakdown", "outro"
|
| 112 |
+
),
|
| 113 |
+
audio_duration=60.0,
|
| 114 |
+
seed=7,
|
| 115 |
+
),
|
| 116 |
+
output="outputs/melodic-techno.wav",
|
| 117 |
+
)
|
| 118 |
+
|
| 119 |
+
print(result.metadata.stage_timings)
|
| 120 |
+
print(result.metadata.memory_reports)
|
| 121 |
+
```
|
| 122 |
+
|
| 123 |
+
`audio_duration` is a ceiling because the model may emit its end token earlier.
|
| 124 |
+
Set `min_audio_duration` when a minimum frame count is required. The default
|
| 125 |
+
checkpoint path keeps the official mixed precision: BF16 autoregressive models
|
| 126 |
+
and FP32 acoustic models.
|
| 127 |
+
|
| 128 |
+
## Runtime behavior
|
| 129 |
+
|
| 130 |
+
The runtime loads one stage at a time. Autoregressive models are released before
|
| 131 |
+
the flow transformer is loaded, and acoustic models are released before final
|
| 132 |
+
waveform decoding. This bounds unified-memory residency and avoids retaining the
|
| 133 |
+
entire checkpoint in memory at once.
|
| 134 |
+
|
| 135 |
+
The current runtime writes native 44.1 kHz stereo PCM16 WAV. The official serving
|
| 136 |
+
profile resamples its output to 32 kHz; reference-output parity for that final
|
| 137 |
+
profile remains in progress.
|
| 138 |
+
|
| 139 |
+
## Validation status
|
| 140 |
+
|
| 141 |
+
This is an alpha release. The dense checkpoint has passed:
|
| 142 |
+
|
| 143 |
+
- strict tensor-name, shape, dtype, and shard-index validation;
|
| 144 |
+
- tensor-by-tensor conversion checks against the pinned source;
|
| 145 |
+
- complete checkpoint manifest digest verification;
|
| 146 |
+
- weightless golden regression tests for dense loading and inference; and
|
| 147 |
+
- end-to-end local generation, including a three-minute default-FP32 run.
|
| 148 |
+
|
| 149 |
+
On an Apple M5 Max with 128 GB unified memory, the three-minute validation run
|
| 150 |
+
took 18 minutes 16 seconds, peaked at approximately 19.93 GiB of process memory,
|
| 151 |
+
and did not increase swap usage. This is one machine-specific observation, not a
|
| 152 |
+
portable performance guarantee.
|
| 153 |
+
|
| 154 |
+
Listening validation across more prompts and seeds, long-form quality parity,
|
| 155 |
+
and the reference 32 kHz output profile are still in progress.
|
| 156 |
+
|
| 157 |
+
## Intended use and limitations
|
| 158 |
+
|
| 159 |
+
This checkpoint is intended for local research, development, and music
|
| 160 |
+
generation with the MLX runtime on Apple silicon.
|
| 161 |
+
|
| 162 |
+
- Prompt controls such as tempo, key, instrumentation, lyrics, and structure are
|
| 163 |
+
generative guidance rather than strict symbolic guarantees.
|
| 164 |
+
- Outputs can contain artifacts, incorrect words, unexpected structure, or
|
| 165 |
+
content that does not follow every requested attribute.
|
| 166 |
+
- Users are responsible for evaluating generated content, respecting applicable
|
| 167 |
+
rights, and complying with the model license and acceptable-use policy.
|
| 168 |
+
- The checkpoint is not an official MiniMax MLX release, and this project is not
|
| 169 |
+
affiliated with or endorsed by MiniMax.
|
| 170 |
+
|
| 171 |
+
For the original architecture description, prompt guidance, examples, and model
|
| 172 |
+
limitations, read the
|
| 173 |
+
[`MiniMaxAI/MiniMax-Music3` model card](https://huggingface.co/MiniMaxAI/MiniMax-Music3).
|
| 174 |
+
|
| 175 |
+
## License
|
| 176 |
+
|
| 177 |
+
The converted checkpoint remains governed by the included
|
| 178 |
+
[`MiniMax-Music3 Community License`](https://huggingface.co/MiniMaxAI/MiniMax-Music3/blob/main/LICENSE),
|
| 179 |
+
including its attribution, acceptable-use, safeguards, and commercial terms.
|
| 180 |
+
Review that license before downloading, redistributing, or deploying the model.
|
| 181 |
+
|
| 182 |
+
The `mlx-minimax-music3` runtime code is separately licensed under MIT.
|
| 183 |
+
|
| 184 |
+
## Links
|
| 185 |
+
|
| 186 |
+
- Source model: [`MiniMaxAI/MiniMax-Music3`](https://huggingface.co/MiniMaxAI/MiniMax-Music3)
|
| 187 |
+
- Runtime source: [`appautomaton/mlx-minimax-music3`](https://github.com/appautomaton/mlx-minimax-music3)
|
| 188 |
+
- Python package: [`mlx-minimax-music3` on PyPI](https://pypi.org/project/mlx-minimax-music3/)
|
| 189 |
+
- Project page: [appautomaton.renocrypt.com/mlx-minimax-music3](https://appautomaton.renocrypt.com/mlx-minimax-music3/)
|