一种音频信号处理方法、装置、终端及存储介质与流程

文档序号:20373099发布日期:2020-04-14 13:30阅读:127来源:国知局
一种音频信号处理方法、装置、终端及存储介质与流程

本公开涉及通信技术领域,尤其涉及一种音频信号处理方法、装置、终端及存储介质。



背景技术:

相关技术中,智能产品设备拾音多采用麦克风阵列,应用麦克风波束形成技术提高语音信号处理质量,以提高真实环境下的语音识别率。但多个麦克风的波束形成技术对麦克风位置误差敏感,性能影响较大,另外麦克风个数增多了也会导致产品成本升高。

因此,目前越来越多的智能产品设备只配置两个麦克风;两个麦克风常采用完全不同于多个麦克风波束形成技术的盲源分离技术对语音进行增强,而如何使得基于盲源分离技术分离后信号的语音质量更高是目前的迫切需要解决的问题。



技术实现要素:

本公开提供一种音频信号处理方法、装置、终端及存储介质。

根据本公开实施例的第一方面,提供一种音频信号处理方法,包括:

由至少两个麦克风获取至少两个声源各自发出的音频信号,以获得所述至少两个麦克风各自在时域上的多帧原始带噪信号;

对于时域上的每一帧,根据所述至少两个麦克风各自的所述原始带噪信号,获取所述至少两个声源各自的频域估计信号;

对于所述至少两个声源中的每个声源,将所述频域估计信号在频域上划分为多个频域估计分量,其中,每个频域估计分量对应一个频域子带并且包含多个频点数据;

在每个频域子带内,确定所述频域子带所包含的每个频点的加权系数,并根据所述加权系数更新每个频点的分离矩阵;

基于更新后的所述分离矩阵及所述原始带噪信号,获得至少两个声源各自发出的音频信号。

上述方案中,所述在每个频域子带内,确定所述频域子带所包含的每个频点的加权系数,并根据所述加权系数更新每个频点的分离矩阵,包括:

对于每个声源,将第n个所述频域估计分量的所述加权系数、所述频域估计信号及第x-1个备选矩阵进行梯度迭代,得到第x个备选矩阵;其中,第1个备选矩阵为已知的单位矩阵;其中,所述x为大于或等于2的正整数;所述n为小于n的正整数,所述n为所述频域子带的个数;

当所述第x个备选矩阵满足迭代停止条件时,基于所述第x个备选矩阵,获得第n个所述频域估计分量中每个频点更新后的分离矩阵。

上述方案中,所述方法还包括:

基于第n个所述频域估计分量中包括的各频点对应的所述频点数据的平方和,获得所述第n个所述频域估计分量的加权系数。

上述方案中,所述基于更新后的所述分离矩阵及所述原始带噪信号,获得至少两个声源各自发出的音频信号,包括:

基于第1个所述更新后的分离矩阵至第n个所述更新后的分离矩阵,对一个所述频点数据对应的第m帧所述原始带噪信号进行分离,获得一个所述频点数据对应的第m帧所述原始带噪信号中不同所述声源的音频信号;其中,所述m为小于m的正整数,所述m为所述原始带噪信号的帧数;

组合各所述频点数据对应的第m帧所述原始带噪信号中第y个所述声源的音频信号,得到第y个所述声源的所述第m帧音频信号;其中,所述y为小于或等于y的正整数,所述y为声源的个数。

上述方案中,所述方法还包括:

按照时间先后顺序,组合第y个所述声源的第1帧音频信号至第m帧音频信号,得到m帧所述原始带噪信号包含的第y个所述声源的音频信号。

上述方案中,在进行所述梯度迭代时,按照从所述频域估计信号所在频域子带的频率从高到低依次进行。

上述方案中,任意两个相邻频域子带在频域存在部分频率重叠。

根据本公开实施例的第二方面,提供一种音频信号处理装置,包括:

获取模块,用于由至少两个麦克风获取至少两个声源各自发出的音频信号,以获得所述至少两个麦克风各自在时域上的多帧原始带噪信号;

转换模块,用于对于时域上的每一帧,根据所述至少两个麦克风各自的所述原始带噪信号,获取所述至少两个声源各自的频域估计信号;

划分模块,用于对于所述至少两个声源中的每个声源,将所述频域估计信号在频域上划分为多个频域估计分量,其中,每个频域估计分量对应一个频域子带并且包含多个频点数据;

第一处理模块,用于在每个频域子带内,确定所述频域子带所包含的每个频点的加权系数,并根据所述加权系数更新每个频点的分离矩阵;

第二处理模块,用于基于更新后的所述分离矩阵及所述原始带噪信号,获得至少两个声源各自发出的音频信号。

