前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RTC@scale 2024| 实时通话音质提升 Part 1:Beryl回声消除

RTC@scale 2024| 实时通话音质提升 Part 1:Beryl回声消除

作者头像
用户1324186
发布2024-05-20 13:55:04
1180
发布2024-05-20 13:55:04
举报
文章被收录于专栏:媒矿工厂媒矿工厂

引言

图1 回声问题

回声问题指的是在实时通话中听到的自己的声音回响或是失真的音频。例如,当Alice呼叫Bob时,她的声音从Bob手机的扬声器中播放出来。Bob的麦克风拾取Alice的声音,音频信号被发送回Alice,Alice听到她的声音回响。

通常通话应用程序都会Alice的声音。应用程序既可以在软件中实现 AEC,也可以利用手机内置的AEC。然而,AEC并非一直有效。

以上图为例,抑制回声的一种方法是每当Alice说话时衰减Bob的麦克风信号。虽然这确保了Alice永远不会听到自己的回声,但这也意味着Bob永远无法在Alice说话时打断她,这就是众所周知的对讲机效应。良好AEC的目标是抑制回声并允许双方同时通话(通常称为双向通话)。

现存的开源WebRTC堆栈包括适用于手机的轻量级算法AECm,以及计算量较大的版本AEC3。它在可拓展性和高质量两方面仍然存在不足:在大规模的社交软件应用中,AEC算法需要能够适应多种应用场景,例如不同的声学环境、不同设备等;AEC性能对许多因素都很敏感,例如扬声器音量、用户声学环境的混响程度、麦克风与扬声器之间的耦合等。因此,我们推出了Beryl,改进Meta音频处理堆栈核心的产品,以同时满足可拓展性与高质量两方面的需要。作为一个覆盖范围广泛的基准解决方案,该解决方案在CPU和内存资源方面是轻量级的,但即使在最低端设备上,也能提供比当前最先进的解决方案更好的质量。

Beryl方案

图2 Beryl架构

Beryl是基于DSP的可拓展AEC解决方案。它有两种模式:lite mode和full mode,以适应不同计算能力的设备。

延迟估算器(Delay Estimator)

延迟估算器能够估算由于声道变化、线程抖动或时钟漂移造成的远端参考信号和近端捕获信号之间的延迟。

线性AEC滤波器(Linear AEC)

图3 Beryl的线性AEC滤波器示意图

参考信号和捕获信号通过延迟估算器对齐后,线性AEC滤波器估计捕获信号中存在的回声,并将其从信号中减去,从而只提供没有任何回声的近端音频的近似估计值。本质上讲,线性适应滤波器是通过迭代估计扬声器和麦克风之间的声学路径(也称为房间脉冲响应)来实现这一目的的。由此产生回声估计值,再从输入信号中减去回声估计值,得出输出信号,也称为误差信号。

Beryl的线性AEC滤波器是一种基于频域NLMS的双滤波器方法:一个固定滤波器,有助于AEC在稳定状态下工作;一个始终自适应滤波器,有助于AEC快速适应变化。

声学回声抑制器(Acoustic Echo Suppressor, AES)

图4 AES应用场景

线性AEC无法消除传播链中的非线性因素,因此需要AES来清除残余回声。

在从远端到近端的传播路径中,可能存在一些非线性失真,例如扬声器之前和麦克风之后的放大器所引入的非线性失真。Beryl AES应用感知滤波和环境噪声匹配技术消除静态回声,从而有效消除残余回声,保持语音的本质。

实时应用

  • 线程安全 两个实时音频线程(输入和输出)从缓冲区读取/写入音频数据(近端捕获和远端参考),两个线程都可以更改数据。
  • CPU优化 DSP功能使用适用于arm64和armv7设备的NEON指令集写作,并做了适用于Intel CPU的AVX2优化,CPU负载不超过WebRTC的110%。

效果展示与性能对比

demo

以下为使用WebRTC AECm和Beryl AEC在安卓版Messenger上进行实时通话的两段简短录音:

使用WebRTC AECm的通话

使用Beryl AEC的通话

性能表现

图5 性能对比

在包含约3000个音频片段,40小时的语音和音乐,涵盖7种语言,并以16kHz和48kHz采样的数据集上的测试结果显示,对比它们的竞争对手,Beryl full和Beryl lite都达成了显著的性能提升。与AECm相比,Beryl lite的回声干扰分数提高了26-29%,双向通话分数提高了38%,对于大部分用户群都在移动平台上的实时通话软件来说具有应用意义。

附上演讲视频:

https://mpvideo.qpic.cn/0bc3emaagaaakmamdjcctrtfai6damrqaaya.f10002.mp4?

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-05-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 媒矿工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • Beryl方案
    • 延迟估算器(Delay Estimator)
      • 线性AEC滤波器(Linear AEC)
        • 声学回声抑制器(Acoustic Echo Suppressor, AES)
          • 实时应用
          • 效果展示与性能对比
            • demo
              • 性能表现
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档