徐 娜 吳長(zhǎng)奇
(1. 燕山大學(xué)信息科學(xué)與工程學(xué)院,河北秦皇島 066004;2. 河北省信息傳輸與信號(hào)處理重點(diǎn)實(shí)驗(yàn)室,河北秦皇島 066004)
麥克風(fēng)陣列語(yǔ)音增強(qiáng)由于引入了空域信息,能夠更好的抑制方向性噪聲干擾,取得更好的增強(qiáng)效果。通常隨著麥克風(fēng)數(shù)量的增加,往往能夠獲得更好的噪聲抑制性能。但是大多數(shù)基于麥克風(fēng)陣列的語(yǔ)音增強(qiáng)算法由于陣列尺寸、麥克風(fēng)數(shù)量、運(yùn)算速度等限制并不能用于諸如助聽器之類的小型設(shè)備??紤]到這些因素,雙麥克風(fēng)陣列則在算法性能與可應(yīng)用性兩方面做到了平衡,常用于小型設(shè)備[1-2]。
差分麥克陣列(Differential microphone arrays, DMAs)具有超強(qiáng)方向性,體積小并且其波束模式幾乎是頻率不變,這使得即使在強(qiáng)混響和噪聲環(huán)境下也能得到高可懂度的語(yǔ)音信號(hào)[3- 4],適合用于小型設(shè)備。
經(jīng)過差分陣列處理后能對(duì)噪聲進(jìn)行一定的抑制,但是仍會(huì)有殘留噪聲,且噪聲源跟聲源越接近,則殘留噪聲越多。文獻(xiàn)[5]提出了一種算法,該算法將一階差分麥克風(fēng)陣列技術(shù)與譜減法相結(jié)合,利用靜音段和參考噪聲對(duì)語(yǔ)音通道中的噪聲進(jìn)行估計(jì),并進(jìn)行譜減,與普遍采用的自適應(yīng)零限波束形成技術(shù)相比有明顯的信噪比改善。但該算法依賴于對(duì)靜音段的估計(jì),當(dāng)對(duì)測(cè)試語(yǔ)料靜音段估計(jì)不準(zhǔn)時(shí),該算法會(huì)對(duì)語(yǔ)音造成一定損傷,算法整體的魯棒性不高。文獻(xiàn)[6]提出了一種基于相關(guān)函數(shù)的雙麥克語(yǔ)音增強(qiáng)算法,該算法首先利用兩輸入信號(hào)相關(guān)函數(shù)的實(shí)部與虛部對(duì)輸入信噪比進(jìn)行估計(jì),然后利用估計(jì)的信噪比構(gòu)造維納濾波增益函數(shù),進(jìn)行后置濾波。該方法避免了對(duì)靜音段的估計(jì),與已有的波束形成算法相比,在語(yǔ)音可懂度上有明顯提高,適用于助聽器設(shè)備。文獻(xiàn)[7]在此基礎(chǔ)上對(duì)噪聲模型進(jìn)行了改進(jìn),但兩者依舊是利用相關(guān)函數(shù)來(lái)對(duì)估計(jì)信噪比,并沒有將兩麥克構(gòu)成的差分陣列優(yōu)勢(shì)充分利用起來(lái)。
本文算法首先利用一階差分陣列技術(shù),對(duì)兩麥克風(fēng)采集到的帶噪語(yǔ)音信號(hào)進(jìn)行處理,得到語(yǔ)音通道信號(hào)和噪聲通道信號(hào)。接著對(duì)語(yǔ)音通道信號(hào)和噪聲通道信號(hào)進(jìn)行理論推導(dǎo)與數(shù)學(xué)分析。參考利用相關(guān)函數(shù)進(jìn)行信噪比求解的方法,利用兩通道信號(hào)構(gòu)造方程,求解語(yǔ)音通道信號(hào)的信噪比。然后將求得的信噪比用于幅度譜減法,實(shí)現(xiàn)對(duì)殘留噪聲的消除。針對(duì)語(yǔ)音通道信號(hào)信噪比求解方程的構(gòu)造,本文給出了兩種不同計(jì)算方法。本文所提算法既利用了陣列的空間濾波特性來(lái)處理方向性的噪聲干擾,又借助傳統(tǒng)的譜增強(qiáng)技術(shù)實(shí)現(xiàn)了進(jìn)一步語(yǔ)音增強(qiáng)。最后通過仿真實(shí)驗(yàn),對(duì)本文算法的性能進(jìn)行了評(píng)價(jià),并與其他算法進(jìn)行了比較。
假設(shè)遠(yuǎn)場(chǎng)聲源信號(hào)在自由場(chǎng)中以平面波的形式傳播,聲音到達(dá)2個(gè)麥克風(fēng)的傳播模型[8]如圖1所示。
假設(shè)目標(biāo)聲源來(lái)自端射方向即0°方向,噪聲來(lái)自θ方向。以第一個(gè)麥克風(fēng)作為參考麥克,則兩麥克風(fēng)接收到的信號(hào)可表示為:
y1(k)=x(k)+ν(k)
(1)
y2(k)=x(k-τ0)+ν(k-τ0cosθ)
(2)
式中k為離散時(shí)間單位,x(k)為目標(biāo)信號(hào),ν(k)為干擾信號(hào),δ為兩麥克風(fēng)之間的間距,τ0=δ/c*fs為目標(biāo)聲源在端射方向時(shí)兩麥克風(fēng)間的時(shí)延,fs為信號(hào)采樣頻率,c為聲速(c=340 m/s),在差分陣列中有δ?λ(λ為聲學(xué)波長(zhǎng))。
將式(1)和式(2)中的時(shí)域離散信號(hào)加窗分幀處理后轉(zhuǎn)換到短時(shí)離散傅里葉變換域表示,可得:
Y1(ωl,m)=X(ωl,m)+V(ωl,m)
(3)
Y2(ωl,m)=e-jωτ0X(ωl,m)+e-jωτ0cos θV(ωl,m)
(4)
為了抑制干擾噪聲V(ωl,m),首先設(shè)計(jì)兩個(gè)一階心形差分陣列,形成聲源入射方向即0°方向增益為1,180°方向的增益為0的前向心形波束和0°方向增益為0,180°方向增益為1的后向心形波束,對(duì)兩麥克風(fēng)采集到的帶噪語(yǔ)音信號(hào)進(jìn)行處理,實(shí)現(xiàn)初步語(yǔ)音增強(qiáng)。經(jīng)差分陣列處理后的信號(hào)分別表示為CF(ω)和CB(ω)。
(5)
(6)
(7)
將式(3)、式(4)和式(7)分別帶入式(5)和式(6)可得:
(8)
(9)
從式(8)和式(9)可以看出,經(jīng)過差分陣列處理后CF(ω)中包含語(yǔ)音項(xiàng)和殘留噪聲項(xiàng),CB(ω)中僅含噪聲項(xiàng),所以可以利用CF(ω)與CB(ω)對(duì)CF(ω)中的信噪比進(jìn)行估計(jì),并構(gòu)造后置濾波增益G(ω)對(duì)CF(ω)中的殘留噪聲進(jìn)行進(jìn)一步消除。整體算法系統(tǒng)框圖如圖2所示。
圖2 算法系統(tǒng)框圖Fig.2 Algorithm diagram
本節(jié)首先對(duì)CF(ω)中的殘留噪聲進(jìn)行了理論分析,接著利用了背對(duì)背心形波束的輸出CF(ω)與CB(ω)對(duì)CF(ω)中信噪比進(jìn)行估計(jì),并給出了兩種不同的計(jì)算方法。之后利用估計(jì)的信噪比構(gòu)造后置濾波增益G(ω)對(duì)CF(ω)中的殘留噪聲進(jìn)行進(jìn)一步消除。
分別求CF(ω)與CB(ω)的互功率譜密度和各自的自功率譜密度,如下:
ΦVV(ω)
(10)
(11)
(12)
由式(10)可知CF(ω)中的信噪比為:
(13)
結(jié)合式(13)可得CF(ω)與CB(ω)的自功率譜比值為:
(14)
由式(14)可解出SNR(ω)即:
(15)
(16)
(17)
式中μ為過減因子,Gmin為最小增益。后續(xù)的實(shí)驗(yàn)中設(shè)置μ=1.3,Gmin=0.02。
3.2.1 信噪比估計(jì)方法1
當(dāng)θ很小時(shí)有sinθ≈θ所以可做如下近似:
(18)
(19)
(20)
ΦY1Y1(ω)=ΦXX(ω)+ΦVV(ω)
(21)
圖3給出了以上三個(gè)近似項(xiàng)與真實(shí)項(xiàng)之間的誤差(L=256,c=340 m/s,δ=0.018 m,fs=16 kHz),從圖中可以看出對(duì)同一頻率而言在120°~180°范圍內(nèi)誤差要小,對(duì)同一角度而言,在低頻區(qū)域誤差要小,綜合分析可以看出在1≤l≤32范圍內(nèi)對(duì)于所有的角度而言,整體的誤差幾乎為0。所以后續(xù)可以利用這些頻點(diǎn)的信息對(duì)信噪比進(jìn)行估計(jì)。
圖3 真實(shí)項(xiàng)與近似項(xiàng)誤差分析Fig.3 Error analysis of real item and approximate item
令:
(22)
對(duì)式(22)進(jìn)行整理可得:
(M(ω)+1)cos2θ+2(1-M(ω))cosθ+
(M(ω)-3)=0
(23)
利用求根公式可以解得在1≤l≤32(l為整數(shù))對(duì)應(yīng)頻點(diǎn)的值cosθ(ω)。
(24)
利用求根公式得到了兩個(gè)解,但由于-1≤cosθ≤1,所以其中一個(gè)恒為1的解并沒有實(shí)際的價(jià)值可以舍去,所以有:
(25)
為了消除估計(jì)誤差,將各頻點(diǎn)的值求平均,并利用遞歸的方式對(duì)每一幀的cosθ(m)進(jìn)行平滑可得:
(26)
cosθ(m)=α.cosθ(m-1)+(1-α).cosθ(m)
(27)
α為平滑因子,后續(xù)試驗(yàn)中α取0.68,將式(27)帶入式(15)可得到SNR(ω)。
3.2.2 信噪比估計(jì)方法2
方法2跟方法1的求解思路相同,只是利用了不同的功率譜來(lái)構(gòu)造二次方程。
令:
(28)
對(duì)式(28)進(jìn)行整理可得:
(M(ω)+1)cos2θ-2M(ω)cosθ+(M(ω)-1)=0
(29)
利用求根公式可以解得在1≤l≤32(l為整數(shù))對(duì)應(yīng)頻點(diǎn)的值cosθ(ω)值:
(30)
同方法一,將各頻點(diǎn)的值平均并對(duì)相鄰幀進(jìn)行平滑可得cosθ(m),進(jìn)而得到CF(ω)中的信噪比。
本節(jié)通過Matlab仿真實(shí)驗(yàn)來(lái)驗(yàn)證本文所提算法的有效性,通過兩個(gè)客觀指標(biāo)對(duì)一階差分陣列算法(這里簡(jiǎn)稱DMA算法)與本文提出的兩種方法及文獻(xiàn)[6]提出基于相干函數(shù)的算法(這里簡(jiǎn)稱為Coherence算法)進(jìn)行評(píng)估比較,分析其性能差異。仿真實(shí)驗(yàn)中兩麥克風(fēng)接收到的信號(hào)按照第2節(jié)給出的雙通道信號(hào)模型生成(這里暫不考慮混響和反射因素)。在諸如助聽器類的小型設(shè)備中,麥克風(fēng)間的間距通常小于20 mm??紤]到實(shí)際應(yīng)用中尺的限制,在仿真實(shí)驗(yàn)中將兩麥克風(fēng)間距δ設(shè)為0.018 m,這與文獻(xiàn)[7]中的陣列尺寸相同。目標(biāo)聲源方向?yàn)殛嚵卸松浞较颍较蛐愿蓴_取自Noisex92庫(kù)中的Babble噪聲及一段音樂(歌曲寧夏片段),目標(biāo)信號(hào)與干擾信號(hào)均假設(shè)為遠(yuǎn)場(chǎng)信號(hào)。采用加窗分幀的方式處理對(duì)信號(hào)進(jìn)行預(yù)處理,信號(hào)采樣頻率為16 kHz,窗函數(shù)為漢明窗,幀長(zhǎng)256,幀移128。最后處理完的信號(hào)經(jīng)IFFT以重疊相加的方式轉(zhuǎn)換到時(shí)域。
為了評(píng)估不同算法處理后語(yǔ)音信號(hào)的質(zhì)量,這里采用主觀語(yǔ)音質(zhì)量評(píng)估[10](Perceptual Evaluation of Speech Quality, PESQ)和頻率加權(quán)分段信噪比[11](frequency-weighted segmental SNR, fwsegSNR)進(jìn)行評(píng)測(cè)。文獻(xiàn)[12]指出PESQ和fwsegSNR這兩個(gè)客觀評(píng)估指標(biāo)與語(yǔ)音的整體質(zhì)量及語(yǔ)音信號(hào)損傷程度關(guān)聯(lián)很大,更適合評(píng)估語(yǔ)音增強(qiáng)算法的性能。PESQ的得分在1.0到4.5之間,分值越高表示語(yǔ)音質(zhì)量越好。本文所用到的PESQ及fwsegSNR的Matlab代碼均來(lái)自文獻(xiàn)[11]。
本文選取了文獻(xiàn)[13]中用到的12組不同性別不同內(nèi)容的純凈句子語(yǔ)料分別在信噪比為10 dB、-5 dB、0 dB、5 dB、10 dB的情況下進(jìn)行加噪。加噪過程語(yǔ)音的幅度保持恒定,根據(jù)期望的信噪比來(lái)對(duì)噪聲幅度進(jìn)行修改。在同一組信噪比條件下,分別使用Coherence算法和DMA算法及本文提出的算法進(jìn)行處理。同一信噪比下同一種類型噪聲經(jīng)過同一增強(qiáng)算法處理可以得到一種測(cè)試條件,再將這種測(cè)試條件下的12組句子的fwsegSNR和PESQ的平均值作為最終的數(shù)值。這樣的測(cè)試條件共有4×5×4即80種。
圖4和圖5分別給出了輸入信噪比取-10 dB~10 dB,噪聲分別為Babble與Music,方向?yàn)?20°和90°情況下四種算法得到的fwsegSNR和PESQ分值。從圖4和圖5可以看出,當(dāng)干擾方向與目標(biāo)聲源方向接近時(shí),所有算法的性能都會(huì)有所下降。本文提出的兩種計(jì)算方法在所有測(cè)試條件下性能基本接近。與DMA算法相比,噪聲位于90°方向時(shí)PESQ平均有0.61分提高, fwsegSNR平均有4.6 dB提升;噪聲位于120°方向時(shí)PESQ平均有0.9分提高, fwsegSNR平均有3 dB提升。這表明本文所提算法對(duì)經(jīng)一階差分陣列處理后的殘留噪聲起到了進(jìn)一步的抑制。本文的兩種算法與Coherence算法相比在所有噪聲下PESQ平均有0.25分提高, fwsegSNR平均有1.5 dB提升,去噪效果及語(yǔ)音質(zhì)量均優(yōu)于Coherence算法。
圖4 不同噪聲下不同算法平均PESQ得分Fig.4 Average PESQ scores of different algorithms with different noise
圖5 不同噪聲下不同算法平均fwsegSNR值Fig.5 Average fwsegSNR values of different algorithms with different noise
本文提出了一種結(jié)合差分陣列與幅度譜減的雙麥語(yǔ)音增強(qiáng)算法,該算法首先在STFT域設(shè)計(jì)了一階差分陣列,形成了兩個(gè)零點(diǎn)分別在180°和0°的背對(duì)背心形波束,對(duì)兩麥克風(fēng)采集到的帶噪語(yǔ)音信號(hào)進(jìn)行處理,得到語(yǔ)音通道信號(hào)和噪聲通道信號(hào)。接著對(duì)語(yǔ)音通道信號(hào)中的殘留噪聲進(jìn)行了分析,利用差分陣列處理后的兩通道信號(hào)對(duì)語(yǔ)音通道信號(hào)的信噪比進(jìn)行估計(jì),然后利用幅度譜減法對(duì)殘留噪聲進(jìn)行消除。針對(duì)語(yǔ)音通道信號(hào)的信噪比估計(jì),本文給出了兩種計(jì)算方法。最后對(duì)本文所提算法在不同噪聲場(chǎng)景下從噪聲抑制和語(yǔ)音質(zhì)量?jī)煞矫孢M(jìn)行了評(píng)測(cè),客觀評(píng)測(cè)參數(shù)顯示該算法有效的抑制了方向噪聲,改善了語(yǔ)音的質(zhì)量,與其他算法相比頻率加權(quán)分段信噪比和語(yǔ)音主觀質(zhì)量評(píng)估打分都有一定提升??偟膩?lái)說(shuō)本文所提算法能夠?qū)Ψ较蛐栽肼暺鸬讲诲e(cuò)的抑制作用,且計(jì)算復(fù)雜度低易于實(shí)時(shí)實(shí)現(xiàn),可以用于諸如助聽器之類的小型設(shè)備。