上述方案中,所述第一处理模块,用于对于每个声源,将第n个所述频域估计分量的所述加权系数、所述频域估计信号及第x-1个备选矩阵进行梯度迭代,得到第x个备选矩阵;其中,第1个备选矩阵为已知的单位矩阵;其中,所述x为大于或等于2的正整数;所述n为小于n的正整数,所述n为所述频域子带的个数;

当所述第x个备选矩阵满足迭代停止条件时,基于所述第x个备选矩阵,获得第n个所述频域估计分量中每个频点更新后的分离矩阵。

上述方案中,所述第一处理模块,还用于基于第n个所述频域估计分量中包括的各频点对应的所述频点数据的平方和,获得所述第n个所述频域估计分量的加权系数。

上述方案中,所述第二处理模块,用于基于第1个所述更新后的分离矩阵至第n个所述更新后的分离矩阵,对一个所述频点数据对应的第m帧所述原始带噪信号进行分离,获得一个所述频点数据对应的第m帧所述原始带噪信号中不同所述声源的音频信号;其中,所述m为小于m的正整数,所述m为所述原始带噪信号的帧数;

组合各所述频点数据对应的第m帧所述原始带噪信号中第y个所述声源的音频信号,得到第y个所述声源的所述第m帧音频信号;其中,所述y为小于或等于y的正整数,所述y为声源的个数。

上述方案中,所述第二处理模块,还用于按照时间先后顺序,组合第y个所述声源的第1帧音频信号至第m帧音频信号,得到m帧所述原始带噪信号包含的第y个所述声源的音频信号。

上述方案中,所述第一处理模块在进行所述梯度迭代时,按照从所述频域估计信号所在频域子带的频率从高到低依次进行。

上述方案中,其中,任意两个相邻频域子带在频域存在部分频率重叠。

根据本公开实施例的第三方面,提供一种终端,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为:用于执行所述可执行指令时,实现本公开任一实施例所述的音频信号处理方法。

根据本公开实施例的第四方面,提供一种计算机可读存储介质,所述可读存储介质存储有可执行程序,其中,所述可执行程序被处理器执行时实现本公开任一实施例所述的音频信号处理方法。

本公开的实施例提供的技术方案可以包括以下有益效果:

本公开实施例中,通过获取至少两个麦克风在时域上的多帧原始带噪信号;并在时域上的每一帧,根据所述至少两个麦克风各自的所述原始带噪信号转换为至少两个声源各自的频域估计信号;并对所述至少两个声源中的每个声源,将所述频域估计信号划分为不同频域子带内的至少两个频域估计分量,从而基于所述频域估计分量的加权系数以及频域估计信号,获得更新后的分离矩阵。如此,本公开实施例获得更新后的分离矩阵,是基于不同频域子带的频域估计分量的加权系数确定的,相对于现有技术中,基于整个频带的所有频域估计信号存在相同的依赖性来获得分离矩阵来说,具有更高的分离性能;从而基于本公开实施例获得的分离矩阵及所述原始带噪信号,获得至少两个声源发出的音频信号,能够提高分离性能,能将一些容易损伤的所述频域估计信号的语音信号得以恢复,从而提高语音分离的质量。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种音频信号处理方法的流程图。

图2是根据一示例性实施例示出的一种音频信号处理方法的应用场景的框图。

图3是根据一示例性实施例示出的一种音频信号处理方法的流程图。

图4是根据一示例性实施例示出的一种音频信号处理装置的示意图。

图5是根据一示例性实施例示出的一种终端的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的一种音频信号处理方法的流程图,如图1所示,所述方法包括以下步骤。

步骤s11,由至少两个麦克风获取至少两个声源各自发出的音频信号,以获得所述至少两个麦克风各自在时域上的多帧原始带噪信号;

步骤s12,对于时域上的每一帧,根据所述至少两个麦克风各自的所述原始带噪信号,获取所述至少两个声源各自的频域估计信号;

步骤s13,对于所述至少两个声源中的每个声源,将所述频域估计信号在频域上划分为多个频域估计分量,其中,每个频域估计分量对应一个频域子带并且包含多个频点数据;

步骤s14,在每个频域子带内,确定所述频域子带所包含的每个频点的加权系数,并根据所述加权系数更新每个频点的分离矩阵;

步骤s15,基于更新后的所述分离矩阵及所述原始带噪信号,获得至少两个声源各自发出的音频信号。

