您好,欢迎访问

商机详情 -

湖北机器人唤醒声学回声消除算法

来源: 发布时间:2022年07月13日

    就得到了非线性滤波器的比较好解,它具有小二乘估计形式。第三步构建耦合机制。在介绍耦合机制之前,先说一下我对这种耦合机制的期望特性。我希望在声学系统的线性度非常好的情况下,线性滤波器起到主导作用,而非线性滤波器处于休眠的状态,或者关闭的状态;反过来,当声学系统的非线性很强时,希望非线性滤波器起到主导作用,而线性滤波器处于半休眠状态。实际声学系统往往是非线性与线性两种状态的不断交替、叠加,因此我们希望构建一种机制来对这两种状态进行耦合控制。为了设计耦合机制,就必须对线性度和非线性度特征进行度量。因此,我们定义了两个因子,分别是线性度因子和非线性度因子,对应左边的这两个方程。而我们进行耦合控制的基本的思想就是将这两个因子的值代入到NLMS算法和小二乘算法之中,调整二者的学习速度。为了便于大家对双耦合声学回声消除算法有一个定性的认识,我又画了一组曲线,左边一组对应的是线性回声的场景。我们首先来看一下NLMS算法,黄色曲线真实的系统传递函数,红色曲线是NLMS算法的结果。可以看到,在线性场景下,NLMS算法得到的线性滤波器可以有效逼近真实传递函数,进而能够有效抑制线性声学回声。下面再来看一下这个双耦合算法。

     回声消除AEC(AcousticEchoCancellation)一般指的是声学回声消除,其主要用于抑制产品本身发出的声音。湖北机器人唤醒声学回声消除算法

湖北机器人唤醒声学回声消除算法,声学回声

    至于双讲恢复能力WebRTCAEC算法提供了{kAecNlpConservative,kAecNlpModerate,kAecNlpAggressive}3个模式,由低到高依次不同的抑制程度,远近端信号处理流程,NLMS自适应算法(上图中橙色部分)的运用旨在尽可能地消除信号d(n)中的线性部分回声,而残留的非线性回声信号会在非线性滤波(上图中紫色部分)部分中被消除,这两个模块是WebrtcAEC的模块。模块前后依赖,现实场景中远端信号x(n)由扬声器播放出来在被麦克风采集的过程中,同时包含了回声y(n)与近端信号x(n)的线性叠加和非线性叠加:需要消除线性回声的目的是为了增大近端信号X(ω)与滤波结果E(ω)之间的差异,计算相干性时差异就越大(近端信号接近1,而远端信号部分越接近0),更容易通过门限直接区分近端帧与远端帧。非线性滤波部分中只需要根据检测的帧类型,调节抑制系数,滤波消除回声即可。下面我们结合实例分析这套架构中的线性部分与非线性分。线性滤波线性回声y'(n)可以理解为是远端参考信号x(n)经过房间冲击响应之后的结果,线性滤波的本质也就是在估计一组滤波器使得y'(n)尽可能的等于x(n),通过统计滤波器组的比较大幅值位置index找到与之对齐远端信号帧,该帧数据会参与相干性计算等后续模块。

     湖北机器人唤醒声学回声消除算法深入浅出 WebRTC AEC(声学回声消除)。

