语音信号处理方法、装置、计算机可读存储介质和计算机设备与流程

文档序号:18731296发布日期:2019-09-21 00:33阅读:167来源:国知局
语音信号处理方法、装置、计算机可读存储介质和计算机设备与流程

本申请涉及信号处理技术领域,特别是涉及一种语音信号处理方法、装置、计算机可读存储介质和计算机设备。



背景技术:

随着计算机技术技术的发展,出现了语音识别技术,在进行语音识别的时候,经常需要对语音信号中的干扰信号,如噪声和回声等进行消除。

传统技术中,对噪声和回声进行消除时,通常需要有一个参考信号,由自适应滤波器根据参考信号对语音信号进行噪声或者回声消除,当同时存在多个干扰信号源,例如同时存在回声和噪声或者存在多点噪声时,由于需要多个不同的参考信号,需要分别根据不同的参考信号进行计算,计算复杂度高,导致语音信号处理的效率低。



技术实现要素:

基于此,有必要针对语音信号处理效率低的技术问题,提供一种语音信号处理方法、装置、计算机可读存储介质和计算机设备。

一种语音信号处理方法,包括:

通过麦克风阵列采集源语音信号,所述麦克风阵列包括至少一个第一麦克风及至少一个第二麦克风;

获取自适应滤波器对应的目标线性传递函数,所述目标线性传递函数是根据所述第二麦克风采集的第二历史语音信号和所述第一麦克风采集的第一历史语音信号得到的;

将所述第二麦克风采集的第二源语音信号输入至所述自适应滤波器中;

通过所述自适应滤波器对应的所述目标线性传递函数对所述第二源语音信号中的干扰信号进行估计,得到第一估计信号;

根据所述第一估计信号对所述第一麦克风采集的第一源语音信号中的干扰信号进行消除,得到目标语音信号。

一种语音信号处理装置,所述装置包括:

语音信号采集模块,用于通过麦克风阵列采集源语音信号,所述麦克风阵列包括至少一个第一麦克风及至少一个第二麦克风;

目标线性传递函数获取模块,用于获取自适应滤波器对应的目标线性传递函数,所述目标线性传递函数是根据所述第二麦克风采集的第二历史语音信号和所述第一麦克风采集的第一历史语音信号得到的;

第一语音信号输入模块,用于将所述第二麦克风采集的第二源语音信号输入至所述自适应滤波器中;

第一干扰信号估计模块,用于通过所述自适应滤波器对应的所述目标线性传递函数对所述第二源语音信号中的干扰信号进行估计,得到第一估计信号;

第一干扰信号消除模块,用于根据所述第一估计信号对所述第一麦克风采集的第一源语音信号中的干扰信号进行消除,得到目标语音信号。

一种存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:

通过麦克风阵列采集源语音信号,所述麦克风阵列包括至少一个第一麦克风及至少一个第二麦克风;

获取自适应滤波器对应的目标线性传递函数,所述目标线性传递函数是根据所述第二麦克风采集的第二历史语音信号和所述第一麦克风采集的第一历史语音信号得到的;

将所述第二麦克风采集的第二源语音信号输入至所述自适应滤波器中;

通过所述自适应滤波器对应的所述目标线性传递函数对所述第二源语音信号中的干扰信号进行估计,得到第一估计信号;

根据所述第一估计信号对所述第一麦克风采集的第一源语音信号中的干扰信号进行消除,得到目标语音信号。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:

通过麦克风阵列采集源语音信号,所述麦克风阵列包括至少一个第一麦克风及至少一个第二麦克风;

获取自适应滤波器对应的目标线性传递函数,所述目标线性传递函数是根据所述第二麦克风采集的第二历史语音信号和所述第一麦克风采集的第一历史语音信号得到的;

将所述第二麦克风采集的第二源语音信号输入至所述自适应滤波器中;

通过所述自适应滤波器对应的所述目标线性传递函数对所述第二源语音信号中的干扰信号进行估计,得到第一估计信号;

根据所述第一估计信号对所述第一麦克风采集的第一源语音信号中的干扰信号进行消除,得到目标语音信号。

上述语音信号处理方法、装置、计算机可读存储介质和计算机设备,首先通过麦克风阵列采集源语音信号,由于麦克风阵列的各个麦克风采集的源语音信号来自相同信号源,各个麦克风采集的源语音信号之间彼此具有相关性,因此将其中一部分麦克风采集的信号输入自适应滤波器后估计出的干扰信号,可以对另一部分麦克风中的干扰信号进行消除得到目标语音信号,由于自适应滤波器是通过目标线性传递函数对源语音信号中的干扰信号进行估计的,而该目标线性传递函数可以根据第二麦克风采集的第二历史语音信号和第一麦克风采集的第一历史语音信号得到的,可见,本申请的语音信号处理方法在实现消除干扰信号的过程中时,并不需要依赖参考信号,因此,当存在多个干扰源时,避免了由于多个参考信号导致的计算量大的问题,从而可以提高语音信号的处理效率。

附图说明

图1为一个实施例中语音信号处理方法的应用环境图;

图2为一个实施例中语音信号处理方法的流程示意图;

图3为一个实施例中麦克风阵列与自适应滤波器的连接关系示意图;

图4A为一个实施例中S204之前的流程示意图;

图4B为另一个实施例中S204之前的流程示意图;

图5为一个实施例中采用自适应算法更新当前线性传递函数的流程示意图;

图6为另一个实施例中采用自适应算法更新当前线性传递函数的流程示意图;