本公开实施例所述的方法应用在终端中。这里,所述终端为集成了两个或两个以上麦克风的电子设备。例如,所述终端可以为车载终端、计算机、或服务器等。在一实施例中,所述终端还可以是:与集成了两个或两个以上麦克风的预定设备连接的电子设备;所述电子设备基于所述连接接收所述预定设备采集的音频信号,且基于所述连接将处理后的音频信号发送给所述预定设备。例如,所述预定设备为音箱等。

在实际应用中,所述终端中包括至少两个麦克风,所述至少两个麦克风同时检测至少两个声源各自发出的音频信号,以获得所述至少两个麦克风各自的原始带噪信号。这里,可以理解的是,本实施例中所述至少两个麦克风对所述两个声源发出的音频信号是同步进行检测的。

在本公开实施例的所述音频信号处理方法是,需要对预定时间内的音频帧的原始带噪信号获取完之后,才开始对该预定时间内的音频帧的音频信号进行分离。

在本公开实施例中,所述麦克风为2个或2个以上,所述声源为2个或2个以上。

在本公开实施例中,所述原始带噪信号为:包括至少两个声源发出的声音的混合信号。例如,所述麦克风为2个,分别为麦克风1和麦克风2;所述声源为2个,分别为声源1和声源2;则所述麦克风1的原始带噪信号为包括声源1和声源2的音频信号;所述麦克风2原始带噪信号同样也是均包括声源1和声源2音频信号。

例如,所述麦克风为3个,分别为麦克风1、麦克风2和麦克风3;所述声源为3个,分别为声源1、声源2和声源3;则所述麦克风1的原始带噪信号为包括声源1、声源2和声源3的音频信号;所述麦克风2和所述麦克风3的原始带噪信号同样也是均包括声源1、声源2和声源3的音频信号。

可以理解的是,若一个声源发出的声音在一个对应的麦克风中信号为音频信号,则其它声源在所述麦克风中的信号为噪声信号。本公开实施例是需要从至少两个麦克风中恢复至少两个声源发出的声源。

可以理解的是,一般声源个数是与麦克风个数相同的。若在一些实施例中,麦克风的个数小于所述声源的个数,可以对所述声源的个数进行降维,以降到与所述麦克风个数相等的维度。

本公开实施例中,可将所述频域估计信号划分为位于至少两个频域子带内的至少两个频域估计分量;其中,任意两个所述频域子带的频域估计分量中包括的频点数据的数量相同或不同。

这里,所述多帧原始带噪信号指多个音频帧的原始带噪信号。在一实施例中,一个音频帧可为预设时长的音频段。

例如,所述频域估计信号总计100个,将所述频域估计信号划分为3个频域子带的频域估计分量;其中,第1个频域子带、第2个频域子带和第3个频域子带的频域估计分量中分别包括的频点数据为25、35和40个。又如,所述频域估计信号总计100个,将所述频域估计信号划分为4个频域子带的频域估计分量;其中,4个频域子带的频域估计分量中分别包括的频点数据均为25个。

本公开实施例中,通过获取至少两个麦克风在时域上的多帧原始带噪信号,并在时域上的每一帧,根据至少两个麦克风各自的所述原始带噪信号转换为至少两个声源各自的频域估计信号,并对所述至少两个声源中每个声源,将所述频域估计信号划分为不同频域子带内的至少两个频域估计分量,从而基于所述频域估计分量的加权系数以及频域估计信号,获得更新后的分离矩阵。如此,本公开实施例获得更新后的分离矩阵,是基于不同频域子带的频域估计分量的加权系数确定的,相对于现有技术中,基于整个频带的所有频域估计信号存在相同的依赖性来获得分离矩阵来说,具有更高的分离性能;从而基于本公开实施例获得的分离矩阵及所述原始带噪信号,获得至少两个声源发出的音频信号,能够提高分离性能,能将一些容易损伤的所述频域估计信号的语音信号得以恢复,从而提高语音分离的质量。

本公开实施例所提供的音频信号处理方法,相对于现有技术中,利用多个麦克风的波束形成技术实现对声源信号进行分离来说,无需考虑该些麦克风的位置,从而能够实现更高精准度的声源发出声音的音频信号的分离。

且,若所述音频信号处理方法应用在两个麦克风的终端设备中,相对于现有技术中至少3个以上的多个麦克风的波束形成技术来提高语音质量来说,还大大减少了麦克风的个数,降低了终端的硬件成本。

在一些实施例中,所述步骤s14,包括:

对于每个声源,将第n个所述频域估计分量的所述加权系数、所述频域估计信号及第x-1个备选矩阵进行梯度迭代,得到第x个备选矩阵;其中,第1个备选矩阵为已知的单位矩阵;其中,所述x为大于或等于2的正整数;所述n为小于n的正整数,所述n为所述频域子带的个数;

