UniVocal:统一的语音-歌唱代码混用合成¶
会议: ACL 2026
arXiv: 2606.01677
代码: https://github.com/FunAudioLLM/FunResearch/tree/main/UniVocal
领域: 语音歌唱合成 / 多模态音频生成
关键词: 语音-歌唱代码混用, 链式思维生成, 精细音高表示
一句话总结¶
UniVocal 通过精细音高令牌和两阶段课程学习,训练模型从纯文本语义自动推断语音/歌唱切换点,无需显式标签,在新构建的 SCSBench 基准上达到 SOTA 性能。
研究背景与动机¶
领域现状:语音合成(TTS)、歌唱声音合成(SVS)和音乐生成各自专精一个领域,但难以协同工作。传统方案要么只能生成单一模式,要么通过显式标签(如 <sing>/<speech>)手动控制切换。
现有痛点:真实人类在日常交流中会自然地混合语音与歌唱——比如谈话中哼唱一段旋律、用歌曲辅助记忆。现有系统无法捕捉这种 基于文本语义的自动切换。Bark 等系统虽尝试混合模式生成,但依赖显式标签且缺乏语义感知能力,导致过渡不稳定。
核心矛盾:TTS 缺乏旋律表达能力,SVS 受限于音乐规则和谱,两者的隐式表示空间分布存在巨大差异,直接混合会导致学习失败。同时,语义分词器(semantic tokenizer)丢弃细粒度音高信息,无法精准建模语调和旋律。
本文目标:定义"语音-歌唱代码混用(SCS)合成"任务,使模型能:(1) 从纯文本推断何时说话、何时唱歌;(2) 在两种模式间平滑过渡;(3) 保持单一说话人风格的一致性。
切入角度:采用课程学习分阶段突破——先对齐两种模式的隐式表示空间,再在合成数据上学习语义触发机制;同时引入高分辨率音高表示法(精细音分令牌)作为"先规划后生成"的结构性约束。
核心 idea:用 1200 分度的精细音分令牌显式补充语义分词器丢失的音高信息,辅以链式思维(CoT)生成强制模型预先规划音乐/声调框架,再进行具体内容生成——这一设计既增强歌唱旋律精准度,也无意中激发了模型的文本共鸣(empathy)能力。
方法详解¶
整体框架¶
UniVocal 以 CosyVoice 2 为骨干,构建统一的文本到声音生成框架。系统输入为:(1) 任务级别的自然语言指令(如"生成播客"或"生成歌曲");(2) 待合成文本。模型输出为:(1) 精细音分令牌序列;(2) 语义令牌序列;(3) 最终波形。关键是 CoT 交错生成策略:模型在每个 25Hz 帧上交替预测音高后再预测内容,实现"规划→生成"的两步框架。
关键设计¶
-
精细音分令牌 (Refined Cent Token):
- 功能:用 1200 分度的对数频率表示(参考频率 440Hz)代替粗糙的半音或原始 F0,精准捕捉语调和旋律。
- 核心思路:定义音分到令牌的映射为 \(I(f_{cent})=\lceil f_{cent} \bmod 1200 \rceil\),其中 \(f_{cent}=1200 \log_2(f_{Hz}/440)\)。无声区域记为令牌 -1。这样既能覆盖整个人类发音范围(跨越多个八度),又通过模 1200 操作将其映射到单个八度内,形成统一的令牌空间;最大量化误差 ≈1 音分(0.08% 频率偏差),感知上无损。
- 设计动机:传统语义分词器丢弃了细粒度音高,导致语调平坦;1200 分度相比半音(12 个)更精细,相比原始 F0 更可控;这一设计弥补了语义令牌和声学之间的鸿沟。
-
链式思维交错生成 (Interleaved Chain-of-Thought):
- 功能:强制模型在每个时步先生成音高令牌,再生成语义令牌,实现"结构规划优先"。
- 核心思路:扩展 CosyVoice 2 的词汇表,添加 1201 个音分令牌(1200 个音分值 + 1 个无声令牌),并独立初始化其嵌入向量。联合概率分解为 \(P(\mathbf{Y}|\mathbf{X})=\prod_t P(c_t|\mathbf{X},\mathbf{Y}_{<t}) \cdot P(s_t|\mathbf{X},\mathbf{Y}_{<t},c_t)\),其中 \(c_t\) 和 \(s_t\) 分别为音分令牌和语义令牌。推理时通过 logit mask 强制执行此顺序。
- 设计动机:模型必须先"想清楚"整体音高轨迹(如声调从低到高上升),再生成具体词汇和细节,避免语义和音乐目标冲突。
-
两阶段课程学习:
- 功能:分步骤消除两种模式间的分布差异,逐步获得自动切换能力。
- 核心思路:第一阶段 在对齐数据上继续预训练(4:1 歌唱:语音比例),使用任务级指令,独立学会两种模式;第二阶段 使用合成代码混用数据进行有监督微调,并混合 1:1:1 比例的代码混用/语音/歌唱数据防止灾难性遗忘。
- 设计动机:直接在混合数据上训练会导致收敛困难(单阶段变体的 F1 跌至 0.496);先对齐是后续获得语义触发的前置条件。
合成数据管道¶
针对代码混用数据稀缺问题,作者引入三步数据合成流程:
- 语义文本生成:用 Gemini 2.5 Pro 生成"模糊边界"的脚本(独白、播客、有声书),融合隐式(语音为散文体、唱歌为抒情体)和显式(如"让我想起一首歌")切换触发词。
- 统一音频合成:用第一阶段模型合成所有片段,语音条件于情感参考音频(来自 Expresso 数据集的 9 种情感)确保情感一致,歌唱仅条件于说话人嵌入以保持音色稳定。
- 质量过滤:用 Whisper-v3 计算 WER,丢弃 WER ≥20% 的样本,保留 10-20% 的样本以增加多样性,最终得到 11,769 样本(262 小时)。
实验关键数据¶
主实验¶
| 模型 | SCSBench-Implicit F1(O) | F1(S) | SCSBench-Explicit F1(O) | F1(S) | SCSBench-Mixed F1(O) | F1(S) |
|---|---|---|---|---|---|---|
| Gemini + Bark | 0.414 | 0.142 | 0.533 | 0.250 | 0.465 | 0.199 |
| Gemini + Cosy2 + LeVo | 0.752 | 0.685 | 0.572 | 0.489 | 0.607 | 0.566 |
| UniVocal | 0.626 | 0.595 | 0.714 | 0.635 | 0.871 | 0.810 |
混合场景(既有隐式又有显式触发)下,UniVocal 在目标 F1 和 Whisper F1 上双双 SOTA。同时保持最低 WER(5.83-10.90%)和最高 UTMOS(4.36)。
消融实验¶
| 模型变体 | 文本共鸣 E-MOS | P-MOS | 歌唱自然度 N-MOS | M-MOS | 切换准确度 SCS F1 |
|---|---|---|---|---|---|
| UniVocal(完整) | 2.26 | 2.22 | 2.23 | 2.18 | 0.716 |
| w/o CoT(无链式思维) | 2.03 | 1.84 | 2.20 | 1.86 | 0.810 |
| w/o CL(无课程学习) | 2.24 | 2.23 | 2.29 | 2.17 | 0.496 |
移除 CoT 虽然提升切换稳定性(F1→0.810),但代价是表现力大幅下降;移除课程学习则切换能力崩溃(F1→0.496)。
关键发现¶
- 显式触发的关键作用:包含"让我唱一首"之类触发词的样本切换准确率显著更高。
- 哼唱异常:无语义内容但具有独特文本形式(如"mm-mm")的哼唱作为"强隐式触发"表现出色。
- 说话人一致性优于基线:虽全局说话人相似度略低(0.65),但通过时间片段间相似度可见 UniVocal 的句内一致性显著高于级联基线。
- 实时性能:4 张 A800 GPU 上第一阶段耗时 5 天,第二阶段 1 天,总计 6 天训练。
亮点与洞察¶
- "规划→生成"的因果链:CoT 交错生成让模型显式建模音高轨迹后再填充词汇,打破了传统 end-to-end 生成的"黑盒",相关系数验证(\(\rho=0.679\))证明音分令牌确实充当了结构规划者。
- 数据合成范式:用 LLM 生成语义连贯的代码混用脚本 + 两阶段模型合成 + 质量过滤的闭环管道,既保证了数据自然性,也规避了手工标注。
- 隐形收获——文本共鸣能力:原本为了增强音乐建模而引入的 CoT 机制,意外地激发了模型的情感表达能力(E-MOS +0.48 vs 基线)。
- 级联 vs 统一的权衡:级联系统全局相似度更高但句内音色漂移明显;UniVocal 虽全局指标略低,但整体一致性更强。
局限与展望¶
作者承认的局限:
- 合成歌唱数据受源分离和 ASR 工具限制,存在电子音伪影和歌词对齐误差。
- 合成训练数据与真实复杂场景间存在分布差异;纯隐式切换仍然不够稳健。
- F1 评估在单个短样本上常陷入二值结果,样本级相关性有限。
自发现的局限:
- 模型对"真实世界"场景的泛化受限(Raw Real SCS F1=0.201),需要显式触发才能恢复。
- 课程学习中第一阶段的 4:1 歌唱:语音比例是手工调优的,缺乏系统的比例搜索。
改进方向:收集高质量真实歌唱数据;探索更细粒度的语义理解作为隐式切换触发的补充;扩展 CoT 机制到其他多约束生成任务。
相关工作与启发¶
- vs Bark(混合模式生成):Bark 依赖显式标签且过渡不稳定,UniVocal 通过文本语义推断实现自动切换且稳定性更强(F1 0.871 vs 0.465)。
- vs UniSyn/UniAudio(统一音频生成):两者虽支持多任务,但只能生成单一模式,不支持序列内切换;UniVocal 专门为混合生成优化。
- vs Vevo2(统一声学建模):Vevo2 用色度图令牌建模声学(12 半音分辨率),需要参考音频确定模式;UniVocal 用 1200 分度音分令牌且从纯文本推断,粒度更细、输入需求更少。
- 启发:显式音高建模对于多模态声学生成至关重要;链式思维的"先规划后生成"范式可推广到受多约束制约的生成任务。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 首次定义并解决语音-歌唱自动代码混用问题,引入精细音分令牌和 CoT 生成的组合创新。
- 实验充分度: ⭐⭐⭐⭐ 构建 SCSBench 基准并纳入隐式/显式/混合三个场景;消融全面;样本级相关性有限但系统级验证充分。
- 写作质量: ⭐⭐⭐⭐⭐ 逻辑清晰,动机充分,方法细节完整,附录丰富。
- 价值: ⭐⭐⭐⭐ 首次在端到端框架中实现语音-歌唱自动过渡,具有学术新意和应用潜力;所有代码和数据开源。