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

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

作者:王泉、张帆

在今年的 Made By Google 大会上,谷歌公布了 Recorder 应用的自动说话人标注功能。该功能将实时地为语音识别的文本加上匿名的说话人标签(例如 “说话人 1” 或“说话人 2”)。这项功能将极大地提升录音文本的可读性与实用性。


谷歌于 2019 年为其 Pixel 手机推出了安卓系统下的录音软件 Recorder,对标 iOS 下的语音备忘录,并支持音频文件的录制、管理和编辑等。在此之后,谷歌陆续为 Recorder 加入了大量基于机器学习的功能,包括语音识别,音频事件检测,自动标题生成,以及智能浏览等。


不过当录音文件较长并包含多个说话人的时候,一部分 Recorder 的用户在使用过程中会感到不便。因为仅凭语音识别得到的文本,并不能判断每句话分别是谁说的。在今年的 Made By Google 大会上,谷歌公布了 Recorder 应用的自动说话人标注功能。该功能将实时地为语音识别的文本加上匿名的说话人标签(例如 “说话人 1” 或“说话人 2”)。这项功能将极大地提升录音文本的可读性与实用性。而这项功能背后的技术,被称为声纹分割聚类(speaker diarization)。谷歌在 2022 年的 ICASSP 会议上,首次介绍了其名为 Turn-to-Diarize 的声纹分割聚类系统。


左图:关闭了说话人标注的录音文本。右图:开启了说话人标注的录音文本。


系统架构


谷歌的 Turn-to-Diarize 系统包含了多个高度优化的模型和算法,实现了在移动设备上,以极少的计算资源完成对长达数小时的音频进行实时声纹分割聚类处理。该系统主要包含三个组成部分:用以检测说话人身份转换的说话人转换检测模型,用以提取每个说话人声音特征的声纹编码器模型,以及一个能够高效完成说话人标注的多阶段聚类算法。所有组成部分都完全运行在用户的设备上,不依赖于任何服务器连接。


Turn-to-Diarize 系统的架构图。


说话人转换检测


该系统的第一个组成部分是一个基于 Transformer Transducer(T-T)的说话人转换检测模型。该模型能够将声学特征序列转换为包含了特殊字符 < st > 的文本序列。特殊字符 < st > 表示一个说话人转换的事件。谷歌之前发表的论文曾经用诸如 < doctor > 或 < patient > 的特殊字符来表示具体说话人的身份。而在最新的系统中,由于 < st > 字符不局限于特定的身份,因此其应用也更加广泛。


对于大多数的应用,声纹分割聚类系统的输出一般不会直接呈现给用户,而是与语音识别模型的输出进行结合。由于语音识别模型在训练过程中已经针对词错率进行了优化,因此说话人转换检测模型对于词错率较为宽容,但更加注重特殊字符 < st > 的准确率。在此基础上,谷歌提出了一种新的基于字符的损失函数,实现了只需较小的模型,就能准确地检测出说话人转换事件 < st>。


提取声纹特征


当音频信号被按照说话人转换事件进行分割之后,系统通过声纹编码器模型对每一个说话人片段提取包含声纹信息的嵌入码,即 d-vector。谷歌在之前发表的论文中,一般都是从固定长度的音频中提取声纹嵌入码。与之相比,这次的新系统有多项改进。首先,新系统避免了从包含多个说话人信息的片段中提取声纹嵌入码,从而提升了嵌入码的整体质量。其次,每一个声纹嵌入码对应的语音片段,其时长都比较长,因此包含了对应说话人较多的声纹信息。最后,该方法得到的最终声纹嵌入码序列,其长度较短,使得后续的聚类算法计算代价较低。


多阶段聚类


声纹分割聚类的最后一步,便是对前面几步得到的声纹嵌入码序列进行聚类。由于用户使用 Recorder 应用生成的录音可能只有几秒钟,也可能长达 18 小时,所以聚类算法面临的关键挑战便是能够处理各种长度的声纹嵌入码序列。


为此,谷歌的多阶段聚类策略巧妙地结合了几种不同的聚类算法各自的优势。对于较短的序列,该策略采用聚合式分层聚类(AHC)。对于中等长度的序列,该方法采用谱聚类,并利用特征值的最大间隔法,来准确地估算说话人的数量。对于较长的序列,该方法先用聚合式分层聚类来对序列进行预处理,然后再调用谱聚类,从而降低了聚类这一步骤的计算代价。而在整个流式处理的过程当中,通过对之前的聚类结果进行动态缓存并重复利用,每一次聚类算法的调用,其时间复杂度以及空间复杂度,上限都可以被设置为一个常数。