当所述第x个备选矩阵满足迭代停止条件时,基于所述第x个备选矩阵,获得第n个所述频域估计分量中每个频点更新后的分离矩阵。

在本公开实施例中,可以利用自然梯度算法对所述备选矩阵进行梯度迭代,其中,每进行一次梯度迭代后的备选矩阵越来越接近所需要的分离矩阵。

这里,满足迭代停止条件为:第x个备选矩阵与第x-1个备选矩阵满足收敛条件。在一实施例中,所述第x个备选矩阵与第x-1个备选矩阵满足收敛条件为:所述第x个备选矩阵与第x-1个备选矩阵之积在预定数值范围内。例如,所述预定数值范围为(0.9,1.1)。

在一实施例中,所述将第n个频域估计分量的加权系数、所述频域估计信号及第x-1个备选矩阵进行梯度迭代,得到第x个备选矩阵的具体公式可以为:

其中,wx(k)为第x个备选矩阵;所述wx-1(k)为第x-1个备选矩阵;所述η为更新步长;所述η为[0.005,0.1]之间的实数;所述m为麦克风采集到的音频帧的帧数;所述φn(k,m)为第n个频域估计分量的加权系数;所述k为频带的频点,所述y(k,m)在k频点的频域估计信号;所述yh(k,m)为所述y(k,m)的共轭转置。

在一实际应用场景中,上述公式中满足迭代停止条件可以为:|1-tr{abs(w0(k)wh(k))}/n|≤ξ;其中,且所述ξ大于或等于0且小于(1/105)的数。在一实施例中,所述ξ为0.0000001。

如此,在本公开实施例中,可以基于各个频域子带的频域估计分量的加权系数、及每一帧的频域估计信号等,来不断对各频域估计分量所对应的频点不断更新,使得频域估计分量中各频点更新到的分离矩阵能够具有更好的分离性能,从而能够进一步提高分离出的音频信号的精确度。

在一些实施例中,在进行所述梯度迭代时,按照从所述频域估计信号所在频域子带的频率从高到低依次进行。

如此,在本公开实施例中,能够基于在频域子带对应的频率依次获取所述频域估计信号的分离矩阵,能够大大降低遗漏某些频点对应的分离矩阵的获取情况发生,能够减少各声源在各频点的音频信号的损失,提高获取的声源的音频信号的质量。

且,若在进行梯度迭代时,按照从所述频点数据所在频域子带的频率从高到低依次进行,还能进一步简化计算,例如,第一频域子带的频率相对第二频域子带的频率较高,且第一频域子带与第二频域子带有部分频率重合,在获取第一频域子带中所述频域估计信号的分离矩阵后,则第二频域子带中与所述第一频域子带频率重合部分对应的频点的分离矩阵无需再计算,以减少计算量。

可以理解的是,在本公开实施例中,考虑的从频域子带的频率从高到低依次进行是为了便于实际计算中计算的可靠性。当然在其它实施例中,也可以考虑从频域子带的频率由低到高依次进行,在此不做限制。

在一实施例中,所述获得至少两个麦克风在时域上的多帧原始带噪信号,包括:

获取至少两个麦克风在时域上的每一帧原始带噪信号。

在一些实施例中,所述将所述原始带噪信号转换为频域估计信号,包括:将所述时域上的原始带噪信号转换为频域上的原始带噪信号;将所述频域上的原始带噪信号转换为频域估计信号。

这里,可以基于快速傅里叶变换(fastfouriertransform,fft),将时域信号进行频域变换。或者,可以基于短时傅里叶变换(short-timefouriertransform,stft),将时域信号进行频域变换。或者,还可以基于其它傅里叶变换,将时域信号进行频域变换。

例如,若第y个麦克风在第m帧的时域信号为:将第m帧的时域信号变变换为频域信号,确定第m帧的原始带噪信号为:其中,所述k为频点,所述k=1,…,k;所述m为第k帧时域信号的离散时间点数量;所述m'=1,…,nfft。如此,本实施例可以通过所述时域到频域的变化,可以获得每一帧在频域上的原始带噪信号。当然,获得每一帧的原始带噪信号也可以基于其它的傅里叶变换公式获得,在此不做限制。

在一实施例中,所述将所述频域上的原始带噪信号转换为频域估计信号包括:基于已知的单位矩阵,将所述频域上的原始带噪信号转换为频域估计信号。

在另一实施例中,所述将所述频域上的原始带噪信号转换为频域估计信号包括:基于备选矩阵,将所述频域上的原始带噪信号转换为频域估计信号。这里,所述备选矩阵可以为上述实施例中第1至第x-1次备选矩阵。

