在今年的 Made By Google 大会上,谷歌公布了 Recorder 应用的自动说话人标注功能。该功能将实时地为语音识别的文本加上匿名的说话人标签(例如 “说话人 1” 或“说话人 2”)。这项功能将极大地提升录音文本的可读性与实用性。
谷歌的 Turn-to-Diarize 系统包含了多个高度优化的模型和算法,实现了在移动设备上,以极少的计算资源完成对长达数小时的音频进行实时声纹分割聚类处理。该系统主要包含三个组成部分:用以检测说话人身份转换的说话人转换检测模型,用以提取每个说话人声音特征的声纹编码器模型,以及一个能够高效完成说话人标注的多阶段聚类算法。所有组成部分都完全运行在用户的设备上,不依赖于任何服务器连接。
Turn-to-Diarize 系统的架构图
说话人转换检测
该系统的第一个组成部分是一个基于 Transformer Transducer(T-T)的说话人转换检测模型。该模型能够将声学特征序列转换为包含了特殊字符 < st > 的文本序列。特殊字符 < st > 表示一个说话人转换的事件。谷歌之前发表的论文曾经用诸如 < doctor > 或 < patient > 的特殊字符来表示具体说话人的身份。而在最新的系统中,由于 < st > 字符不局限于特定的身份,因此其应用也更加广泛。
提取声纹特征
当音频信号被按照说话人转换事件进行分割之后,系统通过声纹编码器模型对每一个说话人片段提取包含声纹信息的嵌入码,即 d-vector。谷歌在之前发表的论文中,一般都是从固定长度的音频中提取声纹嵌入码。与之相比,这次的新系统有多项改进。首先,新系统避免了从包含多个说话人信息的片段中提取声纹嵌入码,从而提升了嵌入码的整体质量。其次,每一个声纹嵌入码对应的语音片段,其时长都比较长,因此包含了对应说话人较多的声纹信息。最后,该方法得到的最终声纹嵌入码序列,其长度较短,使得后续的聚类算法计算代价较低。
多阶段聚类
声纹分割聚类的最后一步,便是对前面几步得到的声纹嵌入码序列进行聚类。由于用户使用 Recorder 应用生成的录音可能只有几秒钟,也可能长达 18 小时,所以聚类算法面临的关键挑战便是能够处理各种长度的声纹嵌入码序列。
实时校正以及用户标注
因为 Turn-to-Diarize 是一个实时的流式处理系统,所以当模型处理完更多的音频之后,其预测得到的说话人标签也会变得更加准确。为此,Recorder 应用会在用户录音的过程当中,持续地对之前预测的说话人标签进行校正,保证用户在当前屏幕上看到的说话人标签始终是更为准确的标签。
内容中包含的图片若涉及版权问题,请及时与我们联系删除
评论
沙发等你来抢