Meta 系列应用程序如何提升音频通话质量

简介

Meta 先进的回声和噪音抑制解决方案 Beryl,可提高在安卓设备上使用 WhatsApp、Messenger、Instagram 和 Facebook 通话时的音频质量——这将使数十亿用户受益。去年 12 月推出该解决方案后,Meta 观察到用户对回声的投诉显著减少,这证实了他们在实验室测试中观察到的回声减少 25% 和重复通话(或可打断性)改善 30% 的结果。

Meta 是如何做到的?看看来自Meta 团队的 Sriram Srinivasan 和 Hoang Do 的分享。

回声问题

您是否在通话时听到过自己的声音有回音?或者当你说话时,听到扭曲的音频神秘地跟随着你说话的节奏?这就是众所周知的回声问题。例如,当爱丽丝给鲍勃打电话时,鲍勃手机的扬声器会播放出爱丽丝的声音。鲍勃的麦克风会接收到爱丽丝的声音,在没有任何信号处理的情况下,这个音频信号会被传回给爱丽丝,爱丽丝会听到自己的声音被回放。通话应用程序包含某种形式的声学回声消除(AEC),可以从鲍勃的麦克风输入中消除爱丽丝的声音。应用程序既可以在软件中实现 AEC,也可以利用手机内置的 AEC(如果有的话)。不过,并非所有的 AEC 都是一样的,当它们失效时,就会听到自己的回声。

Meta 系列应用程序如何提升音频通话质量
图 1:回声问题

在上面的例子中,抑制回声的一种方法是在爱丽丝说话时衰减鲍勃的麦克风信号。虽然这可以确保爱丽丝永远听不到自己的回声,但这也意味着鲍勃永远无法在爱丽丝说话时打断她–这就是众所周知的对讲机效应。一个好的 AEC 的目标是抑制回声,并允许两个参与者同时说话(AEC 的通俗说法是 “双声道”)。

在Meta的应用程序家族(FoA)中,包括 WhatsApp、Messenger、Instagram 和 Facebook,对于内置硬件 AEC 无法提供令人满意的通话质量的手机通话,我们以前使用的是开源 WebRTC 协议栈中的 AECm 算法。与在浏览器和桌面应用程序上运行的计算量较大的 WebRTC 版本 AEC3 相比,AECm 是一种适用于手机的轻量级算法。

回声消除是一个复杂的问题,受多种因素的影响,如麦克风和扬声器的特性、它们之间的距离、分隔它们的材料的性质以及它们之间的耦合。其他因素,如扬声器音量、用户声学环境的混响程度、扬声器信号的相对音量以及本地通话者的声音也起着重要作用。在我们的规模中,有数十亿用户在不同的声音环境中使用数千种设备型号进行通话,我们发现 WebRTC AECm 无法为我们多样化的移动用户群提供足够好的通话质量。

Beryl,Meta 的轻量级回声消除解决方案

学术界和我们的行业对基于机器学习(ML)的回声消除技术非常感兴趣。在 Meta,我们很早就意识到了机器学习的价值。在可以承受更高的计算复杂度的设备上,我们之前推出了一种基于机器学习的方法,可以抑制回声、保留重复通话,还能抑制各种背景噪音。该解决方案适用于 Windows 和 Mac 上的所有 Messenger 桌面用户。与此同时,我们还需要一种基础解决方案,这种解决方案的覆盖范围要广,在 CPU 和内存资源方面要轻便,但即使在最低端的设备上,其质量也要明显优于当前最先进的解决方案。为了解决用户的这一问题,我们投资编写了自己的轻量级 AEC,代号为 Beryl。

Meta 系列应用程序如何提升音频通话质量
图 2:Beryl 架构和构建块

图 2 展示了构成 Beryl 核心的主要信号处理模块。扬声器参考信号 r(n) 包含爱丽丝的声音,麦克风信号 z(n) 包含鲍勃的声音、背景噪声和扬声器信号的混音,这些信号被输入到延迟估计和对齐模块。这可确保鲍勃的声音信号在输入 r(n) 和 z(n) 时保持时间一致。陷波滤波器可消除因电力线干扰而产生的嗡嗡声,然后将信号转换到频域进行子带处理。Beryl 支持采样率高达 48 kHz 的信号。Beryl Lite 适用于低计算能力的移动设备,以 10 毫秒为一帧处理信号,算法延迟为 10 毫秒。用于台式机和高运算量移动设备的 Beryl Full 采用 5 毫秒帧,算法延迟为 15 毫秒。Beryl 还支持多通道回声消除(多个捕获和回放通道),这对于立体声回放和捕获等场景至关重要。