例如,获取第m帧的k频点的频点数据为:y(k,m)=w(k)x(k,m);其中,所述x(k,m)为第m帧在频域上的原始带噪信号;所述分离矩阵为w(k)可以为上述实施例中第1至第x-1次备选矩阵;如,所述w(k)为已知单位矩阵,或者第x-1次迭代获得的备选矩阵。

在本公开实施例中,可以将时域的原始带噪信号变换到频域的原始带噪信号,并基于更新之前的分离矩阵或单位矩阵获得预先估计的频域估计信号。如此,为后续基于所述频域估计信号及分离矩阵分离出各声源的音频信号提供了依据。

在一些实施例中,所述方法还包括:

基于第n个所述频域估计分量中包括的各频点对应的所述频点数据的平方和,获得所述第n个所述频域估计分量的加权系数。

在一实施例中,所述基于第n个所述频域估计分量中包括的各频点对应的所述频点数据的平方和,获得所述第n个所述频域估计分量的加权系数,包括:

基于所述基于第n个所述频域估计分量中包括的所述频点数据的平方和,确定第一数值;

基于所述第一数值的平方根,确定所述第n个所述频域估计分量的加权系数。

在一实施例中,基于所述第一数值的平方根,确定所述第n个频域估计分量的加权系数,包括:

基于所述第一数值的平方根的倒数,确定所述第n个频域估计分量的加权系数。

在本公开实施例中,可以基于各频域子带的频域估计分量包括的各频点对应的频域估计信号,确定所述各频域子带的加权系数。如此,所述加权系数,相对于现有技术来说,无需考虑整个频带的所有频点的先验概率密度,而只需要考虑该频域子带对应的频点的先验概率密度;从而一方面能够简化计算。另一方面对于整个频带中相隔较远的频点无需考虑,从而基于该加权系数确定的分离矩阵无需考虑与该频域子带内较远的频点的先验概率密度;也就是说,对于频带中相隔较远的频点的依赖性无需考虑,从而使得确定出的分离矩阵的分离性能更好;有利于后续基于该分离矩阵得出更高质量的音频信号。

在一些实施例中,所述任意两个相邻频域子带在频域存在部分频率重叠。

例如,所述频域估计信号总计100个,包括k1、k2、k3、……、kl、k100的频点对应的频点数据,其中,所述l为大于2且小于或等于100的正整数。其中,将频带划分为4个频域子带;其中,4个频域子带依次为:第1个频域子带、第2个频域子带、第3个频域子带、及第4个频域子带的频域估计分量分别包括第k1至第k30对应的频点数据、第k25至第k55对应的频点数据、第k50至第k80对应的频点数据、及第k75至第k100对应的频频点数据。

如此,第1个频域子带和第2个频域子带在频域上有第k25至第k30的6个重叠的频点,则,第1个频域子带和第2个频域子带具有相同的第k25至第k30对应的频点数据;第2个频域子带和第3个频域子带在频域上有第k50至第k55的6个重叠的频点,则,第2个频域子带和第3个频域子带具有相同的第k50至第k55对应的频点数据;第3个频域子带和第4个频域子带在频域上有第k75至第k80的6个重叠的频点,则,第3个频域子带和第4个频域子带具有相同的第k75至第k80对应的频点数据。

在本公开实施例中,通过将所述任意两个相邻频域子带在频域上存在部分频率重合,可以基于频带中相隔较近的频点依赖性更强的原理,强化相邻频域子带中各频点数据的依赖性;且能够大大降低遗漏某些频点参与到各频域子带的频域估计分量的加权系数的计算中而导致计算不精准的情况发生,进一步提高加权系数的精准度。

且,在本公开实施中,若需要获取一个频域子带各频点数据的分离矩阵,若该频域子带的频点与该频域子带的相邻频域子带的频点存在重叠的情况时,则该重叠的频点对应的频点数据的分离矩阵,可以直接基于该频域子带的相邻频域子带获取,无需重新获取。

在另一些实施例中,所述任意两个相邻频域子带在频域不存在重合频率。如此,在本公开实施例中,各频域子带的所述频点数据的数量之和等于整个频带的频点所对应的频点数据的数量之和;如此,也可以大大降低遗漏某些频点参与各频域子带的频点数据的加权系数的计算中而导致计算不精准的情况发生、提高加权系数的精准度。且,由于不存在重叠的频点数据参与到相邻频域子带的加权系数计算过程中,从而能够进一步简化所述加权系数的计算过程。

在一些实施例中,所述基于所述分离矩阵及所述原始带噪信号,获得至少两个声源的音频信号,包括:

基于第1个所述分离矩阵至第n个所述分离矩阵,对一个所述频点数据对应的第m帧所述原始带噪信号进行分离,获得一个所述频点数据对应的第m帧所述原始带噪信号中不同所述声源的音频信号;其中,所述m为小于m的正整数,所述m为所述原始带噪信号的帧数;

组合各所述频点数据对应的第m帧所述原始带噪信号中第y个所述声源的音频信号,得到第y个所述声源的所述第m帧音频信号;其中,所述y为小于或等于y的正整数,所述y为声源的个数。

例如,所述麦克风为2个,分别为麦克风1和麦克风2;所述声源为2个,分别为声源1和声源2;所述麦克风1和麦克风2均采集了3帧原始带噪信号;对于第1帧中,第1个频点数据至第n个频点数据分别算出其对应的分离矩阵;如第1个频点数据的分离矩阵为第1个分离矩阵,第2个频点数据的分离矩阵为第2个分离矩阵;以此类推,第n个频点数据的分离矩阵为第n个分离矩阵。再基于第1个频点数据对应的噪声信号与第1个分离矩阵,获取第1个频点数据对应的音频信号;基于第2个频点数据对应的噪声信号与第2个分离矩阵,获得第2个频点数据的音频信号;依次类推,基于第n个频点数据对应的噪声信号与第n个分离矩阵,获得第n个频点数据的音频信号。再组合所述第1个频点数据的音频信号、第2个频点数据的音频信号及第3个频点数据的音频信号,获得麦克风1和麦克风2在第1帧的音频信号。

可以理解的是,对于其它帧的音频信号的获取,也可以基于上述示例中类似的方法,在此不作赘述。

在本公开实施例中,可以对于每一帧的各频点数据对应的对应的噪声信号及分离矩阵,获得在该帧中各所述频点数据的音频信号,再将该帧中各所述频点数据的音频信号进行组合,以获得该帧的音频信号。如此,在本公开实施例中,当获得所述频点数据的音频信号之后,还可以将所述音频信号进行时域转换,获得时域上的各声源的音频信号。

例如,可以基于快速傅里叶逆变换(inversefastfouriertransform,ifft),将频域信号进行时域变换。或者,可以基于短时傅里叶逆变换(inverseshort-timefouriertransform,istft),将频域信号变成时域信号。或者,还可以基于其它傅里叶逆变换,将频域信号进行时域变换。

在一些实施例中,所述方法还包括:按照时间先后顺序,组合第y个所述声源的第1帧音频信号至第m帧音频信号,得到m帧所述原始带噪信号包含的第y个所述声源的音频信号。

例如,所述麦克风为2个,分别为麦克风1和麦克风2;所述声源为2个,分别为声源1和声源2;所述麦克风1和麦克风2均采集了3帧原始带噪信号,其中,3帧按照时间的先后顺序分别为:第1帧、第2帧及第3帧。通过计算,分别获得了声源1的第1帧、第2帧、第3帧的音频信号,则所述声源1的音频信号为:按照时间先后顺序,组合了声源1的第1帧、第2帧及第3帧的声源信号。分别获得了声源2的第1帧、第2帧、第3帧的音频信号,则所述声源2的音频信号为:按照时间先后顺序,组合了声源1的第1帧、第2帧及第3帧的声源信号。

在本公开实施例中,可以组合各声源的各音频帧的音频信号,从而获得完整的各声源的音频信号。

为了有助于理解本公开的上述实施例,在此以下面示例为例进行说明。如图2所示,公开了一种音频信号处理方法的应用场景;其中,所述终端包括音箱a,所述音箱a中包括两个麦克风,分别为麦克风1和麦克风2;所述声源为2个,分别为声源1和声源2。所述声源1和所述声源2发出的信号都会被麦克风1和麦克风2采集到。在每个麦克风中两个声源信号都混叠在一起。

图3是根据一示例性实施例示出的一种音频信号处理方法的流程图;其中,所述音频信号处理方法中,如图2所示,声源包括声源1和声源2,麦克风包括麦克风1和麦克风2;基于所述音频信号处理方法,从麦克风1和麦克风2的信号中恢复出声源1和声源2。如图3所示,所述方法包括以下步骤:

若系统帧长为nfft,则频点k=nfft/2+1。

步骤s301:初始化w(k);

具体地,初始化各个频域估计信号的分离矩阵;

其中,所述为单位矩阵;所述k为频域估计信号;所述k=1,…,k。

步骤s302:获得第y个麦克风在第m帧的原始带噪信号;

具体地,对加窗进行nfft点得到对应的频域信号:其中,所述m'为傅里叶变换所选取的点数;其中,所述stft为短时傅里叶变换;所述为第y个麦克风第m帧的时域信号;这里,所述时域信号为原始带噪信号。

