DEFINE 拆音色口音,已见探针 6.5%→19.6%

DEFINE: Exemplar-Guided Accent Control for Zero-Shot TTS

Ambuj Mehrish, Abhinaba Roy, Alex Ivanov, Tawsif Ahmed, Dorien Herremans

cs.SD, eess.AS

2026-09-27

DEFINE 冻结 F5-TTS、只训 6.3M 的 LoRA,用另一段口音样本把口音从音色里拆开。已见口音探针准确率从 6.5% 升至 19.6%,追平 Seed-VC 级联,说话人相似度高出 0.024。

这篇在解决什么

零样本 TTS 用几秒参考复刻未见说话人,参考同时带音色和口音。训练里每个说话人通常只有一种母语口音,模型没有动力把两件事分开。要这个人的音色再加上苏格兰口音,没有单独的入口。

口音标签,或从标注语音学来的向量,能直接调;新口音就得重标、再适配。合成后再接语音转换,例如 F5-TTS 后面接 Seed-VC,多一次波形变换。说话人特征要在转换里保住,口音强度也进不了合成器。

DEFINE 用两段音频分开指定谁在说、带什么口音。推理不读标签。训完之后,一个权重 w 调节强弱。

方法

底座是 F5-TTS,在 mel 频谱上做 conditional flow matching,也就是学习从噪声走到目标频谱的向量场,非自回归。343M 骨干冻结。rank-16 LoRA 加在注意力的 query、value、前馈层和 adaLN 上,只在冻结权重旁训练小矩阵,可训练 6.3M。

口音片段进冻结的 XLS-R(多语言语音自监督模型),读第 15 层。层是用口音探针逐层挑的。帧特征掩码平均,MLP 压到 128 维,多段再平均。训练只用一段。

合成损失教不会这条全局向量:去掉原型后,任何 w 都赢不过关口音。于是设 23 个口音原型。编码器贴住自己的原型,并用对比损失与其他类分开,温度 0.1。解码器一半时间吃编码器输出、一半吃原型,编码器停梯度,合成损失只改原型。推理丢表,未见口音全靠样本,样本说话人与训练集无交集。梯度反转的说话人分类器用来去掉向量里的音色。

口音向量平移时间步嵌入和文本嵌入。先做无仿射层归一化,再按均方根放大到和原嵌入同一量级。否则附加项大约小 100 倍,训练直接忽略。时间步连接 adaLN,口音因此进到每一层。训练时以 0.15 的概率把向量清零,保留无口音分支。

推理组合三个向量场:无口音预测、系数为 2 的无条件预测(丢掉文本和参考),以及 w 倍的口音差。这是 classifier-free guidance,用条件和无条件预测的差放大控制。w=0 时 LoRA 仍在,不是原始 F5-TTS。前向次数从 2 增到 3,级联还要再转换整段波形。

结果

评测 1764 条:已见 1134,留出 378(澳大利亚、爱尔兰、菲律宾),域外 252(威尔士、西印度)。留出口音在 15 类探针的标签里,TTS 没训过;域外口音不在 TTS 训练集。ACC 是 XLS-R 第 15 层上的逻辑回归,随机水平 0.067。SPK 是 ECAPA-TDNN 说话人嵌入和提示语音的余弦相似度。WER 用 Whisper large-v3,音质用 UTMOS。w=15 在独立验证集上选定。按标签查表只覆盖训练口音,用来看上界。

设置系统ACCSPKWERUTMOS
已见真人参考0.436不适用不适用3.08
已见F5-TTS0.0790.7320.0713.99
已见级联0.1880.6000.0563.92
已见关口音0.0650.6940.0634.06
已见样本路径0.1960.6240.0673.93
已见原型查表0.3540.5620.0893.77
留出级联0.1750.6030.0763.89
留出样本路径0.1270.6540.0624.01
域外级联0.0830.6010.0473.94
域外样本路径0.0870.6400.0743.97

已见口音:样本路径 ACC 0.196,级联 0.188,SPK 高 0.024,UTMOS 3.93 对 3.92,WER 0.067 对 0.056。F5-TTS 的高 SPK 来自几乎不改口音。域外 0.087 对级联 0.083,论文称统计上分不开;对关口音 0.048 的配对差是 +0.040(区间 [+0.004, +0.079]),相对 F5-TTS(0.024)为 +0.064([+0.032, +0.099])。分值贴着随机线 0.067。留出:级联 0.175,样本路径 0.127,w=23 也只有 0.151。域外 WER 0.047 对 0.074,级联更可懂。

SPK 随 w 单调下降。样本 ACC 在已见和域外于 w=19 到顶,0.214 和 0.111。查表还能升到 w=23 的 0.385。瓶颈在读样本,不在注入。

消融在留出集上,只取音质守得住的最大 w(UTMOS 降不超过 0.15,SPK 降不超过 0.10)。无原型锚定则该 w 为 0,ACC 0.079。对比项再加约 0.053。交叉注意力推到 w=23 可得 ACC 0.175,UTMOS 却到 1.52,SPK 到 0.22。三段样本对一段:已见 ACC 差 0(区间 ±0.058),留出 +0.003,SPK +0.019。最近原型命中率 0.873(训练说话人)对 0.540(未见),随机约 0.043。

听感测试 11 人、110 票,只覆盖已见口音,DEFINE 用查表,样本路径未参加,w=11。DEFINE、级联、F5-TTS 得 77、23、10 票。同一模型在 w=0、11、23 得 11、52、47 票。引导关掉就远低于随机,两个打开的档分不开。

为什么重要

一个模型、一次合成、不用口音标签。比级联少一次整段波形转换。已见口音打平且相似度更高,域外只在 0.08 附近并列。w 事后才乘,强度和相似度可以互换,而且单调。

查表 ACC 0.354,解码器跟得上放对的向量。样本路径 0.196,差在编码器。6.3M 对 343M,不是容量问题。留出口音仍该用级联。

局限与存疑

留出集落后,未见说话人的原型命中率从 0.873 掉到 0.540。多给样本补不上。

探针与编码器共用 XLS-R 第 15 层。查表不用该特征却拿到 0.354,级联不用也有 0.188,高分不像是探针在偏袒编码器。已见真人参考只有 0.436,探针偏粗。

听感只有 11 人,目标限于英格兰、印度、美国,而且全部查表。w=11 的查表 ACC 是 0.326,样本路径在 w=15 只有 0.196。这组偏好不能直接挪到可部署路径上。

训练有 9.47 万条 Seed-VC 错配对,口音来自 Common Voice,音色来自工作室说话人,另有 13.7 万条真实录音。留出、域外不在其中,域外数字没靠这批合成数据。已见口音能打平级联,训练时却见过 Seed-VC。说话人提示是商业 TTS 的工作室录音,论文写明相似度最高。真人 UTMOS 在 3.06 到 3.18,合成约 3.9,落差没有解释,只适合横向比。

术语

原文与代码

相关论文

全部论文解读