鄧俊杰,孫 超
(西北工業(yè)大學(xué) 航海學(xué)院,陜西 西安 710072)
近幾十年來(lái),語(yǔ)音增強(qiáng)技術(shù)得到了廣泛研究和發(fā)展。然而,直到今天,在實(shí)際聲場(chǎng)環(huán)境中,降低噪聲級(jí)、提高語(yǔ)音能懂度,仍然是一項(xiàng)富有挑戰(zhàn)性的任務(wù)。
基于麥克風(fēng)陣列的語(yǔ)音增強(qiáng)技術(shù),充分利用了信號(hào)的空域信息,相比僅利用信號(hào)時(shí)域信息的單通道語(yǔ)音增強(qiáng)算法,能獲得令人更加滿意的改善效果,被廣泛應(yīng)用于電視電話會(huì)議、語(yǔ)音識(shí)別、語(yǔ)音增強(qiáng)、助聽(tīng)器等設(shè)備中。迄今為止,人們已經(jīng)提出了許多基于麥克風(fēng)陣列的語(yǔ)音增強(qiáng)算法,典型的如延時(shí)-求和波束形成、最小方差無(wú)失真響應(yīng)(MVDR)波束形成、自適應(yīng)波束形成(ABF)等。在眾多算法中,Griffiths–Jim于1982年提出的廣義旁瓣相消器(GJGSC)[1],因其結(jié)構(gòu)簡(jiǎn)單、易于實(shí)現(xiàn),成為了自適應(yīng)波束形成中最經(jīng)典也是目前使用最廣泛的一種語(yǔ)音增強(qiáng)算法。
但是,GJGSC也有其缺點(diǎn)。其一,它能夠有效消除相干噪聲,對(duì)非相干噪聲(如高斯白噪聲)或弱相關(guān)噪聲(如散射噪聲)卻無(wú)能為力。為此,Zelinski[2]提出基于維納(Wiener)濾波的多通道后置濾波器,Marro等人[3]對(duì)Zelinski后置濾波器進(jìn)行了深入研究,指出該濾波器的傳輸函數(shù)可由輸入信號(hào)的自相關(guān)和互相關(guān)功率譜獲得,從而使得Zelinski后置濾波器在多通道語(yǔ)音增強(qiáng)中得到普遍運(yùn)用;其二,GJGSC往存在語(yǔ)音信號(hào)對(duì)消現(xiàn)象,即產(chǎn)生了語(yǔ)音泄漏,人們?yōu)榇颂岢隽硕喾N穩(wěn)健算法[4],改善了GSC在實(shí)際應(yīng)用中的性能。
文中將DFT調(diào)制子帶濾波器組同GSC相結(jié)合對(duì)語(yǔ)音信號(hào)進(jìn)行子帶濾波,不僅可以降低運(yùn)算量并且可以獲得更好的去噪效果。同時(shí),算法將噪聲相關(guān)函數(shù)應(yīng)用于Wiener后置濾波器,從而更加有效地去除了GSC輸出語(yǔ)音中殘留的噪聲。文中首先簡(jiǎn)單介紹了麥克風(fēng)陣列中廣泛采用的廣義旁瓣器(GSC)以及基于DFT調(diào)制子帶濾波器組,隨后對(duì)本文所提的語(yǔ)音增強(qiáng)算法作了較為詳細(xì)的敘述,最后以實(shí)驗(yàn)數(shù)據(jù)對(duì)該算法進(jìn)行測(cè)試,并得出結(jié)論。
圖1 所示為子帶濾波器組的結(jié)構(gòu)框圖,Hk(z)=0,1,…,K-1稱為分析濾波器組,Gk(z)=0,1,…K-1 稱為合成濾波器組,↑D和↓D分別是上、下采樣器。因?yàn)榇嬖诓蓸勇实淖兓?,子帶濾波器組也稱為多速率數(shù)字濾波器組。
子帶濾波的基本思想是將輸入的全帶信號(hào)進(jìn)行頻帶劃分,得到位于不同頻帶上的子帶信號(hào),對(duì)其下采樣后再進(jìn)行子帶濾波處理,最后對(duì)濾波后的信號(hào)上采樣并進(jìn)行子帶信號(hào)重構(gòu)。對(duì)于一個(gè)自適應(yīng)濾波算法,設(shè)全帶濾波完成一次迭代的運(yùn)算量為 o(lp)或 o(lp2),由于以較低的速度更新較少的系數(shù),相應(yīng)的子帶濾波運(yùn)算量為全帶的K/D2或K/D3其中,lp為濾波器長(zhǎng)度。
圖1 子帶濾波器結(jié)構(gòu)框圖Fig.1 Sub-band filter structur
文獻(xiàn)[5]提出了一種基于DFT調(diào)制濾波器組的高效實(shí)現(xiàn)算法,該算法在允許濾器組存在相位畸變的前提下,通過(guò)獨(dú)立地最小化各個(gè)混迭成份的幅度,從而使得混迭畸變達(dá)到最小。根據(jù)該算法,得到如圖2所示的子帶分析濾波器組的幅頻響應(yīng)。其參數(shù)設(shè)置如下:濾波器長(zhǎng)度lp=128,子帶數(shù)K=16,采樣因子D=8。由圖可知,經(jīng)該方法得到的濾波器組具有相同的主瓣級(jí),且用較少的濾波器抽頭數(shù),即可達(dá)到較低的旁瓣級(jí)(低于-80 dB)。另外,文獻(xiàn)[10]已經(jīng)證明,由該方法得到的分析-合成濾波器組處理后信號(hào)其畸變量(包括混疊畸變、幅度畸變和相位畸變)將能夠得到有效的控制和降低。
圖2 分析濾波器組幅頻響應(yīng)Fig.2 Amplitude-frequency response of the analysis filter bank
基于收斂速度和去噪效果的考慮,本文提出了的基于子帶GSC的語(yǔ)音增強(qiáng)算法,其原理如圖3所示。將固定波束形成器(FBF)和阻塞矩陣(BM)的輸出進(jìn)行子帶分解,然后將下采樣后的子帶信號(hào)送入自適應(yīng)噪聲對(duì)消器(ANC)進(jìn)行子帶濾波,最后將處理后的信號(hào)上采樣后通過(guò)子帶合成濾波器,得到增強(qiáng)后的語(yǔ)音。為了去除增強(qiáng)后語(yǔ)音中的非相干噪聲成份,提高語(yǔ)音質(zhì)量,框圖中加入了Wiener后置濾波器。同時(shí),為了降低增強(qiáng)后語(yǔ)音的失真,算法中加入語(yǔ)音活性檢測(cè)(VAD)用來(lái)標(biāo)識(shí)語(yǔ)音幀的成份類(lèi)型,并僅在噪聲幀(VAD=0)時(shí)執(zhí)行Wiener后置濾波。
設(shè)由M個(gè)麥克風(fēng)組成的均勻線列陣接收到的語(yǔ)音信號(hào)經(jīng)延時(shí)估計(jì)和補(bǔ)償后為 xm(n),m=0,1,…,M-1,GSC 的主輸入采用簡(jiǎn)單波束形成方法:
BM的輸出為:
圖3 系統(tǒng)框圖Fig.3 System structure
將 d(n)和 b(n)進(jìn)行子帶分解后的信號(hào),分別作為ANC的主輸入和參考輸入,通過(guò)自適應(yīng)濾波算法,從主輸出中減去與參考輸入相關(guān)的成份,則可得到增強(qiáng)后的子帶語(yǔ)音信號(hào)。
考慮到BM信號(hào)存在語(yǔ)音泄漏,采用傳統(tǒng)LMS算法的GSC(GJGSC)將在語(yǔ)音輸出端產(chǎn)生失真,且泄漏越多,失真越大。本文采用范數(shù)約束自適應(yīng)濾波(NCAF)算法[4],該算法通過(guò)對(duì)ANC的權(quán)值系數(shù)向量二范數(shù)進(jìn)行約束,可以有效減小目標(biāo)語(yǔ)音的對(duì)消發(fā)生,降低增強(qiáng)后語(yǔ)音的失真度。
令 dk(n)和 uk,m(n)分別為 d(n)和 b(n)經(jīng)分解得到的子帶信號(hào)(k=0,1,…,K-1,m=0,1,…,M-2)。 則第 k 個(gè) ANC 第 i次迭代的輸出為:
L為ANC抽頭個(gè)數(shù)
NCAF的權(quán)值迭代公式為:
β為迭代步長(zhǎng),Q為一閾值常數(shù)。
傳統(tǒng)的多通道Wiener濾波器,假定聲場(chǎng)環(huán)境為非相干噪聲場(chǎng),這種情況在實(shí)際中很少遇到。文中將噪聲相干函數(shù)引入Wiener濾波器中,能夠更加有效去除經(jīng)GSC濾波后語(yǔ)音中的殘留噪聲。
通道 i和 j(i≠j)之(間的噪聲相干函數(shù)定義為[6]:
假定語(yǔ)音和噪聲不相關(guān),且語(yǔ)音和噪聲在各通道上的自譜密度相等,則可得下式:
從以上兩式可得語(yǔ)音自譜密度的估計(jì)值為:
將φ?ss代入Wiener濾波器表達(dá)式中,可得濾波器傳輸函數(shù)為:
為了測(cè)量噪聲相干函數(shù),算法中加入了語(yǔ)音活性檢測(cè)(VAD)[7],并僅在噪聲幀(VAD=0)執(zhí)行后置濾波操作,后置濾波僅在噪聲幀進(jìn)行也可以減少增強(qiáng)后語(yǔ)音的失真。
文中仿真數(shù)據(jù)取自卡內(nèi)基·梅隆大學(xué)(CMU)實(shí)測(cè)麥克風(fēng)陣列語(yǔ)音數(shù)據(jù)庫(kù)[8],該語(yǔ)音庫(kù)使用由15個(gè)麥克風(fēng)組成的線性嵌套式陣列,其中8號(hào)陣元為整個(gè)陣列的對(duì)稱中心,聲源即位于該陣元的正前方。該嵌套陣列排列方式為(假定陣元最小間距為d,9-16號(hào)陣元的排列方式可由對(duì)稱得知):1、2號(hào)陣元間距為 4d,2、3、4號(hào)陣元間距為2d,4-8號(hào)陣元間距為d。錄音在一嘈雜的實(shí)驗(yàn)室內(nèi)進(jìn)行,為了獲取參考語(yǔ)音,一頭戴式麥克風(fēng)位于聲源近點(diǎn)。麥克風(fēng)陣列選用由第5-11號(hào)陣元所組成的標(biāo)準(zhǔn)線列陣,并使用數(shù)據(jù)庫(kù)中的an101-mtmsarrC3A組語(yǔ)音數(shù)據(jù),聲源到陣列中心的距離為3 m,陣元間距4 cm,數(shù)據(jù)采樣率為16 kHz。參考語(yǔ)音與8號(hào)陣元上的語(yǔ)音波形如圖5所示。
圖4 參考語(yǔ)音與加噪語(yǔ)音波形圖Fig.4 Reference speech and noisy speech
采用分段信噪比(SegSNR)來(lái)評(píng)價(jià)語(yǔ)音的客觀質(zhì)量,它可以衡量語(yǔ)音時(shí)域波形的失真程度,其與主觀測(cè)試之間的相關(guān)系數(shù)為0.77,遠(yuǎn)高于一般信噪比的相關(guān)系數(shù)0.24。經(jīng)計(jì)算,加噪語(yǔ)音的SegSNR約7.124 7 dB。
圖5為采全帶GSC與子帶GSC增強(qiáng)后語(yǔ)音的波形圖,經(jīng)全帶GSC增強(qiáng)后語(yǔ)音的SegSNR為12.669 4 dB,經(jīng)子帶增強(qiáng)后語(yǔ)音的SegSNR為13.694 8 dB,SegSNR提高了1 dB。仿真中,基于全帶的GSC經(jīng)過(guò)大約2000次收斂,而基于子帶的GSC經(jīng)過(guò)1000次就已收斂,收斂速度提高了一倍。
圖5 全帶GSC與子帶GSC增強(qiáng)后語(yǔ)音波形Fig.5 Enhanced speech with full band GSC and sub-band GSC
圖6為采用Zelinski后置濾波器與使用文中所用后置濾波器增強(qiáng)后語(yǔ)音的波形圖,其分別SegSNR為13.917 3 dB和16.951 8 dB,SegSNR獲得了3 dB提升。若噪聲的為已知,即Γ已知,則其改善將得到進(jìn)一步提升。
圖6 不同后置濾波器時(shí)增強(qiáng)語(yǔ)音波形Fig.6 Enhanced speech with different pos-filter
文中提出了一種基于子帶濾波的GSC語(yǔ)音增強(qiáng)算法,并應(yīng)用了改進(jìn)的Wiener后置濾波方法,達(dá)到更好的去噪效果。在噪聲場(chǎng)未知時(shí),需通過(guò)VAD檢測(cè)并僅在噪聲幀內(nèi)進(jìn)行Wiener后置濾波,故此時(shí)算法在很大程度上依賴于VAD的檢測(cè)精度(精度越低則增強(qiáng)后語(yǔ)音失真越大)。在實(shí)際聲場(chǎng)中(比如室內(nèi)環(huán)境),一般可以先在沒(méi)有語(yǔ)音的情況下獲得噪聲相干函數(shù),然后運(yùn)用此算法進(jìn)行語(yǔ)音增強(qiáng)。此時(shí),則不再需要VAD檢測(cè)并且能夠得到更好去噪效果。
[1]Griffiths L J,Jim C W.An alternative approach to linearly constrained adaptive beamforming[J].IEEE Bans.Antennas Propag,1982(30):27-34.
[2]Zelinski R.A microphone array with adaptive post-filtering for noise reduction in reverberant rooms[J].Proc.of ICASSP-88,1988(5):2578-2581.
[3]Marro C C,Mahieux Y Y,Simmer K U,et al.Analysis of noise reduction and dereverberation techniques based on microphone arrays with postfiltering[J].IEEE Trans.Speech Audio Process,1998(6):240-259.
[4]Hoshuyama O,Sugiyama A,Hirano A.A robust adaptive beamformer for microphone arrays with a blocking matrix using constrained adaptive filters[J].Signal Processing,IEEE Transactionson,1999,47(10):2677-2684.
[5]de Haan,J M,Grbic N,et al.Filter bank design for subband adaptive microphone arrays[J].Speech and Audio Processing,IEEE Transactions,2003,11(1):14-23.
[6]McCowan I A,Bourlard H.Microphone array post-filter based onnoisefieldcoherence[J].SpeechandAudioProcessing,IEEE Transactions,2003,11(6):709-716.
[7]王月,曲百達(dá),李金寶,等.一種改進(jìn)的基于頻帶方差的端點(diǎn)檢測(cè)算法 [C]//中國(guó)控制與決策學(xué)術(shù)年會(huì)論文集,2007:301-303.
[8]Tom Sullivan.CMU Microphon array Database[EB/OL].(1996).Http://www.speech.cs.cmu.edu/databases/micarray/cmu_tms_multimic.tar.gz.