这里,所述y=1时,表示麦克风1;所述y=2时,表示麦克风2。

则所述xy(k,m)的观测信号为:x(k,m)=[x1(k,m),x2(k,m)]t;其中,所述x1(k,m)和x2(k,m)分别为声源1和声源2在频域上的原始带噪信号;其中,[x1(k,m),x2(k,m)]t为转置矩阵。

步骤s303:分频域子带获得两个声源的先验频域估计;

具体地,令两个声源信号的先验频域估计y(k,m)=[y1(k,m),y2(k,m)]t,其中y1(k,m),y2(k,m)分别为声源1和声源2在频域估计信号(k,m)处的估计值。

通过分离矩阵w(k)对观测矩阵x(k,m)进行分离得到:y(k,m)=w(k)'x(k,m);其中,w'(k)为上一次迭代获得的分离矩阵(即备选矩阵)。

则第y个声源在第m帧的先验频域估计为:

具体地,将整个频带划分成n个频域子带。

获取第n个频域子带的频域估计信号为:其中,所述n=1,…,n;其中,所述ln、hn分别表示第n个频域子带的第一个频点和最后一个频点;其中,ln<hn-1,所述n=2,…,n。这里,这样保证了相邻频域子带间存在部分频率重合;所述nn=hn-ln+1代表第n个频域子带的频点个数。

步骤s304:获取各频域子带的加权系数;

具体地,计算所述第n个频域子带的加权系数为:其中,y=1,2。

获得麦克风1和麦克风2的第n个频域子带的加权系数;φ(k,m)=[φ1(k,m),φ2(k,m)]t

步骤s305:更新w(k);

基于各频域子带的加权系数、第1至m帧的k点的频域估计信号,获得k点的分离矩阵;其中,所述wx-1(k)为上一次迭代时的备选矩阵,所述wx(k)为当前迭代的获取的备选矩阵;其中,所述η为更新步长。

在一实施例中,所述η为[0.005,0.1]。

这里,若|1-tr{abs(wx(k)wx-1h(k))}/n|≤ξ,表明获得所述wx-1(k)已满足收敛条件。若确定所述wx-1(k)满足收敛条件,则更新w(k),使得k点的分离矩阵为w(k)=wx(k)。

在一实施例中,所述ξ为小于或等于(1/106)的值。

这里,若上述频域子带的加权系数为n频域子带的加权系数,则所述k点在所述n频域子带中。

在一实施例中,在进行所述梯度迭代时,按照频率从高到低依次进行。如此,可以确保能够对每个频域子带的各频率的分离矩进行更新。

示例性的,以下提供了一种依次获取各频域估计信号分离矩阵的伪代码:

在上述示例中,所述ξ是一个判断w(k)收敛的门限,所述ξ为(1/106)。

步骤s306:获得各声源在各麦克风的音频信号;

具体地,基于更新后的分离矩阵w(k),获得yy(k,m)=wy(k)xy(k,m);其中,所述y=1,2;所述y(k,m)=[y1(k,m),y2(k,m)]t;所述wy(k)=[w1(k,m),w2(k,m)];所述xy(k,m)=[x1(k,m),x2(k,m)]t

步骤s307,对频域上的音频信号进行时域变换。

对频域上的音频信号进行时域变换,以获得时域上的音频信号。

分别对进行istft和重叠相加得到估计的时域的第三音频信号:

在本公开实施例中,获得的分离矩阵,是基于不同频域子带的频点对应的频域估计分量确定的加权系数确定的,相对于现有技术中,基于整个频带的所有频域估计信号存在相同的依赖性来获取分离矩阵来说,具有更高的分离性能;从而能基于本公开实施例获得的分离矩阵及原始带噪信号,获得两个声源发出的音频信号,能够提高分离性能,能将一些容易损伤的所述频域估计信号的音频信号得以恢复,从而提高语音分离的质量。

且,能够基于在频域子带对应的频率依次获取所述频域估计信号的分离矩阵,能够大大降低遗漏某些频点对应的频域估计信号的分离矩阵的获取情况发生,能够减少各声源在各频点的音频信号的损失,提高获取的声源的音频信号的质量。且,两个相邻频域子带在频域上存在部分频率重合,可以基于频带中相隔较近的频点依赖性更强的原理,强化相邻频域子带中各频域估计信号的依赖性,从而获得更加精准的加权系数。

