📄 分阶段学会情感语气和环境音的语音生成
英文题目:VoiceWeaver: Staged Learning of Structured Controls for Expressive Speech and Sound-Event Generation
标签:#文本到语音 | #韵律与风格控制 | #持续学习 | #知识蒸馏 | #课程学习
评分:5.8/10 | 创新 1.2/2 | 技术严谨 1/1.5 | 实验充分 1/1.5 | 清晰度 0.8/1 | 影响力 0.5/1.5 | 开源 0/1.5 | 可复现 0.3/0.5 | 工程/实践 1/1.5
👥 作者与机构
- Xiaosu Su:机构信息未在 arXiv HTML 中可靠披露
- Yun Cao:机构信息未在 arXiv HTML 中可靠披露
- Yiping Ni:机构信息未在 arXiv HTML 中可靠披露
- Xiaowei Yi:机构信息未在 arXiv HTML 中可靠披露
📌 核心摘要
需要生成的语音同时满足文字内容、说话人、情感这类整体状态、gentle 等文本相关的表达方式,以及 rain 等非语音环境声,难点是三类监督来源不同且声学边界不同,顺序加入新控制时容易遗忘旧控制,多个条件同时给定时也未必同时实现。VoiceWeaver 把可选标签做成前缀嵌入后与说话人标记和文本拼接成一条条件序列,送入自回归声码本模型生成音频标记再重建波形。学习按情感、语气、事件三阶段展开,后阶段用冻结的前一阶段模型在回放样本上做分布保持约束,并对三组标签嵌入做去相关约束与标签缺失训练以支持不完整输入。相对参考音频控制与开放式文本描述控制,该工作使用小而明确的标签词表,并把单属性正确率、情感与事件联合正确率与三属性同时正确率分开评测。在每语言 720 组文本标签组合的情感与事件联合测试中,中文联合正确率为 70%,高于混合任务训练的 56% 与 Ming-omni-tts 的 48%。结论限于中英双语封闭标签集合,语气对文本依赖明显,较弱或连续事件可能被掩蔽,且录音级隔离未经证实。原文报告三阶段分别为 80K、50K 与 60K 步,后阶段回放占 10%,未披露硬件型号与训练时长。
🔗 开源与复现资源
- 第三方资源:https://anonymous.4open.science/api/repo/VoiceWeaver1-4D88/file/index.html — 链接可访问(HTTP 200)
可达状态仅表示本次链接检查结果,不代表许可证、本文权重或运行复现已验证。
🧭 深度解读
这篇论文要解决的语音生成任务是什么
论文处理的是带控制的语音和场景声联合生成。输入是待朗读的文本,加上说话人标记,以及可选的结构化请求:6 种情感之一、5 种语气之一、12 种声音事件之一。例如请求高兴加上雨声,输出就应是高兴语气的朗读叠加雨声音景。输出是波形,内容必须与输入文本一致,同时让听众能辨认出请求的情感和事件。难点在于 3 类属性性质不同。
情感是整句的全局状态,相对稳定;语气如温柔、犹豫、撒娇、抱怨、认命,更依赖文本措辞是否相配;事件是非语音的环境声,与语音的声学边界不同。如果把 3 类标签 1 次性混在一起训练,模型容易顾此失彼,学会新事件时忘记已学会的情感表达。论文把问题明确为能否按顺序逐步获得异构标签,并在最后同时实现情感和事件。
已有路线提供了什么,还缺哪一步验证
原文回顾了 3 条路线。第一条是编解码语言模型,把语音表示成离散音频码,用文本加音频的统一序列建模,这为语音和事件共用一个生成器提供了形式基础。第二条是提示控制与解耦表示,例如用文本描述控制风格,或把说话人、内容和风格拆成不同表示,这类方法多处理单一风格维度。第 3 条是环境声建模和多能力语音模型,例如对场景声建模,或支持语音加事件提示的系统。
论文指出,已有系统即使能接受多个条件,也没有证明请求的情感和事件被同时实现。本文的差别是采用小而明确的标签词表,而不是参考音频或开放式文本描述,并把研究重点放在异构标签能否被顺序习得而不丢失旧控制,以及情感和事件是否真正共存。比较时需要注意输入、接口和数据规模不同,因此与外部系统的对比是系统级对比,不是同条件下的结构胜负。
输入如何组织,缺标签时怎么办
模型把 1 次请求写成 1 个条件序列。公式上是标签前缀、说话人标记、文本起始符、文本内容和文本结束符拼接而成。标签前缀内部按情感嵌入、语气嵌入和事件嵌入排列,缺失的属性直接省略,不占用位置。比如只给情感时,后面就只跟说话人和文本;同时给情感、语气和事件时,3 个嵌入依次放在最前面。
这种设计把控制请求和语言内容放在同一序列里,模型不需要额外的对齐模块。论文强调标签是整句的全局请求,不是逐时刻的事件位置标注,因此不会告诉模型雨声出现在第几秒。语气在这里特指表达方式,不是汉语的声调。训练时还引入属性丢弃,即每个已有的属性以 0.8 概率保留、以 0.2 概率随机丢掉,文本和说话人始终保留,目的是让模型能接受不完整的标签集合。
从文字和标签到波形的整体流程
整个生成分两条路径。下方是 1.5B 规模的自回归主干,它读入标签前缀、说话人和文本,逐帧预测第 0 号语义码本。上方是一个 200M 的轻量解码器,根据主干的隐状态和已生成的码本,补出同一帧的第 1 到 15 号码。最后编解码器解码器把 16 个码本还原成波形。分工上,主干决定说什么、以什么情感和语气说、叠加什么场景,轻量解码器补充音质细节。
编码器端把语义特征和声学特征融合后再量化,采样率 16 kHz,每秒 12.5 帧,每个码本有 2048 个条目。下面的示意图可以帮助初学者建立输入到输出的顺序感,先看底部色块,再看中间 2 级预测,最后看顶部波形。
看图路径: 1. 先看底部输入色块的排列顺序,确认情感、语气、事件、说话人和文本的位置;2. 再看大语言模型上方灰色隐状态与 0 号音频码的关系;3. 最后看轻量解码器如何从 0 号码补出 1 到 15 号码再进入编解码器解码器
论文图 1。原论文 Figure 1::“VoiceWeaver architecture and token types. The autoregressive backbone predicts codebook 0; the lightweight decoder predicts codebooks 1–15 before codec reconstruction.”。
图中底部从左到右是紫色情感标记、黄色语气标记、浅蓝事件标记、粉色说话人标记和浅绿文本标记,中间是大语言模型方框,向上引出灰色隐状态和标号为 0 的音频码,再经过轻量解码器得到标号 1、2 直到 15 的音频码,最上方是编解码器解码器和波形图标。虚线箭头表示同一帧内不同码本之间的依赖。由此可见控制信息只在输入端出现 1 次,后续音频码的生成都以它为条件,标签缺失时对应色块省略,流程其余部分不变。
基础目标如何权衡语义码、声学码和文本
基础目标同时监督三部分。Lc0 是第 0 号语义码本的交叉熵损失,Ldec 是其余 15 个码本的损失,Ltxt 是辅助文本损失。论文给出的加权形式是先在语义与声学之间按 1 减 α 和 α 分配,再整体乘 2,最后加上系数为 λ 的文本损失。原文取 α 为 0.6,λ 为 0.01。这意味着声学细节码的权重高于语义码,文本损失只占很小比例,起到稳定语言内容的作用。理解这个权重很重要,因为后续阶段都在这个基础目标上叠加保持和正则项,如果基础目标本身偏向音质,文本保真度的改善空间就有限。
\[\mathcal{L}_{\mathrm{AR}}=2\bigl[(1-\alpha)L_{c0}+\alpha L_{\mathrm{dec}}\bigr]+\lambda L_{\mathrm{txt}},\]情感 × 语气: 情感指整句的全局 affective 状态,例如高兴或悲伤,决定整体韵律和能量走向;语气指温柔、犹豫这类更依赖文本措辞的表达方式,决定局部停顿和轻重处理。二者搭配是因为只给情感容易得到夸张但不贴合文本的读法,加入语气后模型需要同时满足全局情绪和局部措辞,组合后才能区分同一情感下的不同说话方式。
标签前缀 × 音频编码: 标签前缀是放在文本和说话人标记之前的控制符号序列,用学到的标签嵌入表示请求的情感、语气和事件;音频编码是把 16 kHz 波形压成每秒 12.5 帧、每帧 16 个残差码本的离散符号。标签前缀负责告诉模型要生成什么风格和场景,音频编码负责给出可逐帧预测的生成目标,二者组合后自回归主干可以根据同一条件序列先预测语义码本,再补全声学细节码本。
举例来说,输入文本相同但标签从高兴换成悲伤时,主要变化应体现在第 0 号码的走向,进而带动韵律变化;若再叠加温柔语气,局部停顿和语速的调整也会反映在码序列中。事件标签则要求同一文本下出现可辨的背景声编码。基础目标本身不区分属性类型,因此需要后续的课程和正则来避免不同属性互相覆盖。
回放蒸馏和嵌入解耦具体计算什么
进入第二和第 3 阶段后,模型不再只拟合新数据。保留损失要求当前模型在回放样本上的预测分布接近冻结的上 1 阶段模型。求和遍历回放集合中的每个样本、每个音频帧和每个码本,对两个分布计算 KL 散度。这里 2 个模型使用相同的 teacher-forced 上下文,比较的是给定相同前缀时下一码的分布差异,而不是自由生成的长程差异。第二阶段用冻结的情感阶段模型加情感回放,第 3 阶段用冻结的情感语气模型加前 2 阶段的回放。蒸馏对象是前一个 VoiceWeaver 检查点,不同于合成训练数据的 IndexTTS2 教师。
\[\mathcal{L}_{\mathrm{ret}}^{r}=\sum_{u\in\mathcal{R}^{r-1}}\sum_{j,q}D_{\mathrm{KL}}\!\left(P_{\theta^{r-1}}^{j,q}(u)\,\|\,P_{\theta^{r}}^{j,q}(u)\right),\]解耦损失针对标签嵌入矩阵。把同一属性的多个标签向量按列排成矩阵,先按标签中心化再按列做归一化,然后计算不同属性嵌入矩阵之间转置相乘的 Frobenius 范数平方,3 组属性两两相加。原文取权重 γ 为 0.1,蒸馏权重 β 为 0.5。它是作用在条件嵌入上的软约束,希望情感、语气和事件的标签方向不要高度重叠,而不是对音频因素做完全独立性假设。阶段目标因此是第 1 阶段只用基础目标,第二和第 3 阶段在基础目标上加两项正则。
\[\mathcal{L}^{1}=\mathcal{L}_{\mathrm{AR}}^{1},\qquad\mathcal{L}^{r}=\mathcal{L}_{\mathrm{AR}}^{r}+\beta\mathcal{L}_{\mathrm{ret}}^{r}+\gamma\mathcal{L}_{\mathrm{dis}},\quad r=2,3,\]直观理解是,蒸馏把旧模型的输出拉住,解耦把新旧标签的表示推开,属性丢弃则让模型习惯缺标签输入。三者分工不同,消融实验分别去掉它们可以看出各自对联合正确率的贡献。
为什么先学情感再学语气最后学事件
课程顺序是先情感、再语气、最后事件。情感阶段学习稳定的全局 affective 线索,语气阶段加入更依赖文本的表达方式,事件阶段加入非语音的环境声。训练步数分别为 8 万、5 万和 60,000 步,共 190,000 步,使用 AdamW,学习率 1e-5,批量 16,预热 5000 步,后 2 阶段回放占比 10%。数据上情感和语气阶段共 1204800 条双语合成样本,约 3500 小时,其中中文 783120 条、英文 421680 条;事件阶段 862400 条,约 2500 小时,其中中文 552000 条、英文 310400 条。
事件混合的相对语音事件电平范围是 5 到 20 dB。语气只保留温柔、犹豫、撒娇、抱怨和认命 5 类,是从 11 个候选中用二十句中性句加 3 位可感知性评审筛选出的相对可辨的子集。事件用 12 个 ESC-50 类别,480 个片段来自 96 段原始录音,短事件随机放置、长事件裁剪对齐,并经过编码器重建后仍能被 PANNs 识别的筛选。下图把阶段、输入和损失的递进关系画得很清楚。
看图路径: 1. 对比三个阶段结构化前缀中激活与置灰标签的变化;2. 看每阶段下方损失符号从单一情感损失到增加保持与解耦损失;3. 沿底部虚线看冻结的前一阶段参数如何向当前阶段做 KL 蒸馏
论文图 2。原论文 Figure 2::“Three-stage training. Emotion, tone, and sound-event controls are introduced in sequence; replay and frozen teachers retain earlier capabilities.”。
图中从左到右是情感阶段、语气阶段和声音事件阶段,每个方框内都写出结构化前缀示例,例如情感阶段只有 emo_happy 激活而语气和事件置灰,语气阶段增加 tone_gentle,事件阶段再增加 evt_rain,每阶段都标注 AR 主干和损失符号,后 2 阶段注明 10% 回放。下方虚线标出冻结参数向前蒸馏的方向,底部箭头从强烈表达到细粒度语用到复合场景递进。这说明课程不是简单换数据,而是在同一接口下逐步扩大标签词表,同时用旧模型约束新模型。
回放 × 蒸馏保持: 回放指在学习新属性时继续混入 10% 左右的旧阶段训练样本,让模型仍能看到旧标签组合;蒸馏保持指用冻结的上一阶段模型在这些回放样本上给出各帧各码本的预测分布,要求当前模型输出与之接近。回放提供旧数据,蒸馏提供旧输出分布,二者组合后新阶段既学新标签,又被约束不要大幅改变已学会的情感或语气预测。
测试集、基线和评分规则如何设定
情感测试每种语言 600 条,6 种情感均衡;中文语气测试 300 条,每种保留语气 60 条;情感事件联合测试每种语言 720 种文本标签组合,即六情感乘十二事件,每组合 10 条文本;三属性测试每种语言 500 条。原文说明原始基准的测试文本与训练语料不重叠,但事件片段来自 96 段原始录音的源池,是否按录音划分与训练集隔离没有记录,因此联合基准不能度量对未见事件录音的泛化。
基线包括官方 IndexTTS2 参考音频控制、CosyVoice2 自然语言指令和 Ming-omni-tts 1 对一事件提示,所有系统读相同文本,外部系统用默认流程,VoiceWeaver 用固定解码。由于规模、数据和接口不同,属于系统级比较。情感正确率用 emotion2vec 判定,其真值上限 92.3%;事件用 PANNs 判定,上限 89.7%;语气用 3 位标注者多数票,Qwen3-Omni 做交叉检查。
文本错误用 FunASR Paraformer 计算,中文报字符错误率、英文报词错误率。联合正确率定义为情感和事件同时正确样本的平均,多模态一致性再要求字符错误率低于 8%,两种语言都用该阈值。三属性正确率是 500 样本中三者同时正确的比例。听感上每系统每语言 60 条,每条至少 5 人按 1 到 5 分评价自然度和共存自然度,中文 15 位、英文 10 位听众,每人评 30 对匹配样本,报告的 Krippendorff 系数分别为 0.70 和 0.62。百分比按四舍五入取整,因为原文未说明每个率背后的生成次数和平均方式。
单属性控制与文本保真度各是什么水平
下面这张原表回答单属性是否学会以及文本是否读准的问题。比较对象包括无标签模型、3 个外部系统和 VoiceWeaver,指标是中英文情感正确率、中文语气正确率和中英文文本错误率。情感和语气越高越好,错误率越低越好。阅读时要注意训练量差异很大,VoiceWeaver 约 6000 小时,而 IndexTTS2 约 55,000 小时、CosyVoice2 约 166,000 小时。
| Emotion ↑\uparrow | Emotion ↑\uparrow | Tone ↑\uparrow | CER ↓\downarrow | WER ↓\downarrow | |
|---|---|---|---|---|---|
| Model | ZH | EN | ZH | ZH | EN |
| No labels | 19 | 17 | 23 | 4.18 | 4.53 |
| IndexTTS2 | 83 | 80 | – | 1.88 | 2.34 |
| CosyVoice 2 | 75 | 72 | – | 1.52 | 2.57 |
| Ming-omni-tts | 77 | 75 | – | 2.14 | 2.82 |
| VoiceWeaver | 86 | 83 | 70 | 4.31 | 4.68 |
表中 VoiceWeaver 情感为中文 86%、英文 83%,中文语气 70%,中文字符错误率 4.31%、英文词错误率 4.68%。无标签模型情感仅 19% 和 17%、语气 23%,说明标签确实带来控制力。外部系统中 IndexTTS2 情感 83% 和 80%,Ming-omni-tts 为 77% 和 75%,CosyVoice2 为 75% 和 72%,VoiceWeaver 在该封闭情感集上略高。但文本错误率方面,外部系统中文在 1.52% 到 2.14% 之间,英文在 2.34% 到 2.82% 之间,VoiceWeaver 明显更高。关键是无标签模型已是 4.18% 和 4.53%,因此该差距不能完全归因于加标签。
把语气匹配文本换成随机文本后语气正确率从约 70% 降到 64%,说明语气仍明显依赖文本措辞。中文情感自然度平均 4.24 分,对比 IndexTTS2 的 4.16 和 CosyVoice2 的 4.22 分,原文指出均值差异不能确立显著性。
情感和事件能否在同一条音频中共存
下面这张原表回答核心问题,即要求的情感和事件是否被同时实现。比较的是 Ming-omni-tts 与 VoiceWeaver,语言分中文和英文,指标包括事件正确率、联合正确率、多模态一致性和共存自然度。前三者为取整百分比,最后一列为 1 到 5 分,都是越高越好。联合与一致性都不含语气正确性。
| Lang. | Model | Event | Joint | MC | CN |
|---|---|---|---|---|---|
| ZH | Ming-omni-tts | 63 | 48 | 46 | 3.74 |
| VoiceWeaver | 79 | 70 | 67 | 4.21 | |
| EN | Ming-omni-tts | 62 | 46 | 43 | 3.68 |
| VoiceWeaver | 76 | 66 | 64 | 4.14 |
中文方面,事件正确率从 63% 提高到 79%,联合正确率从 48% 提高到 70%,多模态一致性从 46% 提高到 67%,共存自然度从 3.74 提高到 4.21。英文方面,事件从 62% 到 76%,联合从 46% 到 66%,一致性从 43% 到 64%,共存自然度从 3.68 到 4.14。配对听辨中 VoiceWeaver 在情感、事件清晰度和场景自然度上分别获约 68%、72% 和 75% 的偏好,但原文说明这些是描述性比例,没有听众和片段级别的重复测量分析。需要强调这些是系统级差异,混合了训练、接口和结构的影响,不能直接解读为某一损失的功劳。
联合正确率 × 多模态一致性: 联合正确率指同一条生成音频同时通过情感分类和事件分类的比例,只看是否听出要求的情感和场景;多模态一致性在此基础上再要求中文字符错误率低于 8%,同时检查内容是否被破坏。二者搭配是因为情感和事件都对了但文本读错仍不可用,组合后才能区分听感对但内容错的样本。
情感增强教师 × 标准教师数据: 情感增强教师指经过情感增强的 IndexTTS2 合成模型,用来生成第一阶段情感训练数据;标准教师数据指未经这种增强的同一类合成数据。增强教师提供更可辨的情感韵律,标准数据只提供常规合成语音,对比二者可以判断联合准确率的提升究竟来自训练策略还是来自更清晰的情感监督,组合后才能定位数据质量的作用。
三属性测试进一步要求情感、语气和事件同时正确,每语言 500 条中中文 59%、英文 55% 满足,合并为 57%。在这些输出上,中文情感、语气和事件单项分别为 82%、71% 和 77%,英文为 80%、69% 和 74%。该测试直接度量三者同时成立,但没有匹配的三属性基线。在 100 个固定文本上固定一个属性、变化另一属性时,该固定属性正确率的标准差在单锚设置下约 1 个百分点,原文未提供更一般的稳定性证据。
顺序和组件去掉后联合正确率如何变化
下面这张原表回答课程顺序和 3 个正则各自是否重要。首行是完整顺序情感语气事件,接下来是两种换序和混训,再往下是去掉保持蒸馏、去掉解耦、去掉属性丢弃,以及改用标准教师数据。报告的是中文情感事件联合正确率及单项情感、语气和事件正确率,均为取整百分比。
| Training / variant | Emo. | Tone | Event | Joint |
|---|---|---|---|---|
| Full (E–T–V) | 86 | 70 | 79 | 70 |
| E–V–T | 84 | 67 | 75 | 63 |
| T–E–V | 84 | 65 | 74 | 59 |
| Mixed tasks | 82 | 62 | 72 | 56 |
| w/o retention distillation | 83 | 67 | 76 | 63 |
| w/o decorrelation | 83 | 68 | 75 | 64 |
| w/o attribute dropout | 84 | 69 | 76 | 66 |
| Standard-teacher data | 82 | 69 | 77 | 64 |
完整顺序联合为 70%,换成情感事件语气降到 63%,语气情感事件降到 59%,混合任务训练为 56%。去掉保持蒸馏降到 63%,去掉解耦降到 64%,去掉属性丢弃降到 66%,分别约下降 6、5 和 4 个百分点。改用标准而非增强的情感教师数据降到 64%,这改变的是监督本身而不只是一个损失项。正则强度也非单调,γ 为 0 时约 64%,0.1 时 70%,0.3 时 66%。这些对比在报告的设置内支持当前课程,但原文指出各方案的每属性暴露量没有审计,也没有报告多次运行的方差,因此不能推广为普遍最优顺序。理解时要把顺序效应与数据质量分开,增强教师本身就贡献了一部分联合准确率。
这些结论在什么条件下才成立
证据范围是双语封闭标签下的三属性控制和情感事件组合。词汇固定为六情感、五语气和十二事件,超出该词表的开放描述不在验证范围内。语气经过筛选仍有明显文本依赖,随机文本会使语气正确率下降约 6 个百分点。弱或连续的事件容易被掩蔽,事件混合电平和放置方式都会影响可辨度。评分工具有双重角色,PANNs 既用于筛选保留可识别的事件类别,又用于评价生成事件,因此事件分数不是独立的。
事件录音的留出情况未经验证,不能说明对未见录音的泛化。三属性测试缺乏匹配基线,听感偏好为描述性统计。训练数据为合成数据加小事件库,文本保真度落后于外部基线,这些都限制了向真实录音和大词汇场景的推广。在复述结论时应加上这些前提,例如中文联合 70% 是指在该 720 组合基准、该分类器和取整规则下的结果。
复现第一步做什么,需要哪些关键设置
复现应从数据和接口对齐开始。先按原文构造结构化前缀,缺属性省略,并实现属性丢弃的 0.8 保留概率;再实现 12.5 帧每秒、16 码本、每码本 2048 条目的编码表示,确认主干只预测 0 号码、轻量解码器预测 1 到 15 号码。训练按 8 万、5 万和 60,000 步 3 阶段推进,后 2 阶段保留 10% 回放,损失权重取 α 为 0.6、λ 为 0.01、β 为 0.5、γ 为 0.1,优化器用 AdamW、学习率 1e-5、批量 16、预热 5000 步。评价需固定解码,情感用 emotion2vec、事件用 PANNs、语气用 3 人多数票、文本用 FunASR Paraformer,并分别计算联合正确率和 8% 阈值的多模态一致性。
作者资源方面,原文仅提到音频样例页面为第三方可达链接,不证明作者已开源代码或权重,因此代码开源、权重可下载和系统可运行要分开核实,不可混为一谈。事件录音划分和生成次数等缺失细节需要自行记录,否则无法与原文取整百分比严格对齐。
什么时候值得尝试,还缺哪项验证
当任务是旁白、游戏或影视制作中需要同时指定情感、表达方式和环境声,且能接受封闭标签和整句全局控制时,该 staged 方法值得尝试。它的价值在于用同一序列接口逐步扩展控制,并用回放加蒸馏减少遗忘,联合生成上在报告的基准内优于混训和所选外部系统。代价是文本错误率高于大体量外部系统,语气依赖措辞,事件库小且评价与筛选共用同一分类器。复现第一步是搭好前缀接口与 2 级码本流程,再跑通 3 阶段与回放蒸馏。
后续要补的验证是录音级隔离的事件测试、独立于筛选工具的事件评分、匹配的三属性基线,以及多次运行的方差和显著性分析。只有补上这些,才能判断该课程是否能推广到未见录音和更开放的表达需求。
📎 论文与评分元数据
排名:前50% | 文档类型:方法研究 | arXiv 原文
⚖️ 评分明细
评分属于系统判断,不是论文实验结果;八维数值与总分见页首,原始审计记录保留在后端。
评分规则:type-aware-v1
评分模型:muse-spark-1.3-contributor
评分请求协议:openai_responses