图7为一个实施例中S210的流程示意图;

图8为一个实施例中语音识别设备的部分硬件结构的连接关系示意图;

图9为一个实施例中语音信号处理装置的结构框图;

图10A为另一个实施例中语音信号处理装置的结构框图;

图10B为另一个实施例中传递函数得到模块的结构框图;

图11为一个实施例中更新模块的结构框图;

图12为另一个实施例中更新模块的结构框图;

图13为一个实施例中第一干扰信号估计模块的结构框图;

图14为一个实施例中计算机设备的结构框图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

图1为一个实施例中语音信号处理方法的应用环境图。参照图1,该语音信号处理方法应用于语音信号处理系统中。该语音信号处理系统包括语音识别设备111、语音识别设备112、噪声源设备120以及噪声源设备130。语音识别设备指的是可以采集语音并进行语音识别的设备,可以是手机、平板电脑、笔记本电脑、智能音箱、数码电视机、汽车电子设备等。噪声源设备指的是可以通过扬声器播放语音的设备,例如可以是电视机、音响、汽车内扬声器等。

语音识别设备111通过内置的麦克风阵列采集源语音信号,假设噪声源持续存在,则该源语音信号中必然包含噪声信号,语音识别设备111可以将麦克风阵列中一部分麦克风采集的源语音信号输入至内置的自适应滤波器中,通过自适应滤波器对应的目标线性传递函数对源语音信号中的噪声信号进行估计,最后从其余麦克风采集的源语音信号中消除掉估计的噪声信号,从而可以得到纯净的目标语音信号。

可以理解的是,当语音识别设备111与语音识别设备112应用于双讲场景时,语音识别设备111通过内置的麦克风阵列获取源语音信号时,该源语音信号中可能还会包括回声,该回声是由于空间声学反射产生的声学回声,远端用户的声音从听筒出来以后,经过空气或其他的传播媒介传到近端用户的话筒,再通过话筒录音后又重新传到远端用户的听筒中形成回声。

如图2所示,在一个实施例中,提供了一种语音信号处理方法。本实施例主要以该方法应用于上述图1中的语音识别设备111来举例说明。参照图2,该语音信号处理方法具体包括如下步骤:

S202,通过麦克风阵列采集源语音信号,麦克风阵列包括至少一个第一麦克风及至少一个第二麦克风。

其中,麦克风阵列指的是由一定数目的麦克风组成,用来对声场的空间特性进行采样的模块。可以理解的是,麦克风阵列中的麦克风数量可以根据需要进行确定。麦克风阵列中可以包括一个或多个第一麦克风以及一个或多个第二麦克风。第一麦克风指的是麦克风阵列中与语音识别设备中的自适应滤波器的输出端连接的麦克风;第二麦克风指的是与语音识别设备中的自适应滤波器的输入端连接的麦克风。如图3所示的麦克风阵列中,Mic0与自适应滤波器的输出端连接,Mic1,……MicN与自适应滤波器的输入端连接,则Mic0为第一麦克风,Mic1,……MicN为第二麦克风。可以理解的是,还可以理解的是,图3所示的自适应滤波器仅仅作为一个示例,可以是多个自使用滤波器。

具体地,语音识别设备通过麦克风阵列采集当前环境中的声音信号,以得到源语音信号。源语音信号中包括来自语音源的语音信号以及干扰源的语音信号。这里的语音源指的是语音识别设备所需要识别的目标语音对应的语音源。例如,当语音识别设备需要识别某个人的语音指令时,则该人为语音源。这里的干扰源包括噪声源、回声源中的至少一种,噪声源例如可以是电视机、智能音箱,回声源例如可以是远端语音识别设备。干扰信号包括噪声和回声中的至少一种,噪声例如可以是电视机喇叭播放的声音、智能音箱扬声器发出的声音等等,回声可以是远端语音识别设备采集的语音设备在当前空间中经过多次反射所形成的信号。

在一个实施例中,语音识别设备通过麦克风阵列采集源语音信号,包括:语音识别设备通过麦克风阵列接收到模拟语音信号,并进一步对模拟语音信号进行模数转换,以得到数字语音信号,将该数字语音信号确定为源语音信号。

在另一个实施例中,语音识别设备在得到数字语音信号后,可以对该数字语音信号进行预加重、端点检测、分帧和加窗处理,将处理后的数字语音信号确定为源语音信号。

在一个实施例中,麦克风阵列可采用全向麦克风(omnidirectional microphones),这种麦克风可接收来自于任何方向的声音。不管语音源在麦克风的哪个方向,前后左右,从0°到360°,所有的这些声音都会以相同的灵敏度被拾取。

S204,获取自适应滤波器对应的目标线性传递函数。

其中,传递函数指的是用于描述线性系统的输入与输出之间的关系的模型。根据线性传递函数与线性系统的输入信号,可以求出线性系统的输出信号。自适应滤波器对应的传递函数指的是以自适应滤波器的滤波器系数作为权重系数的传递函数。由于自适应滤波器通常采用线性结构,因此自适应滤波器对应的传递函数通常为线性传递函数。