无论是在 Lite 模式还是 Full 模式下,Beryl 改进的双向通话很大程度上归功于其对线性自适应滤波器的支持。相比之下,虽然 WebRTC 的 AEC3 利用线性滤波器,但 AECm 却没有,这会对双方通话质量产生负面影响。 Beryl 对关键方面做出了最小的假设,例如扬声器参考信号和麦克风信号之间的相对延迟、扬声器和麦克风之间的耦合以及背景噪声。这些对于概括大量未知设备非常重要,这与为单个已知设备调整 AEC 非常不同。 Beryl 假设回声路径可以动态变化,并且具有快速适应回声路径变化的机制。混响估计器模块估计不属于扬声器和麦克风之间的直接路径一部分的能量,然后非线性回声抑制器组件使用该能量来抑制线性滤波器之后残留的残余回声。然后,在信号转换回时域并进行增益归一化之前,噪声抑制器会消除任何静态背景噪声。 

虽然我们已经描述了音频工程师所熟悉的主要系统组件,但还有其他几个较小的组件和巧妙的优化,可以共同产生高质量的输出。

评估和结果

对于这种性质的长期投资,通过中间里程碑和评估建立信心至关重要。在我们的应用程序中部署 Beryl 并通过 A/B 测试衡量其优势之前,我们需要在实验室中对其进行评估。这就需要建立一个有代表性的测试数据集,以反映我们用户所经历的设备和声音条件的多样性。我们从未从应用程序中收集过音频数据,因此我们不得不依靠众包数据收集,这与其他公司在 ICASSP 2022 AEC 挑战赛中采用的方法类似。我们的数据集包含约 3000 个音频片段,即 40 个小时的语音和音乐,扬声器和麦克风信号由真实设备录制,涵盖 7 种语言,采样频率为 16 kHz 和 48 kHz。这些信号随后通过我们正在测试的算法进行处理。我们采用国际电信联盟 P.831 协议评估 AEC 算法的输出结果。

表 1 显示了 Beryl Full 和 Beryl Lite 在具有挑战性的回声消除条件下对语音和音乐信号的平均意见分(MOS)结果,并与 WebRTC 解决方案进行了比较。我们测量了(无)回声的烦扰程度(5 分制,越高越好),以及当远程一方也在通话时,主通话者语音信号的质量(又称双重通话)(也是 5 分制,越高越好)。由于我们的大部分用户都使用移动平台,因此与 AECm 相比,Beryl Lite 在回声干扰得分方面提高了 26-29%,在双重通话得分方面提高了 38%,这令我们尤为兴奋。值得注意的是,绝对分数取决于评估中使用的测试数据的性质。

重要的是,Beryl 在实现这些显著的质量提升的同时,CPU 负载仅略有增加(相对增加少于 7%),这在我们的生产 A/B 测试中被证实不会影响用户体验。

P.831 测量说明Beryl Full 与 WebRTC AEC3 相比好多少Beryl Lite 与 WebRTC AECm 相比好多少
单方通话时的回声干扰鲍勃保持沉默。爱丽丝在说话。爱丽丝不应听到自己的回声37%26%
双方通话期间的回声干扰鲍勃和爱丽丝都在说话。爱丽丝(或鲍勃)不应听到自己的回声。39%29%
双向通话时的近端质量鲍勃和爱丽丝都在说话。鲍勃的声音清晰地传到爱丽丝耳中(反之亦然)14%38%
表 1:Beryl Lite 和 Full 的主观质量与 WebRTC 解决方案的比较

一旦算法最终确定并集成到我们的应用程序中,我们就会在生产中进行 A/B 测试,以验证实验室结果,然后再向所有用户推广 Beryl。我们发现参与度指标以及用户报告的回声问题都有了明显改善。现在,Beryl 已推广到我们主要应用程序的所有通话中,每天为数十亿分钟的通话提供动力。

团队

我们与外部供应商 SMPL 合作创建了 Beryl,并感谢所有为该项目做出贡献的人。在 Meta,我们的团队包括 Hoang Do、Sureshbabu Ramalingam、Puneet Rana、Yun Li、George Gau、James Luan、Bikash Agarwalla 和 Sriram Srinivasan。在 SMPL,我们与 Phil Hetherington、Shree Paranjpe 和 Karsten Sorensen 合作。

原文:https://atscaleconference.com/improving-audio-quality-for-calling-across-metas-family-of-apps/

本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/jishu/yinshipin/48111.html

(0)

相关推荐

发表回复

登录后才能评论