谷歌利用神经网络技术改善DUO 音质 – 推出WaveNetEQ

外媒报道称,为保障 Duo 通话服务在不稳定连接状态下的音频质量,谷歌推出了一项名叫 WaveNetEQ 的音质改善方案。 据悉,其基于谷歌 DeepMind 部门的相关技术,旨在利用人工加入的噪音来抑制音频的抖动。这种噪音听起来就像人类在说话,但其实是通过机器学习技术产生的。

如果你曾经拨打过网络电话,那肯定多多少少地经历过因连接不稳定而导致的音频抖动。当通话期间的部分音频数据包在通信过程中丢失、延迟过高、或顺序错误时,就有可能发生这样的情况。谷歌表示,99% 的 Duo 通话都会出现数据包丢失,其中 20% 的丢失率超过 3%、另有 10% 的丢失率超过 8% 。

每款通信应用都有采取某种方式来处理丢包问题,但谷歌表示,传统的丢包掩饰(PLC)过程,或导致高达 60ms 的空缺。

相比之下,基于 DeepMind 神经网络技术的 WaveNetEQ 解决方案,已经在 48 种不同语言的 100 多个扬声器数据上展开了训练。为增加说服力,谷歌还放出了一些 WaveNetEQ 与常见的 PLC 技术的比较音频。当然,新技术能够转换多少音频,还是有一定的局限的。谷歌表示,WaveNetEQ 旨在替换较短的音频间隔,而不是真人通话期间漏掉的整个单次。因此在 120ms 之后,这套系统会淡出并产生静音。

 

备注:

Google Duo

是一款视频通话工具应用APP,Google Duo是Allo视频辅助技术,即使网速不快也能流畅通话,Google Duo app操作简单、安全可靠,并且充满趣味性。有了这款Google Duo应用,你绝不会错过任何精彩时刻。

 

Google Duo设计简单,帐号即是手机号,直接点击通讯录就能call对方,若不是全程要求梯子,大有取代Facetime的阵势。此外,在你接通来电前,你能看到对方焦急、期待或者搞怪的模样(放心,对方看不到你)。想想若是来电信息中,你看到会议室里老板和同事生气的面孔,你也能有心理准备地接通视频信息,或者委婉又优雅地假装没看到。

 

google duo是什么 google duo怎么使用方法介绍

WaveNetEQ

为了确保可靠的实时通信,有必要处理丢失的数据包,这个过程被称为PLC。接收方的PLC负责创建音频(或视频),以填补由丢包、过度抖动或临时网络故障造成的空白(所有这三种情况都会导致数据丢失)。

为了解决这些音频问题,Google Duo开始使用全新的PLC系统WaveNetEQ。

WaveNetEQ是基于DeepMind的WaveRNN技术生成的模型,使用大量语音数据集进行训练,以更为逼真地延续短语音段,从而使其能够完全合成丢失语音的原始波形。

由于Duo采用端到端的加密,因此所有的加工处理都需要在移动设备上完成。Google称WaveNetEQ模型速度足够快,可以在电话上运行,同时仍提供最先进的音频质量和比其他当前正在使用的系统更自然的探测PLC。

A New PLC System for Duo

像许多其他基于Web的通信系统一样,Duo也基于WebRTC开源项目。为了抵消数据包丢失的影响,WebRTC的NetEQ组件使用信号处理方法分析语音并产生平滑的连续性。

这对于较小的数据包丢失(20ms或更短)非常有效,但当丢失的数据包数量过多导致出现60ms或更长的时间间隔时,带来的效果并不尽如人意。在后一种情况下,语音会变得机械化且不断重复,这对于许多使用线上语音通话的用户来说都是很常见的。

为了更好地解决数据包丢失的问题,Google Duo用WaveRNN的修改版本替换了NetEQ PLC组件。WaveRNN是用于语音合成的递归神经网络模型,它由两部分组成:自回归网络和调节网络。

自回归网络负责信号的连续性,它通过使每个生成的样本取决于网络的先前输出来提供语音的短期和中期结构。调节网络会影响自回归网络,并产生与移动速度较慢的输入功能一致的音频。