目标线性传递函数是根据第二麦克风采集的第二历史语音信号和第一麦克风采集的第一历史语音信号得到的。其中,第一历史语音信号指的是语音识别设备通过麦克风阵列获取的历史语音信号中,由第一麦克风所采集的历史语音信号,第二历史语音信号指的是语音识别设备通过麦克风阵列获取的历史语音信号中,由第二麦克风所采集的历史语音信号,历史语音信号指的是在采集源语音信息之前语音识别设备通过麦克风阵列采集的语音信号。具体来说,语音识别设备根据第一历史语音信号和第二历史语音信号可以对自适应滤波器的滤波器系数进行调整,以调整滤波器的性能,调整后得到目标滤波器系数,根据该目标滤波器系数可以得到目标线性传递函数。

在一个实施例中,当通过线性传递函数对第二麦克风采集的第二历史语音信号处理得到的估计信号与第一麦克风采集的第一历史语音信号之间满足收敛条件时,训练得到目标线性传递函数。

在一个实施例中,通过线性传递函数对第二麦克风采集的第二历史语音信号处理得到的估计信号可以是通过线性传递函数对第一历史语音信号中的干扰信号进行估计得到的信号。

在一个实施例中,第二麦克风采集的第二历史语音信号处理得到的估计信号与第一麦克风采集的第一历史语音信号之间满足收敛条件可以是通过该估计信号对第一历史语音信号中的干扰信号进行消除得到的残差信号满足收敛条件。

在一个实施例中,残差信号满足收敛条件可以是残差信号的能量值达到最小值。这里的能量值用于表征该信号传递能力的大小,由于第二历史语音信号中包含了干扰信号,因此,当历史语音信号中的语音信号处理的越干净时,得到的残差信号的能量值越小,当历史语音信号中的干扰信号被完全消除时,得到的残差信号具有最小的能量值。

语音识别设备在通过麦克风阵列获取到源语音信号后,可从内存中查找已保存的目标线性传递函数。

在一个实施例中,麦克风阵列中包含了多个第二麦克风,每一个麦克风对应一个语音通道。每一个麦克风连接不同的自适应滤波器的输入端,各个自适应滤波器可以进行级联,从而接收来自多个通道的源语音信号。因此,语音识别设备在获取到源语音信号后,需要分别获取与每一个第二麦克风连接的自适应滤波器对应的目标线性传递函数。

在另一个实施例中,可以预先将与各个第二麦克风连接的单个自适应滤波器的目标线性传递函数进行合成,得到多个合成目标线性传递函数,语音识别设备在获取到源语音信号后,获取该合成的多个合成目标线性传递函数,从而可以进一步提高语音信号处理的效率。

S206,将第二麦克风采集的第二源语音信号输入至自适应滤波器中。

其中,第二麦克风对应的第二源语音信号指的是第二麦克风所采集的源语音信号。自适应滤波器(Adaptive Filter)是能够根据输入信号自动调整性能进行数字信号处理的数字滤波器。一般而言,自适应滤波器至少包括两个部分,一是滤波器结构,二是调整滤波器系数的自适应算法。在实际应用中,一般采用有限冲激响应(Finite Impulse Response,FIR)滤波器作为自适应滤波器的结构。

具体地,语音识别设备将第二麦克风对应的源语音信号输入至自适应滤波器中。在一个实施例中,当麦克风阵列中有多个第二麦克风且各个第二麦克风连接不同的自适应滤波器时,分别将各个第二麦克风对应的第二源语音信号输入到与其相连的自适应滤波器中。

S208,通过自适应滤波器对应的目标线性传递函数对第二源语音信号中的干扰信号进行估计,得到第一估计信号。

其中,第一估计信号为对第二源语音信号中的干扰信号进行估计得到的估计信号。目标线性传递函数是由自适应滤波器的目标滤波器系数作为权重系数的传递函数,因此可以对输入的第二源语音信号中的干扰信号进行估计,以得到第一估计信号。

在一个实施例中,在将单个第二麦克风采集的第二源语音信号输入至对应的自适应滤波器后,可将目标合成线性函数传递函数对应的多个自适应滤波器对应的第二源语音信号进行合成,得到合成源语音信号,通过预先得到的合成目标线性传递函数对合成语音信号中的干扰信号进行估计,以得到第一估计信号,由于对第二源语音信号及自适应滤波器的目标线性传递函数进行了合成,大大减少了滤波估计时的计算量,从而进一步提高实际应用中的语音信号处理效率。

在一个实施例中,当第二麦克风有多个且第二源语音信号为时域语音信号时,可分别将各个第二麦克风采集的第二源语音信号与该麦克风对应的自适应滤波器的目标线性传递函数作卷积,以得到各个第二麦克风的子估计信号,将各个子估计信号进行叠加,即得到第一估计信号。

在另一个实施例中,当第二麦克风有多个且第二源语音信号为频域语音信号时,可分别计算各个第二麦克风采集的第二源语音信号与该麦克风对应的目标线性传递函数所对应的转置矩阵的乘积,以得到各个第二麦克风对应的子估计信号,将各个子估计信号进行叠加,即得到第一估计信号。

S210,根据第一估计信号对第一麦克风采集的第一源语音信号中的干扰信号进行消除,得到目标语音信号。

其中,第一麦克风对应的第一源语音信号指的是通过第一麦克风所采集的源语音信号。目标语音信号指的是纯净的不含干扰信号的语音信号。由于第一麦克风和第二麦克风是同一麦克风阵列中的麦克风,接收来自相同信号源的信号,因此第一源语音信号与第二源语音信号彼此之间具有相关性,也就是说第一源语音信号与第二源语音信号中包含的信号成分是相同的且各个信号成分的能量值也是相同的,对第二源语音信号中的干扰信号进行估计得到的估计信号与第一源语音信号种的干扰信号之间也具有相关性,因此该估计信号可用于对第一麦克风对应的源语音信号中的干扰信号进行消除,以得到纯净的目标语音信息。

