福建电视声学回声祛混响算法

时间:2023年01月16日 来源:

WebRTCAEC算法中开辟了可存储250个block大缓冲区,每个block的长度PART_LEN=64个样本点,能够保存的1s的数据,这也是理论上的大延时能够估计的范围,够用了。我们用610ms延时的数据测试(启用大延时调整需要设置delay_agnostic_enabled=1):我们还是设置默认延时为240ms,刚开始还是调整了-60个block,随后大延时调整接入之后有调整了-88个block,一共调整(60+88)*4=592ms,之后线性滤波器固定index=4,表示剩余延时剩余16ms,符合预期。③线性滤波器延时估计是固定延时调整和大延时调整之后,滤波器对当前远近端延时的直接反馈。前两者调整不当会造成延时过小甚至非因果,或延时过大超出滤波器覆盖能力,导致无法收敛的回声。因此前两者在调整的过程中需要结合滤波器的能力,确保剩余延时在滤波器能够覆盖的范围之内,即使延时小范围抖动,线性部分也能自适应调整。总结与优化方向WebRTCAEC存在的问题:(1)线性部分收敛时间较慢,固定步长的NLMS算法对线性部分回声的估计欠佳;(2)线性部分滤波器阶数默认为32阶,默认覆盖延时132ms,对移动端延时较大设备支持不是很好,大延时检测部分介入较慢。双耦合声学回声消除算法的主要贡献体现在两个方面。福建电视声学回声祛混响算法

    我们常说,距离产生延时,而在模拟音频大举转向数字音频、网络音频的,网络信号的延迟也为音频领域赋予了新的现象,尤其应用在远程会议这样的音频传输系统当中,它能将一次次回授剥离成一次次听似回声的现象,这就是网络音频回声。该图片经我司设计员制作后作者再编辑通常由A地发出的声源A在几乎不经过延迟处理的本地系统中,通过A地音箱扩声;而其经过网络终端编码送向远端时,除了考虑A地的上传时间X,还得考虑B地的下载时间Y。在这样一个架构在Internet网络传输环境中的声音,其到达B地扩声音箱出来的信号则是A+X+Y。经B地本地话筒拾取后的该信号,再由B地的上传网速(时间)Z、A地的下载时间W传送回A地扩声音箱,其表现出的信号则会出现一次A信号,及一次赋予了(X+Y+Z+W)时间的A信号。假设A地—B地传输时间总和为200ms,B地—A地传输时间总和为200ms,则信号的一去一回,体现在A扩声音箱中至少会存在A和A+400ms的信号,若反馈信号电平足够强,则再被话筒拾取,这将不止产生一次的回声,而是多次规律的回声现象。该图片来源于Motivity产品DP处理器AEC调试界面AEC即AcousticEchoCancellation(声学回声消除)技术简称。

    福建电视声学回声祛混响算法非线性的声学回声消除问题。

