应用于双麦克风小型手持设备的语音降噪方法

本发明提出一种双麦克风小型手持设备的语音降噪方法,根据不同通话模式选择基于功率水平差异或相干性的降噪策略,有效提升语音清晰度。
应用于双麦克风小型手持设备的语音降噪方法
技术领域
本发明涉及语音降噪技术领域,尤其涉及一种应用于双麦克风小型手持设备的语音降噪方法。
背景技术
在现有的小型手持设备中,常采用双麦克风以及三麦克风。现有技术利用主麦克风接收期望语音及背景噪声,次麦克风接收背景噪声,并且假设这两个麦克风接收到的背景噪声是一致的,从而利用两个麦克风接收信号的差值作为期望信号输出。
这种方法在背景噪声不一致的情况下会产生音乐噪声,并且当次麦克风包含期望语音成分的时候会产生语音失真。此外,利用相位差(时延估计)的双通道滤波技术会残留音乐噪声,且由相位差计算声源方向的可行性是建立在远场条件下的,并不适用于手持近场的环境。
发明内容
本发明的目的是提供一种应用于双麦克风小型手持设备的语音降噪方法,可以尽可能无失真地提取出期望语音,消除背景噪声。
本发明的目的是通过以下技术方案实现的:
一种应用于双麦克风小型手持设备的语音降噪方法,其特征在于,包括:
接收双麦克风的语音信号,并进行通话模式的判别;
若当前为手持通话模式,则采用基于双麦克风功率水平差异的语音降噪方法来获取降噪后的语音信号;
若当前为扬声器通话模式,则采用基于双麦克风之间相干性的语音降噪方法来获取降噪后的语音信号。
2、根据权利要求1所述的方法,其特征在于,所述采用基于双麦克风功率水平差异的语音降噪方法来获取降噪后的语音信号包括:
主麦克风与次麦克风接收到的语音信号如下:
x1(m)=h1(m)*s(m)+n1(m);
x2(m)=h2(m)*s(m)+n2(m);
其中,m为采样点,x1(m)为主麦克风接收到的语音信号,x2(m)为次麦克风接收到的语音信号;hi(m)为声波传播模型冲击响应,ni(m)为噪声,i=1,2;s(m)为目标语音,*为卷积操作;
对主麦克风与次麦克风接受到的语音信号分别做短时傅里叶变换,得到:
X1(n,k)=H1(n,k)S(n,k)+N1(n,k);
X2(n,k)=H2(n,k)S(n,k)+N2(n,k);
其中,n和k分别表示时间点和频率点;将上述两个式子改写为:
X1(n,k)=S1(n,k)+N1(n,k);
X2(n,k)=H12(n,k)S1(n,k)+N2(n,k);
其中,S1(n,k)表示H1(n,k)S(n,k),从而有根据短时傅里叶变换结果分别计算主麦克风与次麦克风带噪音的功率谱密度PSD,得到:
 
 
将与相减得到:
 
令其中ΔPN≈0,则有:
 
利用估计的语音信号PSD和噪声信号PSD可以构造维纳滤波器GΔP(n,k);其中利用估计的主麦克风语音信号PSD和噪声信号PSD进行构造时:
 
其中,GΔP(n,k)的下标ΔP表示该滤波器是基于功率水平差得到的;将|ΔPX(n,k)|表达式带入上式,得到:
 
在上式中加入一个自由参数α,则有:
 
其中,主麦克风噪声的PSD采用语音信号开始的T纯噪声帧计算,公式如下:
 
式中,λN为噪声遗忘因子;X1(n,k)表示主麦克风接收信号的时频域值;
主麦克风与次麦克风带噪音的互功率谱密度CPSD为:
 
其中为两个麦克风接收噪声信号的CPSD,通过下式进行估计:
 
通过主麦克风接收信号PSD与估计噪声PSD的差值进行估计:
 
从而得到估计的冲击响应函数H12(n,k):
 