在一个实施例中,语音识别设备可将第一估计信号与第一源语音信号进行对齐,将对齐后的第一估计信号进行反相处理。将反相处理后的第一估计信号与第一源语音信号进行叠加,从而从第一源语音信号中消除掉第一估计信号,最终得到目标语音信号。

上述语音信号处理方法,首先通过麦克风阵列采集源语音信号,由于麦克风阵列的各个麦克风采集的源语音信号来自相同信号源,各个麦克风采集的源语音信号之间彼此具有相关性,因此将其中一部分麦克风采集的信号输入自适应滤波器后可以估计出的干扰信号,可以对另一部分麦克风中的干扰信号进行消除得到目标语音信号,由于自适应滤波器是通过目标线性传递函数对源语音信号中的干扰信号进行估计的,而该目标线性传递函数可以根据第二麦克风采集的第二历史语音信号和第一麦克风采集的第一历史语音信号得到的,可见,本申请的语音信号处理方法在实现消除干扰信号的过程中时,并不需要依赖参考信号,因此,当存在多个干扰源时,避免了由于多个参考信号导致的计算量大的问题,从而可以提高语音信号的处理效率。

在一个实施例中,如图4A所示,在S204获取自适应滤波器对应的目标线性传递函数之前,上述方法还包括:

S402,获取麦克风阵列采集的历史语音信号,历史语音信号包括回声信号和噪声信号中的至少一种干扰信号。

其中,麦克风阵列对应的历史语音信号指的是采集时间在源语音信号对应的采集时间之前的语音信号。历史语音信号可以是全部为干扰信号,也可以是包含干扰信号的语音信号。

具体地,语音识别设备可以从当前存储的历史语音信号中选取一段历史语音信号。可以理解的是,为保证能够对当前源语音信号中的干扰信号进行准确的估计,所选取的历史语音信号与当前源语音信号之间的采集时间差值越小越好。

S404,将第二麦克风采集的第二历史语音信号输入至自适应滤波器中。

具体地,语音识别设备将第二麦克风采集的第二历史语音信号输入至自适应滤波器中。

在一个实施例中,当麦克风阵列中有多个第二麦克风且各个第二麦克风连接不同的自适应滤波器时,分别将各个麦克风对应的第二历史语音信号输入到与其相连的自适应滤波器中。在另一个实施例中,当麦克风阵列中存在多个第二麦克风时,可将单个第二麦克风对应的第二历史语音信号进行合成,得到至少一个合成历史语音信号,将该合成历史语音信号输入至其对应的自适应滤波器中。

S406,通过自适应滤波器对应的当前线性传递函数对第二历史语音信号中的干扰信号进行估计,得到第二估计信号。

其中,当前线性传递函数指的是当前保存的自适应滤波器的线程传递函数。可以理解的是,在最初开始估计时,可以对自适应滤波器的线性传递函数进行初始化,具体来说,可以将自适应滤波器的初始滤波器系数进行初始化,将该初始化的滤波器系数作为线性传递函数的权重系数,得到初始化的线性传递函数。

在一个实施例中,当麦克风阵列中存在多个第二麦克风且各个麦克风连接不同的自适应滤波器时,可将多个自适应滤波器的当前线性传递函数进行合成得到至少一个当前合成线性传递函数,在将单个第二麦克风的第二历史语音信号输入至对应的自适应滤波器后,可将当前合成线性函数传递函数对应的多个自适应滤波器的第二历史语音信号进行合成,得到合成历史语音信号,可通过预先得到的当前合成传递函数对合成语音信号中的干扰信号进行估计,以得到第二估计信号,由于对多个历史语音信号及多个自适应滤波器的当前线性传递函数进行了合成,大大减少了滤波估计时的计算量,从而提高目标线性传递函数的训练效率。

步骤S408,根据第二估计信号及第一麦克风采集的第一历史语音信号得到目标线性传递函数。

具体地,语音识别设备可根据第二估计信号及第一历史语音信号对自适应滤波器的滤波器系数进行调整,以优化滤波器的滤波性能,得到目标滤波器系数,根据得到的目标滤波器系数得到目标线性传递函数。

在一个实施例中,语音识别设备可根据第二估计信号对第一历史语音信号中的干扰信号进行消除,得到残差信号,通过对自适应滤波器的滤波器系数进行调整,使得残差信号满足收敛条件时,可以实现最优滤波,获取此时的滤波器系数作为目标滤波器系数,根据该目标滤波器系数得到目标线程传递函数。

上述实施例中,语音识别设备根据估计信号和第一麦克风采集的第二历史语音信号来得到目标线性传递函数,由于估计信号通过将第二麦克风采集的历史语音信号输入至自适应滤波器中得到的,因此,在确定目标线程传递函数时不需要用到参考信号,从而避免了由于需要根据多个参考信号进行计算带来的计算量大的问题,从而可以提高语音信号处理的效率。

如图4B所示,为另一个实施例中,在S204获取自适应滤波器对应的目标线性传递函数之前的步骤流程图,在本实施例中,上述步骤S408根据第二估计信号及第一麦克风采集的第一历史语音信号得到目标线性传递函数,具体包括以下步骤:

步骤S408A,根据第二估计信号对第一麦克风采集的第一历史语音信号中的干扰信号进行消除,得到残差信号。

