吉他价格品牌,吉他教学教程,吉他曲谱视频
关注520吉他网
文章页顶部广告位
当前位置:首页 > 头条 > 即时语音(如:YY语音)中回声消除技术是如何实现的?
时间:2019-12-11     来源:网络资源     标签:

首先我们要了解一下回声是怎么产生的:从通讯回音产生的原因看,可以分为声学回音(Acoustic Echo 如上图)和线路回音(Line Echo),相应的回声消除技术就叫声学回声消除(Acoustic Echo Cancellation,AEC)和线路回声消除(Line Echo Cancellation, LEC)。

声学回音是由于在免提或者会议应用中,扬声器的声音多次反馈到麦克风引起的(比较好理解);线路回音是由于物理电子线路的二四线匹配耦合引起的(一般硬件厂商来保证,不做具体阐述)。

为什么回声在音频里面这么严重?我们怎么做?在发送时,把不需要的回音从语音流中间去掉。

试想一下,对一个至少混合了两个声音的语音流,要把它们分开,然后去掉其中一个,难度何其之大。

就像一瓶蓝墨水和一瓶红墨水倒在一起,然后需要把红墨水提取出来,这恐怕不可能了。

所以回声消除被认为是神秘和难以理解的技术也就不奇怪了。

实际上,算法只获取麦克风采集的混合信号是无法做回声消除的,因为算法并不清楚混合的信号里面哪些部分是回声哪些是本端的人说的话。

但是回声其实播放的声音经过空间的墙面,地面,桌面反射回麦克风的信号,而播放的信号SDK其实是可以获取的,这就有了参考信号帮助算法来确定哪些是回声哪些是本端声音。

来看下面的AEC声学回声消除框图尽管回声消除是非常复杂的技术,但我们可以简单的描述这种处理方法: 1、假设设备播放的声音是Y,经过空间反射产生的回声是Y',近端说话的声音是X,那么麦克风采集的信号就是 X+ Y'。

2、AEC 算法的输入需要 麦克风的信号(X+ Y')以及播放的声音Y,理想的输出是X。

3、算法的过程可以简单理解成用滤波器去模拟空间的反射变化,假设滤波器是f,那么就是希望f(Y) = Y'。

这样我们就得到了Y'再在输入信号里面去掉。

4、上述是理想情况,实际情况是空间反射,以及采集播放的性能决定Y到Y'基本都是非线性的变化,然而因为计算量的限制,一般的实时系统都是使用的线性的滤波器,所以滤波器即使处在最理想的情况下也只能处理线性部分,对于非线性部分(很多情况下非线性回声是主要部分)还要有非线性的处理Nonlinear Process。

5、又因为回声的反射路径随着空间环境的变化随时都会变化,一般滤波器会设计成自适应的去跟踪环境回声路径的变化。

以上内容结合网易云信音频算法专家以及技术博主碧海银沙的回声消除要点简介。

网易云信,你身边的即时通讯和音视频技术专家,了解我们,请戳网易云信官网想要阅读更多行业洞察和技术干货,请关注网易云信博客更多精彩内容,关注网易云信知乎机构号哦。

文章页顶部广告位
文章页顶部广告位
文章页顶部广告位

报歉!评论已关闭。