MiniMax Music 3 环境搭建教程:SGLang-Omni 部署与 API 调用从零开始
MiniMax Music 3 环境搭建教程:SGLang-Omni 部署与 API 调用从零开始
【免费下载链接】MiniMax-Music3项目地址: https://ai.gitcode.com/MiniMax-AI/MiniMax-Music3
MiniMax Music 3 是 MiniMax 开源的AI 音乐生成模型,只需一段歌词 + 一段音乐风格描述,就能生成最长5 分钟、结构完整的歌曲。本文是面向新手的MiniMax Music 3 环境搭建教程,带你从零完成 SGLang-Omni 部署,并跑通第一次 API 调用,生成属于你的第一首 AI 歌曲。
💡 温馨提示:全程只需复制粘贴命令,跟着步骤走即可,无需深度理解底层原理。
一、MiniMax Music 3 是什么?
一句话总结:一个开箱即用的文本生成音乐模型,输出32kHz / 16bit 立体声 WAV。
它的核心亮点:
| 特性 | 说明 |
|---|---|
| 🎵 歌曲长度 | 原生支持最长 5 分钟完整歌曲 |
| 🎤 输入方式 | 歌词(Lyrics)+ 音乐描述(Music Description)双输入 |
| 🧠 混合架构 | 8B 全局 LLM(长程结构)+ 0.6B 局部 LLM(帧级声学细节) |
| 🎛️ 合成系统 | Flow Matching + Flow-VAE 连续隐状态合成 |
| 📦 输出格式 | 32kHz、16bit 立体声 WAV |
歌词里可以写[Intro]、[Verse]、[Chorus]、[Bridge]、[Outro]等段落标签,模型会按真实歌曲的"前奏—主歌—副歌—桥段—尾奏"结构来编曲,而不是简单拼接。
模型文件结构速览
克隆项目后,你会看到这些关键目录,它们对应模型的不同模块:
condition_encoder/— 条件编码器(歌词 + 音乐描述)language_model/— 混合 LLM(8B + 0.6B)transformer/、scheduler/— Flow Matching 扩散模块rvq_depth_decoder/、vocoder/— 音频解码与声码器tokenizer/— Qwen2 分词器scripts/end_to_end/minimax_ttm_test.py— 官方端到端测试脚本assets/minimax_ttm.wav— 官方参考音频
二、环境准备:硬件与软件清单
开始SGLang-Omni 部署前,先对照下面的清单检查环境:
| 项目 | 最低要求 | 推荐配置 |
|---|---|---|
| 💻 GPU | 24GB 显存(CUDA) | 40GB+ 显存 |
| 🐍 Python | 3.10+ | 3.10 / 3.11 |
| 🔧 CUDA | 11.8+ | 12.x |
| 💾 磁盘 | 60GB+ | 100GB SSD |
⚠️ 重要限制:MiniMax Music 3 推理必须使用 CUDA,纯 CPU 无法运行;目前仅支持非流式生成。
建议用 conda 创建干净的虚拟环境:
conda create -n minimax python=3.11 -y conda activate minimax三、SGLang-Omni 安装步骤(两种最快方法)
SGLang-Omni 是官方推荐的推理框架,MiniMax Music 3 环境搭建的核心就是装好它。
方法一:pip 一键安装(推荐新手)
pip install --upgrade pip pip install "sglang-omni[all]"方法二:源码安装(需要最新特性时)
git clone https://github.com/sgl-project/sglang-omni cd sglang-omni pip install -e "python[all]"安装完成后验证一下:
sgl-omni --help能正常打印帮助信息,说明SGLang-Omni 部署环境已就绪 ✅
四、下载 MiniMax Music 3 模型
克隆项目仓库并下载模型权重(总大小约 60GB,请耐心等待):
git clone https://gitcode.com/MiniMax-AI/MiniMax-Music3 cd MiniMax-Music3 hf download MiniMaxAI/MiniMax-Music3 --local-dir /path/to/minimax_ttm💡 把
/path/to/minimax_ttm换成你的实际存放路径,后面启动服务时要用到。
五、启动 SGLang-Omni 推理服务
模型下载完成后,一行命令即可拉起服务:
sgl-omni serve --model-path /path/to/minimax_ttm --port 8000看到日志中出现Uvicorn running on http://0.0.0.0:8000之类的输出,就说明服务启动成功,监听在 8000 端口。
🔍 如果显存紧张,可在命令后追加
--max-running-requests 1降低并发,保证单次生成稳定。
六、API 调用:生成你的第一首 AI 歌曲
MiniMax Music 3 复用了语音合成(Speech)API的格式,关键字段只有三个:
| 参数 | 作用 |
|---|---|
input | 歌词(可带[Verse]、[Chorus]等结构标签) |
instructions | 音乐风格描述(曲风、BPM、人声、配器等) |
response_format | 输出格式,填wav |
用 curl 直接发起第一次API 调用:
curl http://127.0.0.1:8000/v1/audio/speech \ -H 'Content-Type: application/json' \ -d '{ "model": "MiniMaxAI/MiniMax-Music3", "input": "[Verse]\nMorning light filtering through the pine\n[Chorus]\nSoftly the world begins to breathe", "instructions": "A warm acoustic pop song with intimate female vocals, fingerpicked guitar, soft piano, and a gradual emotional build into a wide final chorus.", "response_format": "wav", "seed": 7, "max_new_tokens": 750, "stream": false }' \ --output minimax_music3.wav运行成功后,当前目录会生成minimax_music3.wav,用播放器打开就能听到你的第一首 AI 生成歌曲了!🎉
参数详解:让生成更可控
max_new_tokens:最大音频帧数,按25 帧/秒换算。750 ≈ 30 秒,9000 是上限(约 6 分钟)。seed:随机种子,固定后可以复现同一首歌。stream:目前仅支持false(非流式)。
🎵 想要更精细的风格控制?建议在
instructions里写"结构化描述":全局元数据(曲风、BPM、调式、情绪走向)+ 人声细节(音色、唱法)+ 配器安排(主奏、伴奏、律动)。
七、用官方 Python 脚本跑端到端测试
仓库自带完整的端到端测试脚本 scripts/end_to_end/minimax_ttm_test.py,内含一首完整蓝调摇滚歌曲的歌词和音乐描述,省去自己写 Prompt 的麻烦:
python scripts/end_to_end/minimax_ttm_test.py \ --server-url http://127.0.0.1:8000 \ --out my_song.wav \ --seed 0 \ --max-frames 9000脚本常用参数:
| 参数 | 默认值 | 说明 |
|---|---|---|
--server-url | http://127.0.0.1:8000 | 服务地址 |
--out | minimax_ttm.wav | 输出文件名 |
--seed | 0 | 随机种子 |
--max-frames | 9000 | 最大音频帧数 |
--timeout | 1200 | 请求超时(秒) |
生成成功后控制台会打印WAV written to: ...,去对应路径就能找到成品。
八、新手常见问题排查(FAQ)
Q1:启动服务时显存不足怎么办?模型全精度需要约 24GB 显存。显存低于 24GB 时,可改用 diffusers 的 ModularPipeline 并开启 CPU offloading(详见 README 中的 "Low VRAM" 部分),最低可适配 8GB 显卡,但生成速度会明显变慢。
Q2:生成结果和描述不完全一致?段落标签和音乐描述是"生成式控制"而非"符号级保证",生成的调性、配器、歌词细节可能与描述有出入,这是正常现象,多调整seed和描述措辞即可。
Q3:max_new_tokens没到上限就停止了?正常!模型检测到"音频结束"标记时会提前结束生成,这是预期行为。
Q4:歌词中段落标签怎么写?每个标签单独占一行,支持[Intro]、[Verse]、[Pre-Chorus]、[Chorus]、[Bridge]、[Instrumental]、[Outro]等。
九、总结:从零到第一首歌只需 4 步
回顾整个MiniMax Music 3 环境搭建教程,核心流程就四步:
- ✅ 安装 SGLang-Omni:
pip install "sglang-omni[all]" - ✅ 下载模型:
hf download MiniMaxAI/MiniMax-Music3 - ✅ 启动服务:
sgl-omni serve --model-path <模型路径> --port 8000 - ✅ 调用 API:POST
/v1/audio/speech,传入歌词 + 风格描述,输出 WAV
至此,你已经完成了SGLang-Omni 部署并跑通了完整的API 调用流程。接下来可以尽情发挥创意:写一段歌词、描述你想要的曲风,让 MiniMax Music 3 帮你把脑海中的旋律变成真实的歌曲。祝你创作愉快!🎶
【免费下载链接】MiniMax-Music3项目地址: https://ai.gitcode.com/MiniMax-AI/MiniMax-Music3
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