其中,残差信号指的是对第一历史语音信号中的干扰信号进行消除后残留的信号。由于第一麦克风和第二麦克风是同一阵列中的麦克风,接收来自相同信号源的信号,因此第一历史语音信号与第二历史语音信号彼此之间具有相关性,也就是说第一历史语音信号与第二历史语音信号中包含的信号成分是相同的且各个信号成分的能量值也是相同的,对第二历史语音信号中的干扰信号进行估计得到的第二估计信号与第一历史语音信号中的干扰信号之间也具有相关性,因此该第二估计信号可用于对第一麦克风采集的第一历史语音信号中的干扰信号进行消除,以得到残差信号。

在一个实施例中,如图3所示,当麦克风阵列中包括一个第一麦克风时,可参照以下公式(1)计算残差信号:

e=Sig_0-SUM(H_i*Sig_i) (1)

其中,e为残差信号,Sig_0为第一麦克风Mic0采集到的历史语音信号,Sig_i为第二麦克风Mic1,……MicN采集到的历史语音信号,其中,1≤i≤N,*为卷积运算,SUM为求和运算,H_i为与第i个麦克风Mici连接的自适应滤波器对应的线性传递函数。

S408B,判断残差信号是否满足收敛条件,若是,则进入步骤S408D,若否,则进入步骤S408C。

其中,残差信号满足收敛条件指的是残差信号的能量值达到最小值。在一个实施例中,判断残差信号是否满足收敛条件时,可通过判断残差信号的均方误差是否达到最小值来判断,定义均方误差为Min{E|e|2},其中,E为期望,e为残差信号。

在一实施例中,当麦克风阵列与自适应滤波器的连接如图3所示时,将上述(1)式代入,可得到残差信号的最小值为下面的公式(2):

Min{E|e|2}=Min{E|Sig_0-SUM(H_i*Sig_i)|2} (2)

在一个实施例中,可设置一个预设阈值,当残差信号小于或等于该预设阈值时,可判断残差信号的能量值达到最小值,即残差信号满足收敛条件。例如,当历史语音信号全部为干扰信号时,可设置该预设阈值为0,当残差信号的能量值为0时,残差信号的能量值达到最小,此时,残差信号满足收敛条件。

S408C,采用自适应算法更新当前线性传递函数,并进入S406。

其中,自适应算法指的是可以对自适应滤波器的滤波器系数进行自适应更新,以使得自适应滤波器的性能达到最优的算法。当自适应滤波器的滤波器系数更新时,根据更新后的滤波器系数可以更新当前线性传递函数的权重系数,以更新当前线性传递函数。语音识别设备每更新一次当前线性传递函数时,对当前线性传递函数进行保存,下次再更新当前传递函数时,同时将已保存的当前线性传递函数替换为更新后的当前传递函数。

S408D,将当前线性传递函数确定为目标线性传递函数,保存该目标线性传递函数。

具体的,当残差信号满足收敛条件时,语音识别设备可以将当前线程传递函数确定为目标线性传递函数,同时保存该目标线性传递函数。

上述实施例中,由于残差信号是通过估计信号与第一麦克风的历史语音信号得到,因此,在确定目标线程传递函数时不需要用到参考信号,从而避免了由于需要根据多个参考信号进行计算带来的计算量大的问题,进一步,由于采用了自适应算法,可以快算准确的对当前线性传递函数进行更新,从而可以提高语音信号处理的效率。

在一个实施例中,如图5所示,采用自适应算法更新当前线性传递函数,包括:

S502,获取当前学习速率参数。

其中,当前学习速率参数指的是用于表征自适应算法中学习过程快慢的参数。当前学习速率参数可根据需要进行设定。当前学习速率参数与自适应滤波器的收敛速率成正相关,即,当前学习速率参数较小时,滤波器收敛比较慢,当前学习速率参数较大时,滤波器收敛比较快。在设定当前学习速率参数时,需使得当前学习速率参数满足以下条件:

其中,λmax为输入信号的相关矩阵的最大特征值,μ为学习速率参数,tr[R]为相关矩阵R的迹。

S504,根据当前学习速率参数、第二麦克风采集的第二历史语音信号及残差信号确定自适应滤波器对应的当前更新项。

其中,自适应滤波器对应的当前更新项指的是自适应滤波器的当前滤波器系数的当前更新项。

具体地,语音识别设备可参照以下公式(3)确定自适应滤波器的滤波器系数的当前更新项;

Δw=2μe(n)x(n); (3)

其中,Δw为滤波器系数的当前更新项,e(n)为当前残差信号,x(n)为第二麦克风对应的第二历史语音信号,x(n)=[x(n),x(n-1),…,x(n-p)]T,p为第二麦克风对应的自适应滤波器的阶数。

S506,根据当前更新项更新自适应滤波器的当前滤波器系数,根据更新后的当前滤波器系数更新当前线性传递函数。

具体地,根据当前更新项更新自适应滤波器的当前滤波器系数可以参照以下公式(4):

w(n+1)=w(n)+Δw (4)

其中,w(n+1)为更新后的当前滤波器系数,w(n)为更新前的当前滤波器系数。定义w(n)=[wn(0),wn(1),…,wn(p)]T,其中p为自适应滤波器的阶数。

进一步,将更新后的当前滤波器系数确定为线性传递函数的权重系数,以对当前线性传递函数进行更新。

上述实施例中,语音识别设备在获取到当前学习速率参数后,根据当前学习速率参数、第二麦克风对应的第二干扰信号及残差信号确定当前线性传递函数的当前更新项,然后根据当前更新项更新当前线性传递函数,可以实现当前线性传递函数的快速更新。