两个麦克风接收信号的PSD和CPSD,即和采用如下的递归平均方法来估计:
 
 
其中λX为带噪语音遗忘因子。将主麦克风以及次麦克风做短时傅里叶变换后的语音信号与维纳滤波器相乘,并做离散傅里叶逆变换处理及叠接相加,从而得到降噪之后的时域语音信号。
3、根据权利要求1所述的方法,其特征在于,所述采用基于双麦克风之间相干性的语音降噪方法来获取降噪后的语音信号包括:
主麦克风与次麦克风接收到的语音信号如下:
xi(m)=si(m)+ni(m),i=1,2
其中,m为采样点,x1(m)为主麦克风接收到的语音信号,x2(m)为次麦克风接收到的语音信号,ni(m)为噪声,si(m)为目标语音;
进行短时傅里叶变换后得到:
Xi(n,k)=Si(n,k)+Ni(n,k),i=1,2;
其中,n和k分别表示时间点和频率点;
定义主麦克风与次麦克风接收到的语音信号的相干性函数为:
 
式中,与分别为主麦克风与次麦克风带噪音的功率谱密度PSD,为主麦克风与次麦克风带噪语音的互功率谱密度;
相干性函数与主麦克风与次麦克风局部信噪比SNR1和SNR2有如下关系:
 
其中,和分别表示两个麦克风接收的目标语音相干性函数和噪声相干性函数;令则上式改写为:
 
当使用扬声器通话模式时,假设目标语音信号源在双麦克的正前方,选取两麦克风位置的中心作为阵列参考点,则目标语音方向即为0°,背景噪声信号源等效为从θ方向入射,则主麦克风与次麦克风接收到的信号U1和U2之间的相干性为:
 
式中,fs是采样率,d是主麦克风与次麦克风的间距,c为声速;U1和U2表示主麦克风与次麦克风接收到的语音信号或者噪声信号;
将上面两个表达式相结合,得到:
 
其中,τ=fs(d/c),分别取出实部和虚部:
 
 
其中,α=ωτsinθ,分别对实部和虚部表达式变型,得到:
 
 
由于上述两式相等,则有:
Icosα=(R-1)sinα+I;
根据cos2α+sin2α=1,得到:
(I2+(1-R)2)sin2α+2I(R-1)sinα=0;
其根为:
 
其中,sinα=0是平凡解,忽略;则:
 
求得sinα后,可求得:
 
从而构建非限制维纳滤波器Gcoh(n,k):
 
