产品发布 · 小互解读
MiniMax 开源 Music 3.0:一次生成五分钟完整歌,8GB 显存就能跑
把一句话风格描述换成一份分段编曲说明书,两个模型分工守住五分钟不散架。
- 给它歌词和一段风格描述,一次出一首五分钟的完整歌,前奏副歌桥段都在。
- 治的是老毛病:点名的乐器唱到一半自己消失,情绪走着走着跑偏。
- 整个模型开源,单卡 8GB 显存就能跑起来。
- 商用条件宽得反常,但整篇发布没给一个跑分数字。
痛点
AI 写歌一直有两个老毛病
MiniMax 发布了新一代音乐生成模型 Music 3.0,并且直接开源了:给它一段歌词和一份风格描述,它一次生成一首最长五分钟的完整歌,前奏、主歌、副歌、桥段、间奏、尾奏都在,人声是唱出来的不是拼出来的,出来就是 32kHz 立体声。以前这个完成度只有 Suno 这类闭源服务给得出,你只能在人家网站上按次买;现在整个模型能自己下回来,8GB 显存的卡也能跑。
MiniMax Music 3.0 官方发布短片(52 秒,有声):一张黑胶唱片转起来,唱片上站着一支微缩三重奏在现场演奏,小提琴、吉他、低音提琴。视频来源:MiniMax 官方发布素材。
它要治的病,用过 AI 写歌的人都熟:
第一个毛病是说了不算数。你在提示词里写「请用木吉他和钢琴,情绪从压抑走到释放」,模型开头照做,唱到一半吉他自己没声了,情绪也一直平着没起来;你要「气声女声」,结果只有第一段是气声,后面像换了个人。病根在描述太粗,过去的做法是给整首歌贴一个标签(「忧伤流行,90 BPM,女声」),模型只知道整体气质,不知道第 47 秒该发生什么。
第二个毛病是长了就散。生成 30 秒的片段谁都会,难的是五分钟里让情绪有起有落、乐器该进的时候进该退的时候退、主歌副歌桥段都朝一个方向使劲。难点从来不是时长本身。真正难的是模型还记不记得住自己开头在唱什么。
改动一 · 输入侧
Music 3.0 把一句话换成一份分段说明书
既然病根是描述太粗,那就把描述做细。Music 3.0 不再用一个全局标签概括整首歌,改成一份按时间轴分段写清楚的结构化描述(Structured Caption),分三块:
「来首伤感的民谣,90 BPM,女声」
整首歌一个标签。模型知道气质,不知道进度。
- 全局信息:什么风格、多少 BPM、什么调式、用在什么场景、整首情绪怎么走、成品要什么质感
- 人声细节:男声女声、音色(沙哑/气声/温润)、唱法、和声怎么铺、加不加混响延迟
- 编曲:主乐器和辅乐器分别是什么、哪一段进哪一段退、节奏怎么推进、低频怎么走、空间效果怎么加
以前是跟乐队说「来首伤感的民谣」,现在是递给他们一份编曲总谱,第几小节吉他单独进,第几小节鼓组加入,桥段全部撤掉只留人声。乐队照着谱子演,跑不偏。
这份说明书细到什么程度?官方 demo 页每首歌都附了完整描述,光英文就 700 多词。下面这段是其中一首都市灵魂乐的真实片段,还只是「人声细节」那一块的一部分:
Vocal Style: The delivery is marked by a conversational, behind-the-beat phrasing... The bridge requires a dramatic shift to a "whisper-singing" technique, utilizing heavy vocal fry and breathy tail-offs to convey extreme proximity. Harmony/Backing Vocals: The choruses are bolstered by tight, three-part male harmony stacks... panned hard left and right to envelop the lead.
中文大意:唱法上要口语化、咬在拍子后面……桥段要换成「气声呢喃」,大量用声带摩擦音和气声收尾,做出贴着耳朵唱的距离感。和声上,副歌铺三层男声和声,硬声像左右分开把主唱包在中间。
注意它的形容词全都带着可执行的落点:说「气声呢喃」的同时交代了在桥段用、说「三层男声和声」的同时交代了硬声像左右分开。不是「感人」「高级」这种没法执行的空话。模型能照着做,是因为这份描述本身已经是一张施工单。
改动二 · 结构
歌词里的方括号是真的结构开关
说明书管住了每段的血肉,整首歌的骨架又由谁来定?答案在歌词那一侧。
歌词里写 [Intro]、[Verse]、[Pre-Chorus]、[Chorus]、[Post-Chorus]、[Bridge]、[Instrumental]、[Solo]、[Outro] 这类方括号标记,模型把它当结构指令执行,决定这首歌几段、什么顺序、哪儿留纯器乐,而不会把「Verse」两个字唱出来。这是使用者最容易搞错的地方:方括号是可执行的,歌词正文只传递情绪、不传递结构。你想让歌从主歌转到桥段再回副歌,自己在歌词里排。
配套
官方还开源了 1000 个模板和一个扩写技能
但普通人写不出 700 词的专业说明书,这正是这套输入格式的门槛所在。官方的解法是配一个扩写系统:你写一句大白话,它用专业音乐术语给你扩成完整说明书。
这个「模板库」不是个抽象说法,它就摆在 GitHub 仓库里:1000 个纯文本模板文件,按 18 个流派家族分类,民谣、EDM、嘻哈、爵士、金属、灵魂福音、东亚抒情、乡村美国风等等。扩写逻辑本身也做成了一个 Agent 技能开源,一行命令装:
npx skills add MiniMax-AI/MiniMax-Music3 --skill music-caption-rewriter
它的检索方式做过 Agent 的人会眼熟:技能里明令禁止扫全部 1000 个模板,也禁止建数据库、算向量、调外部 API。它走的是一层层收窄,先读一张流派路由表,定位到一两个家族;再看家族索引里的简卡对比;最后只完整读取选中的最多 3 个模板,而且三个各司其职:
对不打算装模型、只是想把提示词写好的人来说,这 1000 个模板本身就是一份能直接抄的编曲提示词资料库。
机制 · 核心
两个模型分工:一个记整首,一个只管一帧
输入侧的两件事都说完了,模型内部又凭什么撑得住五分钟?先得知道声音在模型里是怎么存的。
音频没法直接喂给语言模型,得先切成一格一格的音频帧(这里是每秒 25 帧),每一帧再用 8 层码本编码(官方叫残差矢量量化,RVQ):第 1 层用一本 16384 个码字的大字典,只管这一帧的核心语义和结构,什么和弦、什么段落、唱的什么字;第 2 到 8 层各用 1024 个码字的小字典,一层层往上叠声音的细节残差,音色、泛音、空间感。
像画画:第一层是铅笔起稿定构图,后七层是一遍遍上色加细节。训练的时候也是这个顺序,先单独把第一层练稳,确保骨架不歪,再把八层放在一起练。
什么和弦、什么段落、唱什么字
两个模型,一个记得住整首,一个只管眼前这一帧
知道了声音怎么分层,分工就顺理成章了:
从 Qwen3-8B 改造来的。它逐帧预测第 1 层那个「核心语义」码字,同时盯着整首歌的上下文。
它是那个记得住「我开头唱的是什么」的角色。
从零训练的小模型。在每一帧内部,沿着深度方向把第 2 到 8 层的声学细节补出来。
它只管眼前这一帧好不好听,不用记住整首歌。
为什么要这么分?让一个 80 亿参数的大模型同时操心整首歌的走向和每一帧的泛音细节,既浪费又容易乱,它的注意力被拉扯在两个尺度上。把细节甩给一个 6 亿参数的小模型逐帧补,大模型就能专心记住五分钟前发生了什么。长距离的稳定性和局部的丰富度,这样才能同时保住。
MiniMax Music 3.0 官方架构图。自下而上四层:最底是输入(左边紫框 Structured Caption,右边绿框歌词);往上是 Hybrid LM,深蓝色横条就是全局模型,它每帧吐出的隐状态往上走,经 C₀ 进局部模型,再逐层输出 C₁ 到 C₇;再往上两个 fusion 箭头把隐状态送进 Synthesis 层,经 Flow-Matching 和 Flow VAE Decoder 出音频。右侧红圆是停止标记,灰方块是隐状态。图片来源:MiniMax 官方发布博客。
机制 · 音质
最后一步跳过压缩,换气和余韵才留得住
但真正决定这首歌好不好听的,是最后这一步,而它最容易被跳过。
常规做法是:语言模型吐出一串离散码字,解码器照着码字还原成声音。问题出在「码字」这两个字上,码字是量化过的。本来连续的声波被压进有限的几个格子里,中间那些微妙的东西(换气、滑音、弦震完之后的余韵)在量化那一刻就丢了,后面再怎么解码也捞不回来。
Music 3.0 的做法是:推理的时候根本不加载那个离散解码器。它把两个语言模型最后一层的连续隐状态(hidden state),也就是还没被压成码字的原始高维信息,融合起来,直接送进一个 24 亿参数的 flow matching 模块,再由一个 1.23 亿参数的 Flow-VAE 解码成波形。
码字像是把一段录音先转成 MP3,再把 MP3 交给下一个人;隐状态像是直接把母带递过去。差别就落在人声的咬字准不准、乐器听着像不像真的在振动、滑音和连奏这类演奏技法还在不在。
Flow-VAE 不是从头造的,架构从 MiniMax 自家的语音模型 MiniMax Speech 那边搬过来,按音乐的动态范围和频谱特点重训了一遍。
把四个部件加起来:全局模型 80 亿 + 局部模型 6 亿 + flow matching 24 亿 + Flow-VAE 1.23 亿 ≈ 111 亿参数。这个总数决定不了你能不能在自己机器上跑起来,真正卡人的是显存,账算在后面那节。
效果
16 段官方样曲,从上海爵士到福音金属
机制都讲完了,剩下的效果只能自己听。这也是这次发布唯一的证据,没有跑分,没有对比实验,就是 16 段样曲。下面这个试听台可以点风格标签换曲子,每首都附了它的真实输入描述,能直观看到「同一套模型,输入换一个,出来的东西完全不同」:
老上海爵士 / 灵魂乐,带 lo-fi 暖底
Classic Shanghai jazz / soul with gentle lo-fi warmth. Tender, nostalgic verses unfold into a softly radiant chorus, led by an intimate female vocal with restrained phrasing…
温暖国语流行 / 中式抒情,74 BPM,降 A 大调
Warm Mandarin pop / traditional Chinese ballad, 74 BPM, A-flat major. Tender nostalgia opens into a celebratory chorus, with a mature male baritone-tenor, delicate guzheng…
巴洛克流行 / 情绪摇滚,162 BPM,降 e 小调
Baroque pop / emo rock, 162 BPM, E-flat minor. A stately, mournful opening drives toward a regal wall-of-sound finale, with a gritty theatrical male baritenor, orchestral strings, harpsichord…
暗黑电子朋克嘻哈 / 工业说唱,108 BPM,降 b 小调
Dark E-punk hip-hop / industrial rap, 108 BPM, B-flat minor. Ominous sermon-like tension turns into club-ready catharsis…
轻快放克 / nu-disco,112 BPM,降 E 大调
Upbeat funk / nu-disco, 112 BPM, E-flat major. Confident, strutting and celebratory, with a smooth soulful male tenor, playful staccato phrasing, falsetto flips…
原声波萨诺瓦 / 民谣,88 BPM,升 F 大调
Acoustic bossa nova / folk, 88 BPM, F-sharp major. Serene, pastoral and playful, with buoyant choruses, a breathy honeyed female soprano…
体育场流行摇滚,132 BPM,E 大调
Anthemic stadium pop rock, 132 BPM, E major. Airy, buoyant verses build into an adrenaline-filled chorus, with a powerful female mezzo-soprano, soaring octave hooks…
温暖治愈国语抒情,中年男女对唱
…middle-aged mature male and female duet, mature parental voices aged around 50-70… slightly weathered gravelly low register… strong Taiwanese accent in vocals… no youthful bright tone
最后那首的输入指名要「50 到 70 岁的成熟父母辈嗓音、带台湾腔、不要年轻明亮的音色」。这种细到年龄段和口音的要求能不能兑现,正是「结构化描述」这套输入格式有没有用的实测。
其余七首
未来感旋律 EDM / 前卫浩室
前卫浩室 / EDM,126 BPM,降 B 大调
明亮力量流行 / 流行摇滚,112 BPM,降 E 大调
振奋前卫浩室 / EDM,126 BPM,降 A 大调
轻波萨诺瓦 / 巴西流行,88 BPM,降 D 大调
轻快放克 / 当代 R&B,带 nu-disco 光泽
温暖流行摇滚 / 灵魂乐,88 BPM,降 B 大调
官方博客共放出 16 段音频,其中第 2 段与第 11 段的输入描述和歌词完全相同,实际不重复的是 15 首,本站已去重。全部音频直链自 MiniMax 官方 CDN。
许可证
年营收 2000 万美元以下,商用免授权
听着不错,我能不能拿去用?这次发布把「开源」写进了标题,可博客正文从头到尾没有一句涉及许可证,所以这一节的内容全部来自协议本文。
它叫 MiniMax-Music3 社区许可证,全文 7400 字节,开头那段措辞几乎照抄 MIT 许可证:免费使用、可以改、可以再分发、可以商用。附加条件只有四条:
| 条款 | 具体要求 |
|---|---|
| 商用署名 | 用了它的商业产品或服务,界面上要显著显示「MiniMax-Music3」 |
| 营收门槛 | 你和关联公司的年总营收超过 2000 万美元,需发邮件到 api@minimax.io 单独取得书面授权 |
| 服务方责任 | 拿它对外提供生成服务的,要自建合理的防护措施防止用户产出侵权内容,且不得故意关闭或削弱这些防护 |
| 使用规范 | 附 19 条:不得造谣、不得冒充他人、不得军用、不得用于高风险自动决策;公开发布 AI 生成内容要明确标明是机器生成的 |
对绝大多数个人创作者和中小团队来说,这四条里真正要动手的只有第一条:在界面上标一句模型名。
没有地域排除条款
同一家公司十天前刚发过一份完全不一样的协议。
协议末尾还写清了这个模型的血统:全局模型微调自 Qwen3-8B(Apache 2.0 协议),扩散部分改自 Stability AI 的 stable-audio-tools(MIT 协议),VAE 改自 Descript 的音频编解码器 DAC(MIT 协议)。
上手
8GB 显存能跑,但官方自己列了五条限制
既然许可证放行了,那机器这一关呢?这部分博客同样没写,全在模型卡里。
显存三档(说的是单卡这条路)
先说清楚这三档对应哪条路:用 diffusers 在一张卡上跑的情况。官方推荐的那条服务化路径要求不一样,下一段单说。
ComfyUI 那边另外提供了 INT8 量化版本的模型文件,专门给小显存的卡用,生成长曲子时还可以打开分块解码,把显存占用再压一截。
另外,HuggingFace 的模型页上已经挂着社区做好的 3 个微调版和 4 个量化版,不想自己转格式可以直接下现成的。
三条部署路子
| 方式 | 情况 |
|---|---|
| SGLang-Omni | 官方推荐,但要两张 CUDA 卡:一张跑语言模型和码本生成,另一张跑 flow matching 和波形解码。调用格式跟语音接口一样:歌词放 input,风格说明书放 instructions,POST 到 /v1/audio/speech,回一个 wav |
| diffusers | 已有模块化流水线,但合并请求还没进主分支,得从指定 commit 装 |
| ComfyUI | 0.33.0 起原生支持,模板库 → Audio → 选 MiniMax Music 3 工作流,跟着弹窗下模型就能跑 |
官方自己写的五条限制
这份清单是厂商自己列的,含金量比任何效果描述都高:
| 限制 | 意味着什么 |
|---|---|
| 只能用 CUDA | 得有 N 卡,苹果 M 系列芯片跑不了。⚠️ 这一条两份官方材料口径不同:模型卡写「需要 CUDA」,GitHub 仓库写「需要两张 CUDA 卡」并注明两张卡各跑什么 |
| 不支持流式输出 | 整首生成完才拿得到,中途听不到进度 |
| 文字提示上限 5000 个 token | 说明书加歌词的总长度上限,一般够用 |
| 音频上限 9000 帧 | 按每秒 25 帧折算约 360 秒,六分钟,比宣传的五分钟略有余量(本站折算,官方口径为五分钟) |
| 段落标记和风格描述是生成引导,不是硬性保证 | 最要紧的一条:出来的速度、调式、乐器、歌词、结构,不保证每个细节都跟你要求的完全一致 |
最后这条把前面所有讨论都拉回地面:这套结构化描述让「说了算数」的概率高了很多,但它仍然是概率,不是把谱子输进音源库那种确定性执行。
npx skills add MiniMax-AI/MiniMax-Music3 --skill music-caption-rewriterMiniMax 把撑得住五分钟不散架的音乐模型开源了,8GB 显存就能自己跑
MiniMax 发布 Music 3.0 并开放权重,一页图看完它怎么用两个模型分工撑住五分钟不散架。
↓ 一页读完 · 有一张会动的图
以前扔一句话,现在递一份编曲说明书
AI 写歌一直有两个老毛病:说了不算数,点名的乐器唱到一半自己消失;长了就散,五分钟前后接不上。病根在于以前只给整首歌一个笼统的描述。
一句「来首伤感的民谣」,模型只懂整体气质,不知道第 47 秒该发生什么。
- 全局信息:风格、BPM、调式、情绪走向
- 人声细节:音色、唱法、和声
- 编曲:哪件乐器哪一段进、哪一段退
官方 demo 一首歌的说明书写到 700 多词。
两个模型分工:一个记整首,一个管一帧
声音先按每秒 25 帧切开,每帧再编成 8 层码本,第一层管骨架,其余 7 层管音色细节。这些帧顺次交给两个不同大小的模型处理。
跳过压缩这一步,换气和滑音才留得住
决定好不好听的是最后一步,而它最容易被压缩掉。
语言模型吐出压缩过的码字,解码器再照着码字还原声音。压缩这一步,换气、滑音、弦震完的余韵已经丢了。
推理时不加载那个解码器,两个模型算出的原始信息直接送进 24 亿参数的 flow matching 和 1.23 亿参数的 Flow-VAE,渲染成 32kHz 立体声。
8GB 显存能跑,但模型卡自己写了限制
权重直接开源,显存门槛不算高,商用条件也宽,这次发布的边界,都写在 MiniMax 自己的模型卡里。
✔ 8GB 显存靠逐层加载能跑(慢),24GB 可跑满血版
✔ 年营收 2000 万美元以下商用免申请,界面标个名字就行
✘ 不支持流式输出,生成完才能听
✘ 段落标记和风格描述是引导,不是精确保证
✘ 整篇发布 0 个跑分、0 组对比实验
长了就散,前后接不上
哪段进哪段退,写死
- × 不支持流式输出
- × 标记只管引导,精确度不保证