在一个实施例中,如图6所示,采用自适应算法更新当前线性传递函数,包括:

S602,获取遗忘因子。

其中,遗忘因子的作用是使得离当前时刻近的残差信号赋较大的权重,离当前时刻远的残差信号赋较小权重,确保在过去某一段时间的观测数据被“遗忘”,从而使得滤波器可以工作在平稳状态。遗忘因子可用λ表示,的取值范围为0<λ≤1。

S604,获取第二历史语音信号对应的当前逆相关矩阵。

S606,根据当前逆相关矩阵、遗忘因子及第二历史语音信号计算当前增益向量。

具体地,在开始计算时,可以先对当前逆相关矩阵进行初始化,根据初始化后的当前逆先关矩阵、遗忘因子、第二历史语音信号计算当前增益向量k(n),可参照以下公式(5):

其中,xH(n)表示输入信号x(n)的共轭转置,p(n-1)表示上一时刻的逆相关矩阵。

在计算得到当前增益向量k(n)后,参照以下公式计算当前逆相关矩阵(6):

p(n)=λ-1p(n-1)-λ-1k(n)xH(n)p(n-1) (6)

S608,根据当前增益向量及残差信号,确定自适应滤波器对应的当前更新项。

具体地,语音识别设备可参照以下公式(7)更新自适应滤波器对应的当前更新项:

Δw=k(n)e*(n) (7)

其中,e*(n)为残差信号e(n)的复共轭。

S610,根据当前更新项更新自适应滤波器的当前滤波器系数,根据更新后的当前滤波器系数更新当前线性传递函数。

具体地,语音识别设备根据当前更新项更新自适应滤波器的当前滤波器系数可以参照以下公式(8):

w(n+1)=w(n)+Δw (8)

上述实施例中,由于通过获取遗忘因子并进一步计算的当前逆相关矩阵及当前增益向量来对滤波器系数进行更新,使得在训练目标线程传递函数的过程中,残差信号能够快速收敛,提高语音信号处理的效率。

在一个实施例中,源语音信号为时域语音信号,通过自适应滤波器对应的目标线性传递函数对第二源语音信号中的干扰信号进行估计,得到第一估计信号,包括:分别计算各个第二麦克风对应的第二源语音信号与对应的目标线性传递函数的卷积,得到各个第二麦克风对应的子估计信号;将各个第二麦克风对应的子估计信号进行叠加,得到第一估计信号。

其中,时域语音信号指的是在时间轴随时间变化的语音信号。子估计信号指的是对单个第二麦克风对应的第二源语音信号进行估计得到的估计信号。第二麦克风对应的目标线性传递函数指的是与该第二麦克风连接的自适应滤波器对应的目标线性传递函数。

在一个实施例中,当麦克风阵列中包含多个第二麦克风时,语音识别设备将各个第二麦克风采集的第二源语音信号分别与各个麦克风对应的目标线性传递函数作卷积,得到各个第二麦克风对应的子估计信号,进一步,将各个第二麦克风对应的子估计信号进行叠加,从而可以得到第一估计信号。

进一步,在另一个实施例中,为提升估计信号的获取效率,语音识别设备在对干扰信号进行估计时,还可以对多个第二麦克风的第二源语音信号进行合成,得到至少一个合成语音信号,同时与将合成语音信号对应的多个第二麦克风连接的多个自适应滤波器的目标线性传递函数进行合成,得到多个合成线性传递函数,将各个合成线性传递函数分别与对应的合成语音信号作卷积,从而得到多个子估计信号,最后将多个子估计信号进行叠加,以得到最终的估计信号。

上述实施例中,由于目标线性传递函数是通过对历史语音信号进行训练得到的,因此将第二源语音信号与目标线性传递函数作卷积,可以得到准确的估计信号。

在一个实施例中,源语音信号为时域语音信号,通过自适应滤波器对应的目标线性传递函数对第二源语音信号中的干扰信号进行估计,得到第一估计信号,包括:对各个第二麦克风对应的时域语音信号进行短时傅里叶变换,得到各个第二麦克风对应的频域语音信号;分别计算各个第二麦克风对应的频域语音信号与对应的目标线性传递函数所对应的转置矩阵的乘积,得到各个第二麦克风对应的子估计信号;将各个第二麦克风对应的子估计信号进行叠加,得到第一估计信号。

其中,频域语音信号指的是将在时间域的第二源语音信号转换到频率域所得到的信号。在进行转换时,可对时域语音信号进行短时傅里叶变换(STFT,short-time Fourier transform)进而得到对应的频域语音信号。第二麦克风对应的目标线性传递函数所对应的转置矩阵指的是目标线性传递函数的权重系数对应的转置矩阵,由于目标线性传递函数的权重系数与自适应滤波器的系数相同,因此,此处的转置矩阵可通过自适应滤波器的滤波器系数得到。

在一个实施例中,当麦克风阵列包含多个第二麦克风时,语音识别设备在得到了频域语音信号后,可分别计算各个第二麦克风对应的频域语音信号与各个麦克风对应的目标线性传递函数所对应的转置矩阵的乘积,以得到各个第二麦克风对应的子估计信号。进一步,语音识别设备将各个子估计信号进行叠加,得到第一估计信号。

上述实施例中,通过将第二麦克风采集的时域语音信号转换为频域语音信号进行计算,由于信号往往在频域比有在时域更加简单,可以简化得到子估计信号的过程,提高计算效率,从而提高语音信号处理的效率。