将主麦克风以及次麦克风做短时傅里叶变换后的语音信号与维纳滤波器相乘,并做离散傅里叶逆变换处理及叠接相加,从而得到降噪之后的时域语音信号。
由上述本发明提供的技术方案可以看出,可以根据用户所使用模式的不同来选取对应的降噪方法;在正常手持通话模式下,基于功率水平差异的方法适用于该模式下的近场信号模型,且能有效利用主次麦克风接收语音信号在能量上的较大差异信息;在使用扬声器模式下,利用基于双麦克风之间相关性的方法不需要进行噪声功率谱的估计,且能够避免两个麦克风接收噪声不一致对于基于功率水平差异方法的影响;此外,相比于传统的基于功率水平差异的方法,本发明通过构造的维纳滤波能有效避免噪声功率谱估计错误导致的音乐噪声。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的一种应用于双麦克风小型手持设备的语音降噪方法的流程图;
图2为本发明实施例提供的基于双麦克风功率水平差异的语音降噪方法的流程图;
图3为本发明实施例提供的基于双麦克风之间相干性的语音降噪方法的流程图;
图4为本发明实施例提供的基于双麦克风之间相干性的语音降噪技术信号模型。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
如图1所示,为本发明实施例提供的一种应用于双麦克风小型手持设备的语音降噪方法的流程图,其主要包括如下步骤:
步骤11、接收双麦克风的语音信号,并进行通话模式的判别;
步骤12、若当前为手持通话模式,则采用基于双麦克风功率水平差异的语音降噪方法来获取降噪后的语音信号;
步骤13、若当前为扬声器通话模式,则采用基于双麦克风之间相干性的语音降噪方法来获取降噪后的语音信号。
本发明实施例中,根据用户所使用模式的不同来选取对应的降噪方法。在正常手持通话模式下,基于功率水平差异的方法适用于该模式下的近场信号模型,且能有效利用主次麦克风接收语音信号在能量上的较大差异信息;在使用扬声器模式下,利用基于双麦克风之间相关性的方法不需要进行噪声功率谱的估计,且能够避免两个麦克风接收噪声不一致对于基于功率水平差异方法的影响。
下面主要针对基于双麦克风功率水平差异的语音降噪方法以及基于双麦克风之间相干性的语音降噪方法进行详细的介绍。
1、基于双麦克风功率水平差异的语音降噪方法。
在正常的手持通话模式下,我们默认的是双麦克风与说话人嘴巴构成一个近场环境。在该环境下的声波模型为球形波,传统的基于相位的降噪技术并不适用这一模型。而利用功率水平差异(Power Level Difference,PLD),则避免了这一问题。
其具体的处理流程如图2所示,主要为:
主麦克风与次麦克风接收到的语音信号如下:
x1(m)=h1(m)*s(m)+n1(m);
x2(m)=h2(m)*s(m)+n2(m);
其中,m为采样点,x1(m)为主麦克风接收到的语音信号,x2(m)为次麦克风接收到的语音信号;hi(m)为声波传播模型冲击响应,ni(m)为噪声,i=1,2;s(m)为目标语音,*为卷积操作;
对主麦克风与次麦克风接受到的语音信号分别做短时傅里叶变换将其转换到时频域,得到:
X1(n,k)=H1(n,k)S(n,k)+N1(n,k);
X2(n,k)=H2(n,k)S(n,k)+N2(n,k);
其中,n和k分别表示时间点和频率点;不失一般性,将上述两个式子改写为:
X1(n,k)=S1(n,k)+N1(n,k);
X2(n,k)=H12(n,k)S1(n,k)+N2(n,k);
其中,S1(n,k)表示H1(n,k)S(n,k),从而有根据短时傅里叶变换结果分别计算主麦克风与次麦克风带噪音的功率谱密度(PSD),得到:
 
 
其中,表示主麦克风接收到的语音信号的PSD,表示主麦克风接收到的噪声信号的PSD,表示次麦克风接收到的噪声信号的PSD。
将与相减得到:
 
令另外,一般假设两个麦克风接收到的背景噪声可以认为差异不大,故ΔPN可以忽略不计,即ΔPN≈0,则有:
 
利用估计的语音信号PSD和噪声信号PSD可以构造维纳滤波器GΔP(n,k),这里我们利用估计的主麦克风语音信号PSD和噪声信号PSD进行构造:
 
其中,GΔP(n,k)的下标ΔP表示该滤波器是基于功率水平差得到的。不能直接估计得到,故可将|ΔPX(n,k)|表达式带入上式,得到:
 
为了不使语音产生太大失真,在上式中加入一个自由参数α,则有GΔP(n,k)的估计式:
 
其中,主麦克风噪声的PSD采用语音信号开始的T纯噪声帧计算,公式如下:
 
式中,λN为噪声遗忘因子,由经验值设定;X1(n,k)表示主麦克风接收信号的时频域值;
则现在GΔP(n,k)估计式中仅有冲击响应函数H12(n,k)为未知的;考虑互功率谱密度(CPSD),主麦克风与次麦克风接收信号的CPSD为:
 
其中,为两个麦克风接收噪声信号的CPSD,类似于的计算,可以通过下式进行估计:
 
可以通过主麦克风接收信号PSD与估计噪声PSD的差值进行估计:
 
从而得到估计的冲击响应函数
 