该技术的出现旨在消除这种因远程网络会议所带来的回授现象,以遏制首先次回声产生所需的必要条件来遏制多次回声的出现。为什么要费那么大周折去抑制回声?这个话题应该不言而喻了。会议、语音扩声讲究的即是STI语音清晰度(可懂度),而回声是语言清晰度的比较大。设想踩脚跟式的语音信号传达到耳朵,听者难受,讲者费劲,对于这样的语音会议来说,那必将是一场灾难。我们把声学回声消除这个技术变成一张实体的插件(设备插卡),在系统中,为实现首先次回声过滤(过滤回声源则过滤多次回声)。这个技术应该插入在系统的哪个环节呢?我们不妨来找找系统中具备近乎相同/相似信号的一级进出环节。该图片经我司设计员制作后作者再编辑通过上图的分析,我们并不难发现一组具备相似信号的输入输出环节。而AEC技术认为,在这里对回声下手是治根的办法!市面上有多种类的回声消除器,也有部分抑制器,其算法和解决办法各有不同,本文就不详细阐释了。须知,通过对具有相似性极高的输入、输出信号的比对,约掉这一具备相似信号的输出,即切断了回授的根源,A地将不再听到回声现象。笔者也经常遇到有用户因远程会议本地有回声而采购了带有AEC回声消除功能的处理器。

    n)中的回声是扬声器播放远端参考x(n),又被麦克风采集到的形成的,也就意味着在近端数据还未采集进来之前,远端数据缓冲区中已经躺着N帧x(n)了,这个天然的延时可以约等于音频信号从准备渲染到被麦克风采集到的时间,不同设备这个延时是不等的。苹果设备延时较小,基本在120ms左右,Android设备普遍在200ms左右,低端机型上会有300ms左右甚至以上。(2)远近端非因果为什么会导致回声?从(1)中可以认为,正常情况下当前帧近端信号为了找到与之对齐的远端信号,必须在远端缓冲区沿着写指针向前查找。如果此时设备采集丢数据,远端数据会迅速消耗,导致新来的近端帧在向前查找时,已经找不到与之对齐的远端参考帧了,会导致后续各模块工作异常。如图10(a)表示正常延时情况,(b)表示非因果。WebRTCAEC中的延时调整策略关键而且复杂,涉及到固定延时调整,大延时检测,以及线性滤波器延时估计。三者的关系如下:①固定延时调整只会发生在开始AEC算法开始处理之前,而且调整一次。如会议盒子等固定的硬件设备延时基本是固定的,可以通过直接减去固定的延时的方法缩小延时估计范围,使之快速来到滤波器覆盖的延时范围之内。下面结合代码来看看固定延时的调整过程。

    非线性的声学回声消除问题是一个困扰了行业很多年的技术难题。

    WebRtcAec_Process接口如上,参数reported_delay_ms为当前设备需要调整延时的目标值。如某Android设备固定延时为400ms左右,400ms已经超出滤波器覆盖的延时范围,至少需要调整300ms延时,才能满足回声消除没有回声的要求。固定延时调整在WebRTCAEC算法开始之初作用一次,为什么target_delay是这么计算?inttarget_delay=startup_size_ms*self->rate_factor*8;startup_size_ms其实就是设置下去的reported_delay_ms,这一步将计算时间毫秒转化为样本点数。16000hz采样中,10ms表示160个样本点,因此target_delay实际就是需要调整的目标样本点数(aecpc->rate_factor=aecpc->splitSampFreq/8000=2)。我们用330ms延时的数据测试:如果设置默认延时为240ms,overhead_elements次被调整了-60个block,负值表示向前查找,正好为60*4=240ms,之后线性滤波器固定index=24,表示24*4=96ms延时,二者之和约等于330ms。②大延时检测是基于远近端数据相似性在远端大缓存中查找相似的帧的过程,其算法原理有点类似音频指纹中特征匹配的思想。大延时调整的能力是对固定延时调整与线型滤波器能力的补充,使用它的时候需要比较慎重。需要控制调整的频率,以及控制造成非因果的风险。

     什么是非线性声学回声。上海商显声学回声识别

深入浅出 WebRTC AEC(声学回声消除)。福建电视声学回声祛混响算法

    我们还希望它在一个短时的观测时间窗的尺度里面也是比较好的,即局部比较好,所以在数学期望内部,我们又对误差进行了短时积分。这个优化准则跟传统的线性自适应滤波器是有本质区别的,因为传统的线性自适应滤波器基于小均方误差准则,它只是在统计意义上比较好,没有局部比较好约束。首先来求解这里的Wl,就是线性滤波器。主要求解方法是,假设Wn就是非线性滤波器是比较好解,把这个比较好解代入到前面的优化方程里,就会得到上面简化之后的优化目标函数。在这个地方,我们又做了一些先验假设,假设非线性的滤波器的一阶统计量和二阶统计量都等于0,我们就可以把上面的优化问题进一步简化,就得到我们非常熟悉的方程,就是Wiener-Hopf方程。这个结果告诉我们,线性滤波器的比较好解跟传统的自适应滤波器的比较好解是一致的,都是Wiener-Hopf方程的理论比较好解。所以我们就可以采用一些现有的比较成熟的算法,比如NLMS算法、RLS算法,对它进行迭代求解。这就是Wl的设计。接下来再看看Wn的设计。Wn的设计跟Wl的设计是类似的,也是需要将优化之后的线性滤波器,代入到开始的优化问题里,可以把前面的优化问题简化成下面的方程。接下来进行一系列的变量替换之后。

    福建电视声学回声祛混响算法

深圳鱼亮科技有限公司属于通信产品的高新企业,技术力量雄厚。是一家有限责任公司(自然)企业,随着市场的发展和生产的需求,与多家企业合作研究,在原有产品的基础上经过不断改进,追求新型,在强化内部管理,完善结构调整的同时,良好的质量、合理的价格、完善的服务,在业界受到宽泛好评。公司业务涵盖智能家居,语音识别算法,机器人交互系统,降噪,价格合理,品质有保证,深受广大客户的欢迎。深圳鱼亮科技将以真诚的服务、创新的理念、***的产品,为彼此赢得全新的未来!

信息来源于互联网 本站不为信息真实性负责