湖北机器人唤醒声学回声消除算法,声学回声

    首先是优化准则。NLMS算法是基于小均方误差准则,而双耦合算法是基于小平均短时累计误差准则,所以他们的优化准则是不一样的。第二个就是理论的比较好解,NLMS算法具有Wiener-Hopf方程解,而双耦合算法的线性滤波器也具有Wiener-Hopf方程解,非线性滤波器具有小二乘解。第三个维度就是运算量,NLMS运算量是O(M),M是滤波器的阶数,而双耦合算法运算量后面会多一个O(N2),因为他有两个滤波器,N是非线性滤波器的阶数,这里的平方是因为小二乘需要对矩阵进行求逆运算,所以它的运算量比线性的NLMS运算量要大很多。第三个就是控制机制,NLMS算法只有一个滤波器,它的控制主要是通过调整步长来实现的,控制起来要相对简单。而双耦合算法需要对两套滤波器进行耦合控制,控制的复杂度要高很多。实验结果分析,这里我主要是分了两个实验场景比较双耦合算法和NLMS算法的性能,个是单讲测试场景,第二个就是双讲测试场景。首先看一下单讲测试场景,个示例是针对强非线性失真的情况,左边分别原信号的语谱,NLMS算法进行回声消除之后的语谱、双耦合算法的语谱。颜色越深,能量越大。右边这个的是回声抑制比,值越大越好,红色的曲线是双耦合算法的回声抑制比。

   

    这样会带来一个新的问题:按照Widrow的自适应滤波理论,滤波器的长度越长,其收敛速度越慢,同时权噪声越大,进而导致强混响下回声消除不够理想。第二个问题是延时跳变问题。在实时音视频通话领域,延时跳变是一个比较普遍的问题。主要现象是麦克端采集的信号和回声参考信号之间的时延关系会发生跳变,每次跳变之后就需要重新对齐信号,就会漏一些回声出来。第三个问题是啸叫问题。啸叫的检测和啸叫的抑制是公认的在回声领域的经典难题。还有双讲问题。双讲是评估回声消除算法性能的一个重要指标,当然也是很难处理的一个问题,因为双讲很容易导致滤波器系数发散。综合以上这些维度我们可以看到,非线性的声学回声消除是一个很有挑战的研究方向。双耦合声学回声消除算法这个是我们团队提出来的一种算法,它的主要特点是,在构建滤波器模型的过程中结合了非线性声学回声的一些特性,因此它在抑制非线性回声方面,也体现出固有的优势。1.非线性声学回声系统建模,继续回到前面的这个声学回声路径。我们对这个模型进行了简化。我们将左边的喇叭端用一个传递函数Wn来表示,假设它的是非线性的回声路径传递函数;同时我们将喇叭右边,就是麦克端,统一用Wl来表示。

    基于前面构建的短时相关度函数,我们对大量声学回声数据进行分析。

湖北机器人唤醒声学回声消除算法,声学回声

    也就是说吸声可提高音质,但对降噪能力效果不好。3.吸声系数在一定面积上被吸收的声能与射入声能之比称之为该界面的吸声系数(α)。当入射声能被完全反射时,α=0,表示无吸声作用;当入射声波完全没有被反射时,α=1,表示完全被吸收。一般材料或结构的吸声系数α=0~1,α值越大,表示吸声能越好,它是目前表征吸声性能常用的参数。4.吸声量又称等效吸声面积,等于吸声材料面积与其吸声系数的乘积。单位为平方米。5.吸声材料吸声系数大于(acousticalabsorptionmaterials)。吸声材料是多孔、疏散的材质,常用的吸声材料有玻璃棉、岩棉、聚酯纤维吸音板、羊毛毡、矿渣棉、卡普隆纤维、棉麻等植物纤维、泡沫微孔吸声砖等。雪也能吸声。6.隔声隔声是指声波在空气中传播时,一般用各种易吸收能量的物质消耗声波的能量使声能在传播途径中受到阻挡而不能直接通过的措施,这种措施称为隔声。7.隔声量声波从一空间向另一空间透射,被中间界面阻隔的声能。8.吸声降噪指采用吸声的材料吸收噪声、降低噪声强度的方法。一般利用吸声装置(吸声饰面、空间吸声体等)吸收室内的声能以降低噪声。在室内建筑厅堂和工厂降噪的声学设计中,主要是解决低频吸声降噪的问题。。

     我们把声学回声消除这个技术变成一张实体的插件(设备插卡),在系统中,为实现次回声过滤。湖北机器人唤醒声学回声消除算法

非线性声学回声消除技术研究现状。湖北机器人唤醒声学回声消除算法

    噪声抑制和声源分离同属于语音增强的范畴,如果把噪声理解为广义的噪声三者之间的关系,噪声抑制需要准确估计出噪声信号,其中平稳噪声可以通过语音检测判别有话端与无话端的状态来动态更新噪声信号,进而参与降噪,常用的手段是基于谱减法(即在原始信号的基础上减去估计出来的噪声所占的成分)的一系列改进方法,其效果依赖于对噪声信号估计的准确性。对于非平稳噪声,目前用的较多的就是基于递归神经网络的深度学习方法,很多Windows设备上都内置了基于多麦克风阵列的降噪的算法。效果上,为了保证音质,噪声抑制允许噪声残留,只要比原始信号信噪比高,噪且听觉上失真无感知即可。单声道的声源分离技术起源于传说中的鸡尾酒会效应,是指人的一种听力选择能力,在这种情况下,注意力集中在某一个人的谈话之中而忽略背景中其他的对话或噪音。该效应揭示了人类听觉系统中令人惊奇的能力,即我们可以在噪声中谈话。科学家们一直在致力于用技术手段从单声道录音中分离出各种成分,一直以来的难点,随着机器学习技术的应用,使得该技术慢慢变成了可能,但是较高的计算复杂度等原因,距离RTC这种低延时系统中的商用还是有一些距离。噪声抑制与声源分离都是单源输入。

     湖北机器人唤醒声学回声消除算法