本公开实施例所提供的音频信号处理方法,相对于现有技术中,利用多个麦克风的波束形成技术实现对声源信号进行分离来说,无需考虑该些麦克风的位置,从而能够实现更高精准度的声源发出声音的音频信号的分离。且,若所述音频信号处理方法应用在两个麦克风的终端设备中,相对于现有技术中至少3个以上的多个麦克风的波束形成技术来提高语音质量来说,还大大减少了麦克风的个数,降低了终端的硬件成本。

图4是根据一示例性示出的一种音频信号处理装置的框图。参照图4,该装置包括:获取模块41、转换模块42、划分模块43、第一处理模块44及第二处理模块;其中,

所述获取模块41,用于由至少两个麦克风获取至少两个声源各自发出的音频信号,以获得所述至少两个麦克风各自在时域上的多帧原始带噪信号;

所述转换模块42,用于对于时域上的每一帧,根据所述至少两个麦克风各自的所述原始带噪信号,获取所述至少两个声源各自的频域估计信号;

所述划分模块43,用于对于所述至少两个声源中的每个声源,将所述频域估计信号在频域上划分为多个频域估计分量,其中,每个频域估计分量对应一个频域子带并且包含多个频点数据;

所述第一处理模块44,用于在每个频域子带内,确定所述频域子带所包含的每个频点的加权系数,并根据所述加权系数更新每个频点的分离矩阵;

所述第二处理模块45,用于基于更新后的所述分离矩阵及所述原始带噪信号,获得至少两个声源各自发出的音频信号。

在一些实施例中,所述第一处理模块44,用于对于每个声源,将第n个所述频域估计分量的所述加权系数、所述频域估计信号及第x-1个备选矩阵进行梯度迭代,得到第x个备选矩阵;其中,第1个备选矩阵为已知的单位矩阵;其中,所述x为大于或等于2的正整数;所述n为小于n的正整数,所述n为所述频域子带的个数;

当所述第x个备选矩阵满足迭代停止条件时,基于所述第x个备选矩阵,获得第n个所述频域估计分量中每个频点更新后的分离矩阵。

在一些实施例中,所述第一处理模块44,还用于基于第n个所述频域估计分量中包括的各频点对应的所述频点数据的平方和,获得所述第n个所述频域估计分量的加权系数。

在一些实施例中,所述第二处理模块45,用于基于第1个所述更新后的分离矩阵至第n个所述更新后的分离矩阵,对一个所述频点数据对应的第m帧所述原始带噪信号进行分离,获得一个所述频点数据对应的第m帧所述原始带噪信号中不同所述声源的音频信号;其中,所述m为小于m的正整数,所述m为所述原始带噪信号的帧数;

组合各所述频点数据对应的第m帧所述原始带噪信号中第y个所述声源的音频信号,得到第y个所述声源的所述第m帧音频信号;其中,所述y为小于或等于y的正整数,所述y为声源的个数。

在一些实施例中,所述第二处理模块45,还用于按照时间先后顺序,组合第y个所述声源的第1帧音频信号至第m帧音频信号,得到m帧所述原始带噪信号包含的第y个所述声源的音频信号。

在一些实施例中,所述第一处理模块44在进行所述梯度迭代时,按照从所述频域估计信号所在频域子带的频率从高到低依次进行。

在一些实施例中,任意两个相邻频域子带在频域存在部分频率重叠。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本公开的实施例还提供了一种终端,其特征在于,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为:用于执行所述可执行指令时,实现本公开任意实施例所述的音频信号处理方法。

所述存储器可包括各种类型的存储介质,该存储介质为非临时性计算机存储介质,在通信设备掉电之后能够继续记忆存储其上的信息。

所述处理器可以通过总线等与存储器连接,用于读取存储器上存储的可执行程序,例如,实现如图1或图3所示的方法的至少其中之一。

本公开的实施例还提供了一种计算机可读存储介质,所述可读存储介质存储有可执行程序,其中,所述可执行程序被处理器执行时实现本公开任意实施例所述的音频信号处理方法。例如,实现如图1或图3所示的方法的至少其中之一。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图5是根据一示例性实施例示出的一种用于终端800的框图。例如,终端800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

参照图5,终端800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(i/o)的接口812,传感器组件814,以及通信组件816。

处理组件802通常控制终端800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。

存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在终端800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

电源组件806为终端800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为终端800生成、管理和分配电力相关联的组件。

多媒体组件808包括在所述终端800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(mic),当终端800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。

i/o接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件814包括一个或多个传感器,用于为终端800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为终端800的显示器和小键盘,传感器组件814还可以检测终端800或终端800一个组件的位置改变,用户与终端800接触的存在或不存在,终端800方位或加速/减速和终端800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件816被配置为便于终端800和其他设备之间有线或无线方式的通信。终端800可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

在示例性实施例中,终端800可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由终端800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

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