三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

MiniMax Music 3 环境搭建教程:SGLang-Omni 部署与 API 调用从零开始

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 部署前,先对照下面的清单检查环境:

项目最低要求推荐配置
💻 GPU24GB 显存(CUDA)40GB+ 显存
🐍 Python3.10+3.10 / 3.11
🔧 CUDA11.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-urlhttp://127.0.0.1:8000服务地址
--outminimax_ttm.wav输出文件名
--seed0随机种子
--max-frames9000最大音频帧数
--timeout1200请求超时(秒)

生成成功后控制台会打印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 环境搭建教程,核心流程就四步:

  1. ✅ 安装 SGLang-Omni:pip install "sglang-omni[all]"
  2. ✅ 下载模型:hf download MiniMaxAI/MiniMax-Music3
  3. ✅ 启动服务:sgl-omni serve --model-path <模型路径> --port 8000
  4. ✅ 调用 API:POST/v1/audio/speech,传入歌词 + 风格描述,输出 WAV

至此,你已经完成了SGLang-Omni 部署并跑通了完整的API 调用流程。接下来可以尽情发挥创意:写一段歌词、描述你想要的曲风,让 MiniMax Music 3 帮你把脑海中的旋律变成真实的歌曲。祝你创作愉快!🎶

【免费下载链接】MiniMax-Music3项目地址: https://ai.gitcode.com/MiniMax-AI/MiniMax-Music3

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

← 返回列表