多阶段聚类策略是针对设备端应用的一项关键优化。因为在设备端,CPU、内存、电池等资源通常都较为稀缺。该策略即使在处理过长达数小时的音频之后,依然能够维持在一个低能耗的状态下运行。而该策略的常数复杂度上限,通常可以根据具体的设备型号进行调整,实现准确率和性能之间的平衡。


多阶段聚类策略的示意图。


实时校正以及用户标注


因为 Turn-to-Diarize 是一个实时的流式处理系统,所以当模型处理完更多的音频之后,其预测得到的说话人标签也会变得更加准确。为此,Recorder 应用会在用户录音的过程当中,持续地对之前预测的说话人标签进行校正,保证用户在当前屏幕上看到的说话人标签始终是更为准确的标签。


与此同时,Recorder 应用的用户界面还允许用户对每一段录音中的说话人标签进行重命名,例如将 “说话人 2” 重命名为“汽车经销商”,从而方便用户阅读和记忆。


Recorder 允许用户对说话人标签进行重命名,从而提升可读性。


未来工作


谷歌在最新的数款 Pixel 手机上推出了自研芯片 Google Tensor。而当前的声纹分割聚类系统主要便运行在 Google Tensor 的 CPU 模块上。未来谷歌计划将声纹分割聚类系统运行到 Google Tensor 的 TPU 模块上,从而进一步降低能耗。此外,谷歌还希望借助多语言的声纹编码器以及语音识别模型,将这一功能扩展到除英语之外的其他语言上。


原文链接:

https://ai.googleblog.com/2022/12/who-said-what-recorders-on-device.html

相关实践学习
一键创建和部署高分电影推荐语音技能
本场景使用天猫精灵技能应用平台提供的技能模板,在2-5分钟内,创建一个好玩的高分电影推荐技能,使用模板后无须代码开发,系统自动配置意图、实体等,新手0基础也可体验创建技能的乐趣。
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
相关文章
|
11月前
|
人工智能 算法 API
iOS MachineLearning 系列(13)—— 语音与音频相关的AI能力
在语音分析方面,iOS中提供了原生的Speech框架,这个框架可以实时的将语音解析成文本。这个能力非常强大,使用它我们可以实现类似实时翻译的功能。对于非语音的音频,也有一些原生的AI能力可以使用,例如分析语音的类型。SoundAnalysis框架能够识别300多种声音,我们也可以使用自己训练的模型来处理定制化的音频识别需求。
229 0
|
消息中间件 存储 API
iOS小技能:队列管理推送通知,解决收款到账并发语音播报问题。
需求:收款到账语音提醒功能 NSE是比Voip更优雅的解决方案,完成迁移后,总体代码量也比Voip方案少了不少。
229 0
iOS小技能:队列管理推送通知,解决收款到账并发语音播报问题。
|
数据安全/隐私保护 iOS开发
IOS - 苹果 iPhone 备忘录密码忘记了怎么办?
IOS - 苹果 iPhone 备忘录密码忘记了怎么办?
1394 0
IOS - 苹果 iPhone 备忘录密码忘记了怎么办?
|
iOS开发
小技巧 - 苹果手机(IOS系统)备忘录如何置顶文件?
小技巧 - 苹果手机(IOS系统)备忘录如何置顶文件?
208 0
小技巧 - 苹果手机(IOS系统)备忘录如何置顶文件?
|
语音技术 开发者
iOS10语音识别框架SpeechFramework应用(二)
iOS10语音识别框架SpeechFramework应用
507 0
|
语音技术 开发者
iOS10语音识别框架SpeechFramework应用(一)
iOS10语音识别框架SpeechFramework应用
279 0
iOS10语音识别框架SpeechFramework应用(一)
|
Web App开发 JavaScript Android开发
|
安全 Java 关系型数据库
产品百科 |零门槛搭建一个 1 对 1 语音聊天 Demo (iOS 版)
您可以阅读本文,快速了解 1 对 1 语音聊天的基本概念和实现方法。
产品百科 |零门槛搭建一个 1 对 1 语音聊天 Demo (iOS 版)