HuggingFace镜像/MiniMax-Music3-bf16
模型介绍
文件和版本
分析

MiniMax Music 3 · MLX BF16

MiniMaxAI/MiniMax-Music3 的原生 MLX BF16 权重, 已针对 Apple Silicon 上的歌词条件歌曲生成完成转换, 转换过程使用 mlx-audio。

社区转换版本,非 MiniMax 官方发布。模型相关贡献均归属于 MiniMax。 使用前请先审阅原始模型卡片与许可证。

其他 MLX 变体: 8-bit · 6-bit · 4-bit · MXFP8(推荐量化) · MXFP4(实验性) · NVFP4(实验性)

安装

MiniMax Music 3 的支持已在 Blaizzy/mlx-audio#888 中合并到上游。 在 PyPI 版本包含此支持之前,请直接安装上游的合并提交:

python -m pip install "mlx-audio @ git+https://github.com/Blaizzy/mlx-audio.git@784b29e2691a93ca7483147d86f61859dfaa6296"

生成

python -m mlx_audio.music.generate \
  --model mlx-community/MiniMax-Music3-bf16 \
  --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
from mlx_audio.music import load

model = load("mlx-community/MiniMax-Music3-bf16")
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

检查点约定要求必须提供歌词。若需生成纯音乐,请显式使用 [instrumental]。时长为请求的上限:自回归阶段可能会提前发出结束 token。风格、速度、乐器和人声控制是概率性的,而非严格约束。

转换与验证

  • 稠密 BF16;未进行权重量化。
  • 完整原生流水线:Qwen3 全局自回归模型、RVQ 深度解码器、条件编码器、流匹配 DiT/Euler 阶段,以及立体声声码器。
  • 实际组件配置会产生 44.1 kHz 立体声输出。
  • 官方检查点转换映射并严格加载全部 982 个预期张量。
  • 完整检查点相对于官方 PyTorch 实现的 float32 最大绝对误差:Qwen logits 1.45e-4、RVQ 深度 2.50e-5、条件编码器 1.91e-6、流 Transformer 7.63e-6、声码器 8.57e-7。
  • mlx-audio 回归测试套件通过 1,742 项测试,并有 34 项预期跳过;音乐、转换器和注册表专项测试套件通过 43 项测试及 3 项子测试。
  • 实际生成产生了取值有限的 44.1 kHz 立体声音频。一次 210 秒的请求执行了 38 个去噪窗口,并在模型发出 EOS 时于 152.8 秒结束。

使用 mlx-audio 0.4.8 开发提交 c2fa486 和 MLX 0.31.2 完成转换。

许可

权重仍受 MiniMax-Music3 Community License 约束,包括其可接受使用条款和商业条款。完整许可文本已包含在本仓库中。