本发明实施例中,两个麦克风接收信号的PSD和CPSD(即和)我们采用如下的递归平均方法来估计:
 
 
其中λX为带噪语音遗忘因子。此时GΔP(n,k)表达式中的参数均求出,则获得了用于增强语音的维纳滤波器,将主麦克风以及次麦克风做短时傅里叶变换后的语音信号与维纳滤波器相乘,并做离散傅里叶逆变换处理(IFFT)及叠接相加,从而得到降噪之后的时域语音信号
2、基于双麦克风之间相干性的语音降噪方法。
在使用扬声器通话的模式下,可以认为两个麦克风与说话人嘴巴构成一个远场环境。此时,本发明采用基于双麦克风接收信号相干性的语音降噪技术。这个方法不需要进行噪声功率谱的估计,且能够避免两个麦克风接收噪声不一致对于基于功率水平差异方法的影响。
在双麦克风条件下,两个麦克风接收到的语音信号之间是有相干性的。这个相干性可以用来估计带噪语音信号的每个时频点的SNR,从而利用维纳滤波的思想就能达到语音降噪的目的。
其具体的处理流程如图3所示,主要为:
主麦克风与次麦克风接收到的语音信号如下:
xi(m)=si(m)+ni(m),i=1,2
其中,m为采样点,x1(m)为主麦克风接收到的语音信号,x2(m)为次麦克风接收到的语音信号,ni(m)为噪声,si(m)为目标语音;
进行短时傅里叶变换后得到:
Xi(n,k)=Si(n,k)+Ni(n,k),i=1,2;
其中,n和k分别表示时间点和频率点;
定义主麦克风与次麦克风接收到的语音信号的相干性函数为:
 
式中,与分别为主麦克风与次麦克风带噪音的功率谱密度PSD,为主麦克风与次麦克风带噪语音的互功率谱密度;同样可以采用前文所述的递归平均方法求得。
相干性函数与主麦克风与次麦克风局部信噪比SNR1和SNR2有如下关系:
 
其中,和分别表示两个麦克风接收的目标语音相干性函数和噪声相干性函数。如果两个麦克风非常接近(例如2cm),则SNR1≈SNR2成立,但是如果两个麦克风相隔比较远(例如15cm),则上述假设不一定成立。但是可以认为在两个麦克风处,(或)是相等的。
则令则上式改写为:
 
如图4所示,当使用扬声器通话模式时,假设目标语音信号源在双麦克的正前方,选取两麦克风位置的中心作为阵列参考点,则目标语音方向即为0°,背景噪声信号源等效为从θ方向入射。根据阵列信号处理理论,对于两个同源信号U1和U2(同一个目标语音或噪声分别被两个麦克风接收的信号),主麦克风与次麦克风接收到的信号之间的相干性可以表示为:
 
式中,fs是采样率,d是主麦克风与次麦克风的间距,c为声速;
将上面两个表达式相结合,得到:
 
其中,τ=fs(d/c),分别取出实部和虚部:
 
 
其中,α=ωτsinθ,分别对实部和虚部表达式变型,得到:
 
 
由于上述两式相等,则有:
Icosα=(R-1)sinα+I;
根据cos2α+sin2α=1,得到:
(I2+(1-R)2)sin2α+2I(R-1)sinα=0;
其根为:
 
其中,sinα=0是平凡解,忽略;则:
 
求得sinα后,可求得:
 
从而构建非限制维纳滤波器Gcoh(n,k)(下标coh表示该滤波器是基于相干性得到的):
 
将主麦克风以及次麦克风做短时傅里叶变换后的语音信号与维纳滤波器相乘,并做离散傅里叶逆变换处理及叠接相加,从而得到降噪之后的时域目标语音信号
本发明实施例上述方案,相比于传统的手持设备双麦克风语音降噪技术,可以根据用户所使用模式的不同来选取对应的降噪方法。在正常手持通话模式下,利用基于功率水平差异的方法能避免近场效应的影响;在使用扬声器模式下,利用基于双麦克风之间相关性的方法不需要进行噪声功率谱的估计,且能够避免两个麦克风接收噪声不一致对于基于功率水平差异方法的影响。此外,相比于传统的基于功率水平差异的方法,通过构造的维纳滤波能有效避免噪声功率谱估计错误导致的音乐噪声。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值