NVAlign: Direct-Gradient Optimization for Non-Verbal Control in Continuous Autoregressive Flow Matching Text-to-Speech
Qiaolin Wang, Pedro Sandoval-Segura, Anunaya Joshi, Edvardas Jurkonis, Jake Downie
cs.SD, cs.AI, cs.CL, eess.AS
2026-09-26
NVAlign用冻结NV-ASR的标签概率作可微奖励,经两步流匹配代理回传到连续AR-FM TTS;英语生产系统人工标签跟随从39.8%升至54.0%,超过SFT与Flow-GRPO。
笑声、叹气、倒吸气会改变一句话怎么被听。现在的 TTS 已经能在文本里插 [laughs] 这类非语言发声(NVV)标签,但少见声音的标注很少,监督微调之后模型仍会漏掉或搞混。
连续自回归流匹配(AR-FM)TTS 更不好做后训练。骨干是自回归 Transformer,读文本和已生成的声学 patch,吐出连续条件向量;声学头是 diffusion transformer(DiT),用 flow matching 生成下一块声学 patch。离散 token TTS 可以拿 token 概率做 GRPO,连续采样没有对应的非语言控制后训练方法。Flow-GRPO 把似然比接到随机微分方程采样上,对照实验里仍只更新声学头。Bland AI 的做法是冻住一个能识别 NVV 的 ASR,把它的目标标签概率当可微奖励,梯度直接打回这条生成链路。
公开实验把 834.5 小时、六个 NVV 数据集统一成 39 类标签,去掉评测文本和说话人重叠,同时微调 TTS 和基于 Qwen3-Omni-30B 的 NV-ASR。公开混合里英语只有 18.9 小时,英语生产实验另用内部数据、另训 NV-ASR。普通话跑 VoxCPM2 和 dots.tts,英语跑同架构的生产 TTS。
后训练把 NV-ASR 冻住。对生成波形做 teacher forcing:标签跨多个 token 时取这些位置概率的最小值,再对句内标签求和。最小值逼模型把整个标签发清楚,求和允许一句话里有多处发声。
奖励要穿过 flow matching 采样器。完整轨迹反传太贵,这里用 LeapAlign 的两步梯度代理:正向按采样路径走,反向只在两个流时间 k>j 上各评估一次 DiT,直通连接器把梯度接到采样状态。梯度经冻结声码器回到 flow head,再经条件向量打到骨干。更新的是 LoRA,骨干、输入投影、flow head 的 rank 分别是 16、32、64。
只抬标签概率会把声音搞坏。保真项用冻结 ECAPA-TDNN 管说话人,用冻结 UTMOS 管预测 MOS,再加峰值和音量惩罚。参考速度正则把速度场钉在 SFT 模型上。去掉它,NVV 奖励从 0.468 升到 0.488,Gemini 准确度/感知效果从 3.54/3.34 掉到 2.88/1.94。奖励涨了,听感可以更差。
听测集每语言 100 条,普通话覆盖全部 39 类;三个盲评员全票同意才算跟对。对照是同一 SFT 权重上的 Flow-GRPO,只更新 flow head。
| 系统 | SFT | Flow-GRPO | NVAlign |
| VoxCPM2 | 43.2% | 37.8% | 47.6% |
| dots.tts | 63.2% | 61.1% | 65.4% |
| 英语生产 TTS | 39.8% | 31.8% | 54.0% |
NVV-SuperBench 人工子集上,VoxCPM2 从 27.4% 到 34.9%,相对 Flow-GRPO 的 19.2% 高约 15.8 点;dots.tts 从 57.1% 降到 54.4%。Whisper 标签召回和 SED 检测三个系统都升。配对 95% bootstrap 区间排除零的,只有英语相对 SFT 的两组、普通话 VoxCPM2 相对 Flow-GRPO 的两组,以及英语听测相对 Flow-GRPO。其余对照区间含零。
SIM、UTMOS、DNSMOS 都升,但前两项写进了训练目标。人工自然度 MOS 相对 SFT 都在 0.1 以内。普通话 CER,VoxCPM2 升 1.26、dots.tts 升 0.13;英语 WER 听测升 0.07,SuperBench 升 1.33。英语 SuperBench 人工跟随从 33.7% 到 53.7%;普通话 Gemini 准确度下降(VoxCPM2 3.36→3.24,dots.tts 4.09→3.76),英语感知效果也降。
只更新 flow head,NVV 奖励已到 0.441,高于 Flow-GRPO 的 0.392 和 SFT 的 0.397。去掉说话人项,SIM 从 0.796 掉到 0.360。NV-ASR 奖励不管这些属性。
连续 AR-FM 这条线上,SFT 之后标签仍经常对不上,Flow-GRPO 在听测上还经常低于 SFT。把识别模型的梯度打回生成器,是这条架构上一条能跑通的后训练路径,LoRA 就能做。
这是渐进改进。英语生产系统听测从 39.8% 到 54.0% 是最大一跳,公开普通话模型跳得小,dots.tts 在 SuperBench 人工子集上还退了。适用场景很窄:已有 NVV 标注、已是连续 AR-FM、目标是标记位置上真发出那个声音。表现力和音质不会自动一起涨。
少见 NVV 标注稀缺,同样会限制当奖励的 NV-ASR。优化这个学来的奖励可能走识别捷径、伤韵律;惩罚项一多,梯度配平成了优化问题本身。当前公式假设离散事件,连续或重叠发声不在范围内。这些是论文自己写的。
听测走 Podonos,没有机构伦理审批。多数普通话对照的置信区间含零,不能把三套系统都说成稳定赢。Gemini 2.5 Pro 准确度和感知效果在若干设置里下降;写进训练目标的 SIM、UTMOS 上升不能当独立证据。英语公开数据只有 18.9 小时,生产实验用内部数据和内部配置,那 14.2 点外部无法拆开是数据、模型还是方法。