当前位置:科学 > 正文

技术分享- anyRTC回声消除算法进化

2023-02-25 05:52:10  来源:anyRTC云平台

本文将从基础概念、经典算法、主要挑战,以及人工智能回声消除技术探索等方面,分享anyRTC在 AEC 技术方面的实践及效果。


(资料图)

一.什么是回声消除

回音消除一直是语音通信的难点,最早的回声消除是从电话兴起的时候就有了,电话机的硬件中含有回声消除的硬件模块(HW-AEC),到了现代,软件中的通讯场景越来越多,相对应的软件回声消除算法(Soft-AEC)也迅速应用起来。

从通讯回音产生的原因看,可以分为声学回音(Acoustic Echo)和线路回音(Line Echo),相应的回声消除技术就叫声学回声消除(Acoustic Echo Cancellation,AEC)和线路回声消除(Line Echo Cancellation, LEC), 声学回音是由于在免提或者会议应用中,扬声器的声音多次反馈到麦克风引起的(比较好理解);线路回音是由于物理电子线路的二四线匹配耦合引起的(比较难理解),所以本讲只讨论声学回声(包括线性回声信号和非线性回声信号)的消除原理,即:远端讲话者(主播 A 或听众 A)的声音信号在传输给近端(听众 B 或主播 B)后,在近端设备的扬声器播放出来,经过一系列声学反射,被近端设备的麦克风拾取,又传输给远端(主播 A 或听众 A)的现象。

声学回声将导致远端讲话者在很短时间内,又听到了自己刚才的讲话声音。声学回声的产生过程如图所示。

这个回声如何才能消除掉呢?那就是使用 Soft-AEC(软件声学回声消除,下面统称为AEC)技术,消除近端设备麦克风采集信号中包含的回声 ; 保证远端讲话者收听到的声音中不存在回声信号 ;提升用户的通讯体验及会议室品质。
使用 AEC 技术后,两端声音传输过程改变为如图 2 所示,进而从底层保证会议场景下声音的干净度。

二.常用经典算法

一个完整的回声消除系统,包含以下几个模块:
1.时延估计(Time Delay Estimation, TDE) 模块
2.(线性)回声消除(Linear Acoustic Echo Cancellation, AEC) 模块
3.双讲检测(Double-Talk Detect, DTD) 模块
4.非线性残余声学回声抑制(Residual Acoustic Echo Suppression, RAES) 模块

其原理框图如图所示。

滤波器有两种状态:

滤波:自适应滤波器系数更新(NLMS):


自适应滤波器有三种工作模式(通过DTD双讲检测):

远端语音存在,近端语音不存在:滤波、自适应滤波器系数更新远端语音存在,近端语音存在:滤波远端语音不存在:什么都不用做

Webrtc中的回声消除模块,已包含:双讲检测技术(语音活动检测,区分希腊佛中是否存在双端讲话)、自适应滤波技术(主要性能指标:跟踪性能、抗冲激性、鲁棒性和计算复杂性)、后处理(消除自适应滤波器的输出误差)。

下面我们基于webrtc的回音消除算法做了一个测试,内部也做了一些优化,目前这个算法可以应用到多种平台,像windows、linux、android、ios、arm平台都可以支持,大家可以测试下,效果还是比较明显,基本上在很短时间内就可以完成回音收敛算法的学习。

三.人工智能回声消除技术探索

上面介绍了传统AEC算法的原理,近年来,AI深度学习在语音信号处理领域的应用越来越多,anyRTC早在3年前就已经将AI深度学习应用于语音降噪中,并取得了非常良好的效果,广受用户的好评。我们想着能不能利用深度学习来改进AEC传统算法中的一些痛点,比如噪声抑制效果不明显,双讲效果差等问题。早期有很多RNN的算法,但是效果都不是特别理想,很高兴看到的是近年来 NLP 领域最热门的 Transformer 与 AEC 算法融合的进行了探索。

Transformer 由 Google 团队于 2017 年 6 月提出,抛弃了传统 CNN 和 RNN,整个网络结构由 Attention 机制组成。它带给业界的重大突破在于:解决了 RNN 依赖历史结果导致模型并行能力被限制的问题与顺序计算信息丢失的问题。

深度学习的本质就是构建深度模型来拟合输入与输出之间的映射关系,并且通过所构建模型的不断自我调整来使得模型输出与目标的误差越来越小,直至收敛稳定。对于 AEC 算法来讲,深度网络的输入包括参考和麦克两路信号,输出是一路。下图是anyRTC基于 LSTM 深度学习模型处理之后的双讲效果。

可见,基于 LSTM 的AEC 深度学习方法结果优于传统方法。通过结合深度模型强大的拟合能力与会议场景相关的数据集,为非线性回声、混响、噪音、“双讲”等各种场景的性能带来提升。

关键词: 人工智能 深度学习 美好,一直在身边 Line Linux 创作者来直播 Google 计算复杂性理论 Android Windows

推荐阅读

北京雾霾的原因?北京雾霾的真正原因有哪些?

北京雾霾的真正原因有哪些?每年秋冬,黄淮和华北都会被雾霾困扰。雾霾散去,我们要等新一轮冷空气南下。北京的雾霾让人看不顺眼。空气控制 【详细】

太阳能电池背上市公司 太阳能电池背上市公司有哪些?

现如今太阳能电池已经发展的越来越好了,甚至有的家庭还用上了家用的光伏发电站了。但是呢我发现大家对于太阳能电池的了解还是不是很清楚, 【详细】

世界能源危机缓解的方法 世界能源危机缓解的方法有哪些?

世界能源危机是如何产生的?世界范围内,以石油为主的能源供需严重失衡,价格飞涨,影响和冲击着全球经济发展,给世界经济发展带来巨大风险 【详细】

用友软件怎么样 用友软件股份有限公司公司简介

用友网络科技股份有限公司(股票代码:600588)诞生于1988年,始终坚持用户之友的核心价值观,领航企业服务30年,是领先的综合型、融合化、生 【详细】

微博简介 微博是干什么用的?

相信很多人对微博应该很熟悉吧,接下来小编就带大家介绍一下微博是干什么用的?微博相关介绍的相关知识,大家可以了解一下。微博是基于用户 【详细】

关于我们  |  联系方式  |  免责条款  |  招聘信息  |  广告服务  |  帮助中心

联系我们:85 572 98@qq.com备案号:粤ICP备18023326号-40

科技资讯网 版权所有