当前位置: 首页 > 科技观察

谷歌Recorder实现说话人自动标注,功能性与iOS语音备忘录再度拉大

时间:2023-03-18 23:45:33 科技观察

GoogleRecorder实现了说话者的自动标记,功能和iOS语音备忘录进一步扩展了录音、管理和编辑。此后,谷歌陆续在Recorder中加入了大量基于机器学习的功能,包括语音识别、音频事件检测、标题自动生成、智能浏览等。但是,当录音文件较长且包含多个发言者时,一些Recorder用户在使用过程中会感到不便。因为单靠语音识别得到的文本无法判断每句话是谁说的。在今年的MadeByGoogle大会上,谷歌宣布为Recorder应用程序提供自动说话人注释功能。此功能会实时将匿名说话人标签(例如“说话人1”或“说话人2”)添加到语音识别文本中。此功能将大大提高录制文本的可读性和实用性。此功能背后的技术称为说话人二值化。在2022年的ICASSP会议上,谷歌首次推出了名为Turn-to-Diarize的声纹分割和聚类系统。左:关闭说话人注释的录音抄本。右图:开启说话人注释的录音抄本。系统架构Google的Turn-to-Diarize系统包含大量高度优化的模型和算法,能够以最少的计算资源在移动设备上实现实时声纹分割和数小时音频的聚类。该系统主要由三部分组成:检测说话人身份切换的说话人切换检测模型、提取每个说话人语音特征的声纹编码器模型和多阶段说话人标注聚类算法。所有组件完全在用户的设备上运行,不依赖于任何服务器连接。Turn-to-Diarize系统的架构图。扬声器开关检测系统的第一个组件是基于变压器换能器(T-T)的扬声器开关检测模型。该模型能够将一系列声学特征转换为一系列包含特殊字符的文本。特殊字符表示扬声器切换事件。谷歌之前发表的论文使用特殊字符,如来表示特定说话者的身份。然而,在更新的系统中,字符被更广泛地使用,因为它不限于特定的身份。对于大多数应用,声纹分割和聚类系统的输出一般不会直接呈现给用户,而是结合语音识别模型的输出。由于语音识别模型在训练过程中针对词错误率进行了优化,speakerswitch检测模型对词错误率的容忍度更高,但更关注特殊字符的准确率。在此基础上,谷歌提出了一种新的基于字符的损失函数,仅用一个小模型就实现了对说话人切换事件的准确检测。提取声纹特征音频信号根据说话人转换事件进行分段后,系统使用声纹编码器模型为每个说话人片段提取包含声纹信息的嵌入代码,即d-vector。在谷歌之前发表的论文中,声纹嵌入代码一般都是从固定长度的音频中提取出来的。与此相比,新系统有多项改进。首先,新系统避免了从包含多个说话人信息的剪辑中提取声纹嵌入代码,从而提高了嵌入代码的整体质量。其次,每个声纹嵌入码对应的语音段持续??时间相对较长,因此包含了更多说话人对应的声纹信息。最后,该方法得到的最终声纹嵌入码序列长度较短,使得后续聚类算法的计算成本较低。多级聚类声纹分割聚类的最后一步是对前面步骤得到的声纹嵌入码序列进行聚类。由于用户使用Recorder应用程序生成的录音可以短至几秒或长达18小时,因此聚类算法的一个关键挑战是能够处理各种长度的声纹嵌入序列。为此,谷歌的多阶段聚类策略巧妙地结合了几种不同聚类算法各自的优势。对于较短的序列,该策略采用聚合层次聚类(AHC)。对于中等长度的序列,该方法使用谱聚类,使用特征值的最大区间法来准确估计说话人的数量。对于较长的序列,该方法首先对序列进行聚合层次聚类预处理,然后调用谱聚类,从而降低了聚类步骤的计算成本。在整个流处理过程中,通过动态缓存和复用之前的聚类结果,可以将每次聚类算法调用的时间复杂度和空间复杂度的上限设置为一个常量。多阶段集群策略是设备上应用程序的关键优化。因为在设备端,CPU、内存、电池等资源通常是稀缺的。即使在处理数小时的音频后,此策略也能保持低功耗状态。这种策略的常数复杂度上限通常可以根据具体的设备型号进行调整,以达到精度和性能的平衡。多阶段聚类策略的示意图。实时校正和用户注释因为Turn-to-Diarize是一个实时流系统,随着模型处理更多的音频,其预测的说话人标签变得更加准确。为此,Recorderapp会在用户录音过程中不断修正之前预测的说话人标签,以确保用户在当前屏幕上看到的说话人标签始终是更准确的标签。同时,Recorderapp的用户界面还允许用户对每段录音中的演讲者标签进行重命名,比如将“演讲者2”重命名为“汽车经销商”,这样更便于用户阅读和记忆。Recorder允许用户重命名扬声器标签以提高可读性。未来工作谷歌在最新的几款Pixel手机上推出了自研芯片GoogleTensor。目前的声纹分割和聚类系统主要运行在GoogleTensor的CPU模块上。未来,谷歌计划在谷歌TensorTPU模块上运行声纹分割和聚类系统,进一步降低能耗。此外,谷歌还希望借助多语言声纹编码器和语音识别模型,将这一功能扩展到英语以外的其他语言。