没有对齐录音也能训?拆 SheetSage2 + MERT2 如何给 YuE2 造监督信号
在大模型音乐生成这条赛道上,"数据从哪来"往往比"模型长什么样"更能决定上限。语音合成领域可以靠海量带逐字时间戳的标注语料训练 TTS,而全曲音乐生成面对的现实是:歌词、旋律、和声与音频逐帧对齐的"完美标注"几乎只存在于商业公司的私有数据管线里。YuE2 给出的回答很有意思——与其纠结怎么凑对齐数据,不如先让两个辅助模型把"没有对齐的录音"改造成训练可用的监督信号。本文基于 YuE2 的技术报告情报与本仓库(Comfy-Org/Yue2 的 ComfyUI 重打包)实际文件布局,拆解这套"无对齐也能训"的数据方案。
一、对齐数据稀缺:音乐生成训练的第一道坎
端到端语音模型之所以进展快,靠的是大规模"文本-音频"强对齐语料;音乐生成却天然缺这一环。一首成品歌里,人声、鼓、贝斯、弦乐在时间轴上纠缠,歌词与音符之间没有逐帧标注,乐谱与实际演唱之间还隔着演奏自由度。对开源社区而言,要么花巨资人工标注,要么像 Suno 那样靠闭源数据积累壁垒。
YuE2 的技术报告给出的路径是:训练依赖 MERT2(多视角语义分词器)与 SheetSage2(全曲主旋律转录器),从无对齐录音中构建监督信号。换句话说,它把"对齐"这个最贵的环节,替换成了两个可以离线批量跑的模型——一个负责从音频里挖出语义级 token,一个负责把整首歌"听写"成主旋律乐谱,再以这两者的输出作为训练 YuE2 主干的伪标签。
这一点在本仓库的文件布局里能直接看到佐证。ComfyUI 重打包版将模型拆成两组放置:主模型 yue2_3b_bf16.safetensors 与 yue2_3b_int8_convrot.safetensors 归入checkpoints/,而 sheetsage2_bf16.safetensors 被单独放进audio_encoders/目录(见 README.md 的目录结构说明)。一个"音频编码器"以独立权重形式与主模型并列分发,说明它在 YuE2 的推理与训练管线中都是可插拔的独立组件,而不是被焊死在主干里的残差模块。
二、MERT2:多视角语义分词器在做什么
YuE2 训练的第二支柱是 MERT2。按技术报告的定位,它是一个多视角语义分词器:把原始音频切分成带语义信息的离散 token 序列,而不是停留在声学层面的频谱帧或波形编码。
为什么要"多视角"?一首歌里的人声、旋律线、和声与打击乐,各自在不同时间尺度、不同频段上携带语义。单一视角的声学 token 只能回答"这段声音听起来像什么",回答不了"这段在音乐上是什么"。MERT2 从多个视角对同一段录音做语义化离散,得到的 token 相当于给无标注录音贴上了"帧级伪标签"——这正是 YuE2 训练时最缺的监督信号:有了它,模型可以在语义 token 与音频内容之间建立映射,而不再依赖任何人工对齐。
在 YuE2 的生成链里,这个分词器同样扮演角色:主干先生成可读、可编辑的旋律与和声规划(ABC 乐谱),再将其扩展为语义音乐 token,随后映射到连续声学隐变量,最终解码为 48kHz 立体声音频。MERT2 提供的语义 token 就是中间那条"谱面 → 声学"的语义桥梁。
三、SheetSage2:把任意歌曲"听写"成主旋律谱
如果说 MERT2 负责语义层,SheetSage2 则负责结构性监督。它是一台全曲主旋律转录器(whole-song melody transcription):输入一段录音,输出的是该曲的主旋律符号谱——也就是可读、可编辑的音乐事件序列。
这套能力的价值在零样本翻唱工作流里体现得最直观:社区教程展示的标准流程是"录音转无和弦旋律谱(SheetSage2)→ 人工审校 → 乐谱 + 风格/歌词 JSON 请求 → 生成 48kHz 翻唱音频"。这里的要点是 SheetSage2 刻意只输出melody-only 谱,把和声留给生成模型自己决定;社区实测 benchmark 也显示,melody-only 谱反而提升了风格贴合度与音乐性——因为主旋律是"不可侵犯的骨架",而和声是"可以再创作的自由空间"。这也解释了 YuE2 官方提供 Music Cover 工作流模板、把翻唱作为一等公民能力的底气所在。
对训练而言,SheetSage2 提供的全曲主旋律转录,让 YuE2 获得了两类关键监督:旋律线的时间结构(哪句歌词对应哪个音符走向)与曲式段落结构(前奏/主歌/副歌/间奏的划分)。这些结构信息从录音里自动"听写"出来,再配合歌词输入,就构成了符号规划层的训练目标。
四、从录音到谱面再到音频:监督信号如何闭环
把两个辅助模型串起来,YuE2 的"无对齐训练数据工厂"就成形了:
- 收集海量没有对齐标注的成品歌曲录音;
- MERT2 将其切分为多视角语义 token,提供"音频内容是什么"的语义监督;
- SheetSage2 将其转录为全曲主旋律谱,提供"音乐结构是什么"的符号监督;
- 两条输出合成 YuE2 的训练目标:给定歌词与风格描述,模型先输出 ABC 符号规划(可读、可编辑),再扩展为语义 token 与声学隐变量,最终解码成 48kHz 双声道成品。
这套闭环的价值在于把昂贵的"对齐标注"替换成便宜的"模型蒸馏":MERT2 与 SheetSage2 都是可离线批量推理的辅助模型,跑一遍就能给任意录音造出伪标签。这也解释了为什么 YuE2 能同时做到"白盒可控"与"音质对标商业闭源"——它训练时的监督本身就是从符号与语义两个层面给出的,生成的输出自然保留了这两层的可编辑性。
本仓库给出了这套管线在 ComfyUI 侧的落地形态:audio_encoders/sheetsage2_bf16.safetensors作为音频编码器独立加载,两个 3B 主检查点分别提供 bf16 与 int8 卷积旋转量化(convrot)两种部署选项,后者面向显存更受限的消费级显卡。README 中同时登记了 Text to Music 与 Music Cover 两类工作流模板,分别对应"歌词到歌曲"与"录音到翻唱"两条主线,与上述数据管线一脉相承。
五、效果验证与落地边界
监督信号的质量最终要拿评测说话。根据技术报告与社区实测数据,YuE2(best-of-8)在 WildSongBench 的 SongBench 全局平均分达到 6.96,超越全部公开基线;专家评测进一步显示,其音频质量与商用系统 Suno v5 相当,而符号化规划在音乐性与可控性维度上显著占优。对一个不依赖对齐标注训练的开源模型来说,这个成绩本身就是"伪标签方案成立"的实证。
落地层面需要留意的边界同样明确:本仓库遵循cc-by-nc-4.0许可(见 README.md 头部元信息),意味着可以自由研究、部署与二次开发,但商业用途受限;零样本翻唱的效果上限取决于 SheetSage2 转录谱的质量——乐谱决定上限,生成模型只是在乐谱约束内把上限兑现出来。
结语
YuE2 给音乐生成训练指了一条更省力的路:当对齐数据不可得时,不要硬凑,而是用 MERT2 与 SheetSage2 把"无对齐录音"本身改造成监督信号。分词器负责语义、转录器负责结构,两条伪标签流支撑起 AR–NAR 混合 Transformer 的训练,最终换来的是可编辑的乐谱、可干预的生成与可对标闭源的音质。对开源音乐生成社区而言,这套"数据工厂"或许比模型权重本身更具迁移价值——它意味着后来者不必重复采集对齐数据的苦功,也能在白盒可控的路线上站稳脚跟。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考