但是,WaveRNN与其前身WaveNet一样,是在考虑了文本到语音(TTS)应用程序的情况下创建的。作为TTS模型,WaveRNN会提供有关其应说和如何说的信息。

调节网络直接接收该信息作为构成词语和附加韵律特征的音素形式的输入(即所有诸如音调或音高之类的非文本信息)。从某种程度上来说,调节网络能够“窥见未来”,后续将自回归网络转向正确的波形并进行匹配,而这些在PLC系统和实时通信中则无法被提供。

对于功能正常的PLC系统,需要从当前语音(即过去)中提取上下文信息,同时生成逼真的声音。

Google Duo的WaveNetEQ解决方案可以在使用自回归网络保证音频连续性的同时,使用调节网络对长期特征(例如语音特性)进行建模。过去音频信号的频谱图被用作调节网络的输入,该调节网络提取有关韵律和文本内容的有限信息。这些被压缩的信息被反馈到自回归网络,该网络将其与近期的音频相结合,以预测波形域中的下一个样本。

这与WaveNetEQ模型训练过程中遵循的过程略有不同,在该过程中,自回归网络接收训练数据中存在的实际样本作为下一步的输入,而不是使用生成的最后一个样本。

这个被称为teacher forcing的过程可确保即使在训练的早期阶段(其预测仍为低质量),该模型仍可学习到有价值的信息。一旦对模型进行了充分的训练并将其用于音频或视频通话后,teacher forcing只会被用于 “预热”第一个样本模型,然后将其自身的输出作为下一步的输入传递回去。

WaveNetEQ结构。在推理过程中,Google通过teacher forcing用最新的音频来“预热”自回归网络。之后,模型将提供自己的输出作为下一步的输入。来自较长音频部分的MEL频谱图则被用作调节网络的输入。

该模型将应用于Duo抖动缓冲区中的音频数据。丢包事件发生后,如果真实音频仍然存在,Duo将无缝合并合成的、真实的音频流。为了找到两个信号之间的最佳对准,该模型的输出要比实际所需要的输出多一些,并从一个到另一个交叉淡入淡出。这样可使过渡平滑,并避免明显的噪音。

在60毫秒的移动范围内模拟音频上的PLC事件。蓝线代表实际的音频信号,包括PLC事件的过去和将来。在每个时间步长,橙色线代表合成音频WaveNetEQ将预测音频是否在灰色直线处被切断。

60 ms Packet Loss

音频片段:音频片段来自LibriTTS,10%的音频被分成60 ms,然后由WebRTC默认的PLC系统NetEQ与Google的PLC系统WaveNetEQ填充。(由于微信推送最多只能上传3个音频文件,这里没能列出原文中的所有音频,包括音频被拆分成120 ms后再填充的效果)

Ensuring Robustness

影响PLC的一个重要因素是网络适应各种输入信号的能力,包括不同的扬声器或背景噪声的变化。

为了确保模型在众多用户中的鲁棒性,Google对WaveNetEQ进行了语音数据集的训练,该语音数据集中包含100多位使用48种不同语言的演讲者。

这使模型可以学习普适的人类语音特征,而不是某些特定的语言属性。为了确保WaveNetEQ能够处理嘈杂的环境,例如在火车站或自助餐厅接听电话这样的情形,Google通过将数据与各种背景噪声混合来增强数据。

尽管Google的模型学习了如何逼真地延续语音,但这仅在短期内有效——它可以完成一个音节,但不能预测单词本身。相反,对于更长的数据包的丢失,Google会逐渐淡出直到该模型在120毫秒后保持静音。

为了进一步确保该模型不会产生错误的音节,Google使用了Google Cloud语音转文本API对WaveNetEQ和NetEQ的样本进行了评估,并发现单词错误率没有显著差异(即抄录口头语音时产生的错误文本数量)。

Google一直在Duo上试验WaveNetEQ,结果显示WaveNetEQ对通话质量和用户体验都有积极的影响。WaveNetEQ已经可以在Pixel 4手机的所有Duo通话中使用,现在正被推广到其他型号及设备中。

发表评论

电子邮件地址不会被公开。 必填项已用*标注