首页
学习
活动
专区
圈层
工具
发布

短语音不到 3 秒,说话人验证怎么稳住?

你对智能音箱说一句自定义唤醒词,系统要在不到3秒里同时完成两件事:听清你说了什么,还要确认是不是你本人。那么问题就出现在这儿:短语级短语音里,身份信息本来就少;噪声、音素变化再一搅,固定维 embedding + 余弦/PLDA 的分数就容易飘。尤其是用户自定义关键词(UDKWS)场景--注册和测试都是短语级短语音,传统的抽一句embedding再比一下往往不够稳。而今天要介绍的这篇工作:

Stabilizing Short Duration Speaker Verification through Neural Re-scoring with Hybrid Enrollment

其核心是:在短时长说话人验证(SDSV)里,用混合注册以及轻量级网络重打分,把分数稳住。

短语音为什么难?

SDSV 的测试语音通常短于3 秒。智能音箱、对话终端里的常见链路是:先做关键词检出(KWS),再对检出短语做说话人核验。短语音对噪声更敏感,音素覆盖也更窄。

Fig.1:自定义短语场景下的短时长说话人验证

更麻烦的是数据侧:现有 SDSV 研究多依赖小规模、固定短语的文本相关(TD)语料(如 DeepMine、Qcomm),很难覆盖用户自己指定水文短语这种更真实的情况。所以这条线要同时解决两件事:

有更贴近真实的大规模短语级评测数据。

有比单路embedding余弦更稳的打分方式。

本文的做法是:冻骨干,训一个轻量 verifier。不要推倒重来训一个大模型。冻结已经训好的说话人骨干(ECAPA-TDNN / CAM++ / ERes2Net-L),只抽帧级、句级特征;再训一个轻量神经验证器,对 TD/TI 混合注册 与 TD 查询做全局相似度 + 双向帧级 cross-attention,最后融合重打分。

Fig.2:混合注册 + 神经重打分整体框架

可以拆成四块看。

1)先造数据:VoxPhrase

从VoxCeleb走一遍:ASR 强制对齐 短语切分(约 0.8–3 s),得到面向 SDSV 的大规模短语语料 VoxPhrase;评测里还挖了同短语、不同说话人的难例,避免只在好分上好看。有了它,才能更系统地评用户自由短语这类设定,而不是只在固定口令上刷分。

2)混合注册:TD + TI 一起用

注册端同时输入两类语音:

TI(文本无关):身份信息更完整,时长够时通常更稳

TD(文本相关):和测试短语词表对齐,极短场景里更有用

查询端仍是 TD 短语。身份线索和内容对齐,两边都留住。

3)全局相似度 + 双向帧级 Cross-Attention

骨干冻结后,输出句级表示 E_u 和帧级表示 E_f。

全局一路很直接:

帧级再开并行的双向 cross-attention

注册看查询、查询看注册,把短序列里对得上的局部证据捞出来,而不是只压成一个向量硬比。

4)融合决策,只训轻量头

把全局余弦与 attention 侧的证据融合,得到最终分数。骨干不动,训练成本集中在 verifier——工程上更好落地。

数据说话:混合方案明显更稳

先看指标曲线:TI 注册时长从短到长时,三种策略怎么走。

从对比数据中可以得到:

混合注册 + 神经重打分,在多种骨干、难例(top-1%)和 DeepMine OOD(Eval-3/4)上都优于纯 TI 或纯 TD。

纯 TD 场景里,光加神经 verifier 也有一致收益(CAM++:3.62% 3.09%,E6E6v)。

(4)简单把 TI+TD 分数取平均几乎没用(10s 时 1.98% vs TI-only 2.03%);真正拉开差距的是神经重打分(同设定到 1.6%)。

(5)TI 注册 ≥3 s 时,TI 往往强于 TD;TI 极短(<2 s)时,TD 的词表对齐优势更明显——这也解释了为什么混合比押单边更稳。

结论

短于 3 秒的声纹核验,单靠句级 embedding 余弦不够稳;TD+TI 混合注册,把身份信息与短语对齐同时留住;简单均值不够,神经重打分才是关键;冻骨干 + 双向帧级重打分,在 in-domain、难例与 DeepMine OOD 上都能把 EER 打下来。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OBY4WHQ5wASzcWC5fpNMqwlQ0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

领券