在一个实施例中,如图7所示,根据第一估计信号对第一麦克风采集的第一源语音信号中的干扰信号进行消除,得到目标语音信号,包括:

S702,将第一估计信号与第一源语音信号进行对齐。

具体地,语音识别设备可根据时延估计算法对麦克风阵列的时延量进行估计,根据估计得到的时延量将第一估计信号与第一源语音信号进行对齐。

在一个实施例中,语音识别设备可根据时延量对第一估计信号进行平移,以使得第一估计信号与第一源语音信号对齐。

在另一个实施例中,语音识别设备可根据时延量对第一源语音信号进行平移,以使得第一源语音信号与第一估计信号对齐。

S704,将对齐后的第一估计信号进行反相,得到反相估计信号。

S706,将反相估计信号与第一源语音信号进行叠加,得到目标语音信号。

在一个实施例中,语音识别设备可将第一估计信号输入到反相滤波器中,通过反相滤波器对第一估计信号进行反相处理,获得反相估计信号。在一个实施例中,语音识别设备可将第一估计信号输入移相滤波器中,通过移相滤波器对第一估计信号移相kπ相位,获得反相估计信号。

上述实施例中,通过将第一估计信号与第一源语音信号进行对齐,避免了由于估计信号与第一源语音信号不对齐导致的第一源语音信号中的干扰信号无法完全消除的请情况,使得第一源语音信号中的干扰信号能够最大限度的被消除掉,从而得到纯净的目标语音信号。

在一个实施例中,通过麦克风阵列采集源语音信号包括:通过麦克风阵列接收模拟语音信号;对模拟语音信号进行模数转换,得到源语音信号。

如图8所示,为一个实施例中,语音识别设备的部分硬件结构的连接关系示意图,在该实施例中,麦克风阵列的输出端与模数转换单元的输入端连接,模数转换单元的输出端连接自适应滤波器的输入端。其中,自适应滤波器的硬件实现部分为一个处理器,该处理器可以数字信号处理器(Digital Signal Processing,DSP)或者中央处理器(Central Processing Unit,CPU)。可以理解的是,模数转换单元中包含了模数转换电路,通过模数转换单元中的模数转换电路可以将麦克风阵列接收到的模拟语音信号转换为数字语音信号,从而得到源语音信号。

上述实施例中,通过对接收到的模拟语音信号进行模数转换得到源语音信号,得到的源语音信号为数字语音信号,由于数字语音信号相对于模拟信号易于处理和识别,因此可以提高语音信号处理的效率。

应该理解的是,虽然图2-8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-8中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图9所示,提供了一种语音信号处理装置900,该装置具体包括:语音信号采集模块902、目标线性传递函数获取模块904、第一语音信号输入模块906、第一干扰信号估计模块908及第一干扰信号消除模块910;其中:

语音信号采集模块902,用于通过麦克风阵列采集源语音信号,麦克风阵列包括至少一个第一麦克风及至少一个第二麦克风;

目标线性传递函数获取模块904,用于获取自适应滤波器对应的目标线性传递函数,目标线性传递函数是根据第二麦克风采集的第二历史语音信号和第一麦克风采集的第一历史语音信号得到的;

第一语音信号输入模块906,用于将第二麦克风采集的第二源语音信号输入至自适应滤波器中;

第一干扰信号估计模块908,用于通过自适应滤波器对应的目标线性传递函数对第二源语音信号中的干扰信号进行估计,得到第一估计信号;

第一干扰信号消除模块910,用于根据第一估计信号对第一麦克风采集的第一源语音信号中的干扰信号进行消除,得到目标语音信号。

上述实施例中,首先通过麦克风阵列采集源语音信号,由于麦克风阵列的各个麦克风采集的源语音信号来自相同信号源,各个麦克风采集的源语音信号之间彼此具有相关性,因此将其中一部分麦克风采集的信号输入自适应滤波器后可以估计出的干扰信号,可以对另一部分麦克风中的干扰信号进行消除得到目标语音信号,由于自适应滤波器是通过目标线性传递函数对源语音信号中的干扰信号进行估计的,而该目标线性传递函数可以根据第二麦克风采集的第二历史语音信号和第一麦克风采集的第一历史语音信号得到的,可见,本申请的语音信号处理方法在实现消除干扰信号的过程中时,并不需要依赖参考信号,因此,当存在多个干扰源时,避免了由于多个参考信号导致的计算量大的问题,从而可以提高语音信号的处理效率。

在一个实施例中,如图10A所示,上述装置还包括:

历史语音信号获取模块1002,用于获取麦克风阵列采集的历史语音信号,历史语音信号包括回声信号和噪声信号中的至少一种干扰信号;

第二语音信号输入模块1004,用于将第二麦克风采集的第二历史语音信号输入至自适应滤波器中;

第二干扰信号估计模块1006,用于通过自适应滤波器对应的当前线性传递函数对第二历史语音信号中的干扰信号进行估计,得到第二估计信号;

传递函数得到模块1008,用于根据所述第二估计信号及所述第一麦克风采集的第一历史语音信号得到目标线性传递函数。

上述实施例中,根据估计信号和第一麦克风采集的第二历史语音信号来得到目标线性传递函数,由于估计信号通过将第二麦克风采集的历史语音信号输入至自适应滤波器中得到的,因此,在确定目标线程传递函数时不需要用到参考信号,从而避免了由于需要根据多个参考信号进行计算带来的计算量大的问题,从而可以提高语音信号处理的效率。

