何 禮 周 翊 劉宏清
(重慶郵電大學(xué)通信與信息工程學(xué)院, 重慶 400065)
近年來(lái),自動(dòng)語(yǔ)音識(shí)別技術(shù)的飛速發(fā)展催生了一系列語(yǔ)音應(yīng)用,例如:手機(jī)、智能音箱、助聽(tīng)器和電話(huà)會(huì)議系統(tǒng)等。為了保證上述設(shè)備在復(fù)雜聲學(xué)環(huán)境下運(yùn)行的魯棒性,這些設(shè)備通常配有噪聲消除算法。這些算法分為基于單個(gè)麥克風(fēng)的單通道噪聲消除算法[1]和基于麥克風(fēng)陣列的多通道噪聲消除算法。很多單通道噪聲消除算法依賴(lài)于語(yǔ)音活動(dòng)檢測(cè),只適合平穩(wěn)噪聲,對(duì)非平穩(wěn)噪聲魯棒性不好。麥克風(fēng)陣列基于多個(gè)麥克風(fēng),在時(shí)頻域的基礎(chǔ)上進(jìn)一步獲得空間域信息。因此,與只用時(shí)頻信息進(jìn)行噪聲消除的單麥克風(fēng)方案相比,麥克風(fēng)陣列通常具有更好的性能,因而得到了廣泛應(yīng)用。
波束形成器是麥克風(fēng)陣列噪聲消除算法的核心。它可設(shè)計(jì)成固定波束形成器,如延遲求和波束形成器、超指向性波束形成器;也可設(shè)計(jì)成基于某個(gè)優(yōu)化準(zhǔn)則的自適應(yīng)波束形成器,如線(xiàn)性約束最小方差、最小方差無(wú)失真響應(yīng)(Minimum Variance Distortionless Response, MVDR)、最小均方誤差和最大信噪比[2]。這些現(xiàn)有的技術(shù)解決方案通常依賴(lài)于擴(kuò)散場(chǎng)聲音相干性的模型,從而區(qū)分觀測(cè)信號(hào)中由目標(biāo)語(yǔ)音主導(dǎo)的時(shí)頻點(diǎn)和由背景噪聲主導(dǎo)的時(shí)頻點(diǎn)。然而這些解決方案并不適用于噪聲環(huán)境中干擾聲源存在的情況。另外,單獨(dú)的波束形成器并不總是能夠達(dá)到理論上的效果,波束形成處理后的輸出信號(hào)中仍然保留了期望信號(hào)方向及波束旁瓣上的殘留背景噪聲,因此通常會(huì)在波束形成后采用單通道后置濾波技術(shù)對(duì)殘留噪聲進(jìn)一步消除。麥克風(fēng)陣列噪聲消除算法通常使用帶有單通道維納后置濾波的MVDR波束形成器來(lái)實(shí)現(xiàn)[2]。文獻(xiàn)[3- 4]中推導(dǎo)了多種不同的后置濾波器,它們的主要區(qū)別在于對(duì)殘留噪聲功率譜密度的估計(jì),而共同點(diǎn)是都未考慮干擾聲源存在的情況,無(wú)法對(duì)波束形成輸出信號(hào)中殘留干擾的功率譜密度進(jìn)行估計(jì)。
針對(duì)上述問(wèn)題,本文提出了基于相位時(shí)頻掩蔽的麥克風(fēng)陣列噪聲消除算法。首先通過(guò)互相關(guān)功率譜的相位信息估計(jì)出目標(biāo)聲源和干擾聲源的時(shí)頻掩碼。為了克服線(xiàn)性麥克風(fēng)陣列前后指向性模糊和端射方向敏感等問(wèn)題,本文采用均勻環(huán)形麥克風(fēng)陣列。然后通過(guò)時(shí)頻掩碼估計(jì)出導(dǎo)向矢量和噪聲協(xié)方差矩陣,從而對(duì)目標(biāo)聲源進(jìn)行波束形成,克服了傳統(tǒng)導(dǎo)向矢量估計(jì)算法受干擾聲源影響的缺點(diǎn)。最后,通過(guò)參考麥克風(fēng)的語(yǔ)音存在概率修正相位時(shí)頻掩碼,更加準(zhǔn)確估計(jì)殘留干擾噪聲功率譜密度,經(jīng)過(guò)維納濾波器生成出最終的增強(qiáng)語(yǔ)音。以下是本文剩余部分的結(jié)構(gòu)安排:第2節(jié)將介紹麥克風(fēng)陣列噪聲消除的基本原理。第3節(jié)將重點(diǎn)介紹所提算法。第4節(jié)進(jìn)行實(shí)驗(yàn)結(jié)果描述和分析。第5節(jié)是結(jié)論。
設(shè)在同一個(gè)房間內(nèi)有M個(gè)麥克風(fēng),第m=1,2,…,M個(gè)麥克風(fēng)接收到的音頻信號(hào)xm(t)可建模為[5]:
(1)
其中,hm是目標(biāo)聲源與第m個(gè)麥克風(fēng)之間的房間沖激響應(yīng),s(t)是目標(biāo)聲源,hm,r是第r個(gè)干擾聲源與第m個(gè)麥克風(fēng)之間的房間沖激響應(yīng),ir(t)是第r個(gè)干擾聲源,r=1,2,…,R,ηm(t)是第m個(gè)麥克風(fēng)處的背景噪聲,‘*’表示卷積運(yùn)算。
式(1)可簡(jiǎn)化為:
xm(t)=hm*s(t)+νm(t)
(2)
為了克服語(yǔ)音信號(hào)非平穩(wěn)性帶來(lái)的信號(hào)估計(jì)問(wèn)題,通常將語(yǔ)音信號(hào)通過(guò)短時(shí)傅里葉變換(Short Time Fourier Transformer, STFT)轉(zhuǎn)換到時(shí)頻域進(jìn)行處理,假設(shè)房間沖激響應(yīng)是時(shí)不變的,對(duì)式(2)應(yīng)用STFT,式(2)在頻域中表示為:
X(t,k)=H(k)S(k)+V(t,k)
(3)
其中,X(t,k)=[X1(t,k),...,XM(t,k)]T,H(k)=[H1(k),...,HM(k)]T,V(t,k)=[V1(t,k),...,VM(t,k)]T,且Xm(t,k)、Hm(k)和Vm(t,k)分別是xm(t)、hm和νm(t)的STFT,t表示間索引,k表示頻率索引。Hm(k)可建模為延遲衰減模型[6]:
Hm(k)=Dm(k)=αme-jωkτm
(4)
其中,τm是第m個(gè)麥克風(fēng)與參考麥克風(fēng)m=1之間的到達(dá)時(shí)間差,ωk是頻點(diǎn)k角頻率的弧度表示。D(k)=[D1(k),...,DM(k)]T是麥克風(fēng)陣列的導(dǎo)向矢量[2]。文獻(xiàn)[7]證明最優(yōu)多通道最小均方誤差語(yǔ)音增強(qiáng)濾波器Wopt可分解為:
(5)
(6)
其中,φss和φnn分別為波束形成輸出結(jié)果中目標(biāo)信號(hào)和噪聲信號(hào)的功率譜密度。最后,目標(biāo)信號(hào)估計(jì)為:
(7)
算法的整體框架如圖1所示。
算法包含四部分:時(shí)頻掩碼估計(jì)、波束形成、干擾噪聲功率譜密度估計(jì)和單通道維納濾波。在時(shí)頻掩碼估計(jì)部分,結(jié)合多麥克風(fēng)音頻信號(hào)估計(jì)的相位時(shí)頻掩碼和參考麥克風(fēng)估計(jì)的語(yǔ)音存在概率,得到最終的時(shí)頻掩碼。在波束形成部分,通過(guò)時(shí)頻掩碼估計(jì)出導(dǎo)向矢量和噪聲協(xié)方差矩陣,基于最小方差無(wú)失真響應(yīng)對(duì)目標(biāo)信號(hào)波束形成,對(duì)干擾信號(hào)和背景噪聲進(jìn)行消除。在干擾噪聲功率譜密度估計(jì)部分,通過(guò)參考麥克風(fēng)語(yǔ)音存在概率修正的相位時(shí)頻掩碼最大似然估計(jì)出上一階段波束形成后殘留的干擾噪聲功率譜密度。在單通道維納濾波部分,通過(guò)上一階段估計(jì)的干擾噪聲功率譜密度進(jìn)一步消除波束形成輸出結(jié)果中殘留的干擾噪聲,生成增強(qiáng)語(yǔ)音。
為了克服線(xiàn)性麥克風(fēng)陣列前后指向性模糊和端射方向敏感的問(wèn)題,本文采用均勻環(huán)形麥克風(fēng)陣列,如圖2所示。設(shè)式(1)是基于均勻環(huán)形麥克風(fēng)陣列建立的模型,包含M個(gè)麥克風(fēng)。對(duì)于一個(gè)給定方向的聲源,相鄰麥克風(fēng)對(duì)表示為{mi,mi+1},最后一對(duì)麥克風(fēng)對(duì)表示為{mM,m1}。
(8)
其中,τmi→m1(φg)=τm1m2(φg)-τmimi+1(φg)為{m1,m2}麥克風(fēng)對(duì)與{mi,mi+1}麥克風(fēng)對(duì)的相對(duì)時(shí)延[9]。
麥克風(fēng)對(duì)音頻信號(hào)互相關(guān)功率譜的相位在單源區(qū)域內(nèi)估計(jì)為:
(9)
其中,*表示復(fù)共軛。
由式(8)和式(9)分別已知預(yù)設(shè)角度相位和音頻信號(hào)相位,時(shí)頻掩碼索引Icircular(t,k)可通過(guò)下式估計(jì)為:
(10)
其中,Icircular(t,k)表示時(shí)頻掩碼索引,‖·‖2表示歐氏范數(shù)。
圖1 算法噪聲消除流程
圖2 均勻環(huán)形麥克風(fēng)陣列
針對(duì)線(xiàn)性麥克風(fēng)陣列端射方向敏感的問(wèn)題,考慮到提出的環(huán)形麥克風(fēng)陣列基于相位時(shí)頻掩蔽的算法特點(diǎn),本文在式(10)的基礎(chǔ)上增加基于預(yù)設(shè)角度的權(quán)重因子,以弱化誤差較大的麥克風(fēng)對(duì)對(duì)相位的影響,強(qiáng)化誤差較小的麥克風(fēng)對(duì)對(duì)相位的影響。因此,式(10)修改為:
Icircular(t,k)
(11)
其中,權(quán)重因子Wweight(φg)定義為:
Wweight(φg)=αweightcos(φg)+βweight
(12)
其中,αweight和βweight為常數(shù),設(shè)目標(biāo)聲源來(lái)源于第g個(gè)扇區(qū),則基于相位估計(jì)的時(shí)頻掩碼Mcircular(t,k)為:
(13)
式(13)估計(jì)的時(shí)頻掩碼是依賴(lài)于不同扇區(qū)聲源的相位差異,故在目標(biāo)聲源和干擾聲源都不存在的情況下是不準(zhǔn)確的。因此,式(13)中的時(shí)頻掩碼需要依賴(lài)于參考麥克風(fēng)的語(yǔ)音存在概率進(jìn)行修正得到最終的時(shí)頻掩碼M(t,k),如式(14)所示:
(14)
其中,threshold為常數(shù),spp為基于文獻(xiàn)[10]的方法計(jì)算的參考麥克風(fēng)的語(yǔ)音存在概率,如式(15)所示:
(15)
其中,q(t,k)是先驗(yàn)語(yǔ)音不存在概率,ξ(t,k)是先驗(yàn)信噪比,γ(t,k)是后驗(yàn)信噪比。當(dāng)語(yǔ)音存在時(shí),時(shí)頻掩碼可以分離出目標(biāo)信號(hào)和干擾信號(hào);當(dāng)語(yǔ)音不存在時(shí),時(shí)頻掩碼可以分離出語(yǔ)音信號(hào)和噪聲信號(hào)。
設(shè)Mν(t,k)表示只包含干擾噪聲信號(hào)的時(shí)頻點(diǎn),Ms+ν(t,k)表示帶噪信號(hào)的時(shí)頻點(diǎn),則只包含干擾噪聲信號(hào)的協(xié)方差矩陣Rν(t,k)和帶噪信號(hào)的協(xié)方差矩陣Rs+ν(t,k)分別為:
(16)
(17)
因此,目標(biāo)語(yǔ)音的協(xié)方差矩陣表示為:
Rs(t,k)=Rs+ν(t,k)-Rν(t,k)
(18)
導(dǎo)向矢量可由目標(biāo)語(yǔ)音協(xié)方差矩陣廣義特征值分解的最大特征值對(duì)應(yīng)的特征向量估計(jì)[8]。
文獻(xiàn)[11]提出在類(lèi)廣義旁瓣消除結(jié)構(gòu)下用最大似然的方法估計(jì)波束形成后殘留的噪聲功率譜密度,取得了比單通道殘留噪聲功率譜密度估計(jì)[9]更好的效果。但是文獻(xiàn)[11]并未考慮干擾的影響,因此,本文通過(guò)上文基于參考麥克風(fēng)語(yǔ)音存在概率修正的相位時(shí)頻掩碼得到目標(biāo)語(yǔ)音存在概率,準(zhǔn)確估計(jì)出波束形成后殘留的干擾噪聲功率譜密度。
(1-α(t0,k0))X(t0,k0)X(t0,k0)H
(19)
其中,(t0,k0)表示目標(biāo)語(yǔ)音不存在時(shí)的時(shí)頻點(diǎn)索引,α(t0,k0)表示目標(biāo)語(yǔ)音存在概率,定義為:
(20)
(21)
其中,C2(t)為一個(gè)時(shí)變的比例因子。
(22)
由式(5)可得出波束形成后信號(hào)的功率譜密度為:
(23)
將式(22)、(23)代入式(6)的維納后置濾波中,可得到增強(qiáng)語(yǔ)音Y(t,k),如式(24)所示:
(24)
本節(jié)中,將提出的算法在MATLAB環(huán)境下進(jìn)行仿真實(shí)驗(yàn)。實(shí)驗(yàn)中所用的30條純凈語(yǔ)音和噪聲數(shù)據(jù)均來(lái)自CHIME4語(yǔ)音庫(kù)[12],采樣率為16 kHz,量化精度為16 bit。噪聲數(shù)據(jù)包括BUS噪聲、CAF噪聲、PED噪聲和STR噪聲。為消除混響對(duì)算法的影響,選擇低混響房間,混響時(shí)間T60在200 ms以?xún)?nèi)。環(huán)形六麥陣列原點(diǎn)位于房間中央,陣列半徑為5 cm,目標(biāo)聲源位于麥克風(fēng)陣列的0°方向,干擾聲源位于麥克風(fēng)陣列的180°方向,兩者距離麥克風(fēng)陣列原點(diǎn)都為1 m。在背景噪聲下,目標(biāo)聲源發(fā)聲,4 s之后干擾聲源發(fā)聲,12 s之后目標(biāo)聲源結(jié)束,4 s之后干擾聲源結(jié)束,4 s之后背景噪聲結(jié)束。通過(guò)MATLAB對(duì)目標(biāo)聲源、干擾聲源和背景噪聲進(jìn)行混合,信干比為0 dB的條件下信噪比分別為-5 dB、0 dB、5 dB和10 dB。增強(qiáng)算法STFT使用的幀長(zhǎng)為512個(gè)采樣點(diǎn),幀移為128個(gè)采樣點(diǎn)。
為驗(yàn)證本文所提算法的性能,本文采用經(jīng)典的基于廣義互相關(guān)相位(Generalized Cross-Correlation Phase, GCC-Phat)的延遲求和波束形成器和最優(yōu)修正對(duì)數(shù)幅度譜(Optimal Modified Log Spectral Amplitude, OMLSA)后置濾波器的麥克風(fēng)陣列噪聲消除算法為基線(xiàn)方法。為能客觀評(píng)估算法性能,本文采用感知語(yǔ)音質(zhì)量(Perceptual Evaluation of Speech Quality, PESQ)、頻域分段信噪比(Frequency Weighted Segment Signal Noise Ratio, fwsegSNR)、信號(hào)干擾比(Signal to Interference Ratio, SIR)、信號(hào)失真比(Signal to Distortion Ratio, SDR)這一系列指標(biāo)分別對(duì)原始語(yǔ)音(original)、基線(xiàn)方法(baseline)、本文所提算法(proposed)與加入多通道后置濾波的本文所提算法(proposed+multipost)的性能進(jìn)行全面衡量。
PESQ是評(píng)估語(yǔ)音主觀試聽(tīng)感受的客觀計(jì)算方法[13]。PESQ分值越高說(shuō)明其語(yǔ)音感知質(zhì)量越高。
圖3為在BUS噪聲、CAF噪聲、PED噪聲和STR噪聲環(huán)境下各算法在各信噪比條件下的平均PESQ得分結(jié)果??梢?jiàn)本文所提算法在低信噪比(-5 dB)條件下,相比基線(xiàn)方法具有顯著提升的增強(qiáng)效果,同時(shí)隨著信噪比提高(0 dB、5 dB、10 dB),通過(guò)加入多通道后置濾波,在高信噪比(5 dB、10 dB)條件下,語(yǔ)音感知質(zhì)量進(jìn)一步提高。4種噪聲條件下,STR噪聲語(yǔ)音感知質(zhì)量提升幅度相對(duì)有限,說(shuō)明所提算法在背景噪聲平穩(wěn)時(shí)的優(yōu)勢(shì)有限。
頻域分段信噪比是衡量增強(qiáng)語(yǔ)音中所含噪聲能量的常規(guī)指標(biāo),其定義式如式(25)所示:
fwsegSNR=
(25)
圖4為在BUS噪聲、CAF噪聲、PED噪聲和STR噪聲環(huán)境下,各算法在各信噪比條件下的平均fwsegSNR值??傮w上看,本文所提算法在各背景噪聲環(huán)境下表現(xiàn)的噪聲消除能力最強(qiáng),在低信噪比(-5 dB)條件下加入后置濾波后,fwsegSNR值有所下降,說(shuō)明在噪聲消除的同時(shí)去除了較多語(yǔ)音部分。在CAF噪聲、PED噪聲環(huán)境下,本文所提算法相比基線(xiàn)方法,fwsegSNR值提升最大,說(shuō)明所提算法在背景噪聲非平穩(wěn)時(shí)效果最好。
信干比是衡量算法抑制干擾聲源性能的常規(guī)指標(biāo)[14],其定義式如式(26)所示:
(26)
其中,starget為增強(qiáng)語(yǔ)音中的目標(biāo)語(yǔ)音,einterf為增強(qiáng)語(yǔ)音中的干擾語(yǔ)音。SIR值越大說(shuō)明干擾消除得越好。
圖5為在BUS噪聲、CAF噪聲、PED噪聲和STR噪聲環(huán)境下,各算法在各信噪比條件下的平均SIR值??梢?jiàn),基線(xiàn)方法對(duì)干擾幾乎沒(méi)有消除作用,而本文所提算法具有顯著的抑制干擾效果。在信干比為0 dB的條件下,本文所提算法在低信噪比(-5 dB)時(shí),抑制干擾10 dB左右;在高信噪比(10 dB)時(shí),抑制干擾20 dB左右。同時(shí),加入后置濾波后,SIR值有所提升,說(shuō)明本文提出的基于spp的后置濾波具有抑制干擾的效果。
圖4 4種背景噪聲環(huán)境下,各算法在各信噪比條件下的fwsegSNR均值
圖5 4種背景噪聲環(huán)境下,各算法在各信噪比條件下的SIR均值
圖6 4種背景噪聲環(huán)境下,各算法在各信噪比條件下的SDR均值
信號(hào)失真比是衡量算法抑制干擾過(guò)程中語(yǔ)音失真程度的常規(guī)指標(biāo)[14],其定義式如(27)所示:
(27)
其中,starget為增強(qiáng)語(yǔ)音中的目標(biāo)語(yǔ)音,einterf為增強(qiáng)語(yǔ)音中的干擾語(yǔ)音,enoise為增強(qiáng)語(yǔ)音中的噪聲分量,eartif為增強(qiáng)語(yǔ)音中的人為噪聲。SDR值越小說(shuō)明增強(qiáng)語(yǔ)音過(guò)程中語(yǔ)音失真越嚴(yán)重。
圖6為在BUS噪聲、CAF噪聲、PED噪聲和STR噪聲環(huán)境下,各算法在各信噪比條件下的平均SDR值。在低信噪比條件下(-5 dB),本文所提算法與基線(xiàn)方法相比,造成的語(yǔ)音失真更小,但隨著信噪比提高(0 dB、5 dB、10 dB),其優(yōu)勢(shì)逐漸減小。后置濾波加入后,在高信噪比(10 dB)條件下,SDR值有所下降,說(shuō)明后置濾波在抑制干擾的同時(shí)會(huì)使語(yǔ)音有一定程度的失真。
本文針對(duì)在干擾聲源和背景噪聲的環(huán)境下傳統(tǒng)波束形成和后置濾波算法難以有效實(shí)現(xiàn)噪聲消除的問(wèn)題,提出一種基于相位時(shí)頻掩蔽的麥克風(fēng)陣列噪聲消除算法。該算法利用不同聲源的相位差異和語(yǔ)音存在概率估計(jì)時(shí)頻掩碼對(duì)目標(biāo)語(yǔ)音波束形成,對(duì)干擾聲源和背景噪聲有效抑制,然后通過(guò)后置濾波進(jìn)一步抑制殘留干擾和噪聲。在4種不同噪聲以及4種不同高低信噪比環(huán)境下進(jìn)行了實(shí)驗(yàn),證明所提算法能有效提高語(yǔ)音的質(zhì)量。
在后續(xù)研究中,將考慮所提算法的實(shí)時(shí)性,同時(shí)提高現(xiàn)有算法的計(jì)算效率,減小后置濾波引起的語(yǔ)音失真,此外針對(duì)所提算法在混響環(huán)境下的適用性問(wèn)題展開(kāi)研究。