在一个实施例中,如图10B所示,传递函数得到模块1008包括:

第二干扰信号消除模块1008A,根据第二估计信号对第一麦克风采集的第一历史语音信号中的干扰信号进行消除,得到残差信号;

更新模块1008B,用于采用自适应算法更新当前线性传递函数,并进入第二干扰信号估计模块,直至残差信号满足收敛条件时,得到目标线性传递函数,保存目标线性传递函数。

上述实施例中,由于残差信号是通过估计信号与第一麦克风的历史语音信号得到,因此,在确定目标线程传递函数时不需要用到参考信号,从而避免了由于需要根据多个参考信号进行计算带来的计算量大的问题,进一步,由于采用了自适应算法,可以快算准确的对当前线性传递函数进行更新,从而可以提高语音信号处理的效率。

在一个实施例中,如图11所示,上述更新模块1010包括:

当前学习速率参数获取模块1102,用于获取当前学习速率参数;

第一当前更新项确定模块1104,用于根据当前学习速率参数、第二麦克风采集的第二历史语音信号及残差信号确定自适应滤波器对应的当前更新项;

第一传递函数更新模块1106,用于根据当前更新项更新自适应滤波器的当前滤波器系数,根据更新后的当前滤波器系数更新当前线性传递函数。

上述实施例中,在获取到当前学习速率参数后,根据当前学习速率参数、第二麦克风对应的第二干扰信号及残差信号确定当前线性传递函数的当前更新项,然后根据当前更新项更新当前线性传递函数,可以实现当前线性传递函数的快速更新。

在一个实施例中,如图12所示,上述更新模块1010包括:

遗忘因子获取模块1202,用于获取遗忘因子;

当前逆相关矩阵计算模块1204,用于获取第二历史语音信号对应的当前逆相关矩阵;

当前增益向量计算模块1206,用于根据当前逆相关矩阵、遗忘因子及第二历史语音信号计算当前增益向量;

第二当前更新项确定模块1208,用于根据当前增益向量及残差信号,确定自适应滤波器对应的当前更新项;

第二传递函数更新模块1210,用于根据当前更新项更新自适应滤波器的当前滤波器系数,根据更新后的当前滤波器系数更新当前线性传递函数。

上述实施例中,由于通过获取遗忘因子并进一步计算的当前逆相关矩阵及当前增益向量来对滤波器系数进行更新,使得在训练目标线程传递函数的过程中,残差信号能够快速收敛,提高语音信号处理的效率。

在一个实施例中,如图13所示,源语音信号为时域语音信号,第一干扰信号估计模块908包括:

第一子估计信号计算模块1302,用于分别计算各个第二麦克风对应的第二源语音信号与对应的目标线性传递函数的卷积,得到各个第二麦克风对应的子估计信号;

信号叠加模块1304,用于将各个第二麦克风对应的子估计信号进行叠加,得到第一估计信号。

上述实施例中,由于目标线性传递函数是通过对历史语音信号进行训练得到的,因此将第二源语音信号与目标线性传递函数作卷积,可以得到准确的估计信号。

在一个实施例中,源语音信号为时域语音信号,第一干扰信号估计模块908还用于对各个第二麦克风对应的时域语音信号进行短时傅里叶变换,得到各个第二麦克风对应的频域语音信号,分别计算各个第二麦克风对应的频域语音信号与对应的目标线性传递函数所对应的转置矩阵的乘积,得到各个第二麦克风对应的子估计信号,将各个第二麦克风对应的子估计信号进行叠加,得到第一估计信号。

在一个实施例中,第一干扰信号消除模块910还用于将第一估计信号与第一源语音信号进行对齐,将对齐后的第一估计信号进行反相,得到反相估计信号,将反相估计信号与第一源语音信号进行叠加,得到目标语音信号。

上述实施例中,通过将第一估计信号与第一源语音信号进行对齐,避免了由于估计信号与第一源语音信号不对齐导致的第一源语音信号中的干扰信号无法完全消除的请情况,使得第一源语音信号中的干扰信号能够最大限度的被消除掉,从而得到纯净的目标语音信号。

在一个实施例中,语音信号采集模块902还用于通过所述麦克风阵列接收模拟语音信号,对所述模拟语音信号进行模数转换,得到所述源语音信号。

图14示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的语音识别设备111。如图14所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现语音信号处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行语音信号处理方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,本申请提供的语音信号处理装置可以实现为一种计算机程序的形式,计算机程序可在如图14所示的计算机设备上运行。计算机设备的存储器中可存储组成该语音信号处理装置的各个程序模块,比如,图9所示的语音信号采集模块902、目标线性传递函数获取模块904、第一语音信号输入模块906、第一干扰信号估计模块908及第一干扰信号消除模块910。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的语音信号处理方法中的步骤。

例如,图14所示的计算机设备可以通过如图9所示的语音信号处理装置中的语音信号采集模块902执行S202。计算机设备可通过目标线性传递函数获取模块904执行S204。计算机设备可通过第一语音信号输入模块906执行S206。计算机设备可通过第一干扰信号估计模块908执行S208。计算机设备可通过第一干扰信号消除模块910执行S210。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述语音信号处理方法的步骤。此处语音信号处理方法的步骤可以是上述各个实施例的语音信号处理方法中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述语音信号处理方法的步骤。此处语音信号处理方法的步骤可以是上述各个实施例的语音信号处理方法中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1