馮 謙 余 勤 雒瑞森* 黃天淏
1(四川大學(xué)電氣工程學(xué)院 四川 成都 610041)2(桂林電子科技大學(xué)自動(dòng)化學(xué)院 廣西 桂林 541004)
噪聲污染會(huì)使語(yǔ)音中的有用信息被湮沒(méi),嚴(yán)重影響語(yǔ)音質(zhì)量和可懂度。語(yǔ)音增強(qiáng)技術(shù)[1]就是在盡量減少失真的前提下抑制噪聲、改善語(yǔ)音質(zhì)量的技術(shù)。目前的語(yǔ)音增強(qiáng)方法主要基于短時(shí)譜幅度估計(jì)法、語(yǔ)音參數(shù)模型法、聽(tīng)覺(jué)場(chǎng)景分析法等[2-3]。其中MMSE-LSA是基于統(tǒng)計(jì)特性的最優(yōu)短時(shí)譜幅度估計(jì)器[4],故本文采用MMSE-LSA譜估計(jì)算法進(jìn)行進(jìn)一步研究。
MMSE-LSA算法基于語(yǔ)音活動(dòng)檢測(cè)(Voice Activity Detection,VAD)[5],利用語(yǔ)音和噪聲統(tǒng)計(jì)特性的先驗(yàn)知識(shí)對(duì)帶噪語(yǔ)音幀進(jìn)行噪聲幀和語(yǔ)音幀的判決,只在噪聲幀來(lái)更新噪聲估計(jì),對(duì)語(yǔ)音幀則延續(xù)過(guò)去的噪聲譜估計(jì),再在最小均方誤差準(zhǔn)則下估計(jì)出譜增益函數(shù),進(jìn)而重構(gòu)純凈語(yǔ)音。MMSE-LSA算法由于使用經(jīng)驗(yàn)閾值來(lái)判決噪聲幀和語(yǔ)音幀,存在較大誤差,容易出現(xiàn)噪聲過(guò)估計(jì)和欠估計(jì),使增強(qiáng)語(yǔ)音失真和噪聲殘留問(wèn)題嚴(yán)重。文獻(xiàn)[6]引入了短時(shí)能量結(jié)合譜平坦度進(jìn)行雙門(mén)限判決的方法,對(duì)帶噪語(yǔ)音段進(jìn)行有無(wú)語(yǔ)音的劃分,再在無(wú)語(yǔ)音段更新噪聲估計(jì),提高了噪聲估計(jì)的準(zhǔn)確性。文獻(xiàn)[7]通過(guò)給增益函數(shù)添加約束條件,一定程度上解決譜增益過(guò)估計(jì)和欠估計(jì)引起的語(yǔ)音失真和噪聲殘留問(wèn)題,進(jìn)一步提高M(jìn)MSE-LSA算法語(yǔ)音增強(qiáng)效果。文獻(xiàn)[8]中MMSE-LSA譜估計(jì)器采用基于最小值控制遞歸平均(Minima Controlled Recursive Averaging,MCRA)算法,利用連續(xù)最小值跟蹤得到初步噪聲估計(jì),再利用過(guò)去的噪聲譜估計(jì)和當(dāng)前幀的帶噪語(yǔ)音功率譜的加權(quán)和作為當(dāng)前幀的噪聲估計(jì),權(quán)重由先驗(yàn)信噪比或語(yǔ)音存在概率[9]決定。由于其語(yǔ)音存在概率由先驗(yàn)的語(yǔ)音存在和不存在的概率決定,仍然存在一定的噪聲估計(jì)誤差,使MMSE-LSA語(yǔ)音增強(qiáng)性能受限。文獻(xiàn)[10]引入了短時(shí)能量和譜熵來(lái)組成能熵比,利用能熵比進(jìn)行語(yǔ)音存在概率的估計(jì),再結(jié)合譜減法進(jìn)行語(yǔ)音增強(qiáng),該方法能有效減小噪聲估計(jì)誤差,提高語(yǔ)音信噪比,但在非平穩(wěn)環(huán)境下其仍然存在一定程度的噪聲殘留和語(yǔ)音失真問(wèn)題。
針對(duì)以上情況,本文在文獻(xiàn)[10]基礎(chǔ)上提出一種基于改進(jìn)噪聲估計(jì)的MMSE-LSA語(yǔ)音增強(qiáng)算法。具體思想是:(1) 對(duì)帶噪語(yǔ)音進(jìn)行分幀、加窗處理,再對(duì)其做短時(shí)傅里葉變換,求出帶噪語(yǔ)音的幅度譜和相角;(2) 計(jì)算出帶噪語(yǔ)音的對(duì)數(shù)能量和譜熵,構(gòu)建出新的語(yǔ)音特征參數(shù)能熵比;(3) 根據(jù)能熵比和語(yǔ)音存在概率的性質(zhì)可知,能熵比和語(yǔ)音存在概率成正比關(guān)系,由此可以建立它們之間的數(shù)學(xué)關(guān)系模型,即可得到語(yǔ)音存在概率估計(jì)值;(4) 對(duì)估計(jì)出的語(yǔ)音存在概率進(jìn)行平滑,利用平滑后的語(yǔ)音存在概率來(lái)更新噪聲功率譜估計(jì);(5) 計(jì)算出先驗(yàn)信噪比從而得到譜增益估計(jì),再給增益函數(shù)添加一個(gè)約束閾值;(6) 利用MMSE-LSA譜估計(jì)器對(duì)帶噪語(yǔ)音進(jìn)行語(yǔ)音增強(qiáng)。本文采用多種常見(jiàn)噪聲進(jìn)行仿真實(shí)驗(yàn),再使用真實(shí)廣播信號(hào)進(jìn)行驗(yàn)證,結(jié)果證明在多種噪聲和復(fù)雜混噪環(huán)境下,本文算法能更準(zhǔn)確地跟蹤噪聲變化,減少噪聲殘留和語(yǔ)音失真,改善語(yǔ)音質(zhì)量。
假定y(n)是y(n)輸入的帶噪語(yǔ)音,s(n)s(n)是干凈語(yǔ)音,d(n)d(n)是噪聲信號(hào),則帶噪語(yǔ)音模型為:
y(n)=s(n)+d(n)
(1)
由于語(yǔ)音是非平穩(wěn)信號(hào),其在整個(gè)時(shí)域內(nèi)是變化的,而我們認(rèn)為其在短時(shí)內(nèi)可看作性質(zhì)平穩(wěn),因此在語(yǔ)音增強(qiáng)前通常需要先對(duì)帶噪語(yǔ)音信號(hào)y(n)進(jìn)行分幀、加窗等預(yù)處理,得到信號(hào)yi(m),i表示第i幀。再對(duì)預(yù)處理后的yi(m)做短時(shí)傅里葉變換,得到第i幀帶噪語(yǔ)音幅度譜Yi(ωk)和相位θy。由于干凈語(yǔ)音的相位不好計(jì)算,利用人耳對(duì)相位不敏感的特點(diǎn),可以直接用原始帶噪語(yǔ)音的相位θy作為增強(qiáng)語(yǔ)音的相位估計(jì),再通過(guò)反傅里葉變換可以得到增強(qiáng)后的語(yǔ)音信號(hào),故我們只對(duì)純凈語(yǔ)音幅度譜進(jìn)行估計(jì)。
假設(shè)噪聲和語(yǔ)音相互獨(dú)立,則可以對(duì)式(1)兩邊同時(shí)做短時(shí)傅里葉變換,得到:
Y(ωk)ejθy=S(ωk)ejθs+D(ωk)ejθd
(2)
假設(shè)H0(ωk)和H1(ωk)分別表示語(yǔ)音不存在和語(yǔ)音存在兩種狀態(tài),則概率密度函數(shù)分別為:
p(Y(ωk)|H0(ωk))=
假設(shè)各個(gè)頻率分量獨(dú)立,基于上述最小化目標(biāo)函數(shù)和概率密度函數(shù),可最終得到優(yōu)化的MMSE幅度譜估計(jì)器[11]:
式中:εk是先驗(yàn)信噪比,即第k個(gè)頻譜分量的實(shí)際信噪比;γk為后驗(yàn)信噪比,即加入噪聲后第k個(gè)頻譜分量測(cè)量的信噪比。εk和γk數(shù)學(xué)表達(dá)式分別為:
Vk定義為:
由此可以對(duì)MMSE-LSA譜估計(jì)器的增益函數(shù)做如下定義:
至此,本文先采用改進(jìn)的噪聲估計(jì)方法估計(jì)出噪聲功率譜,再由帶噪語(yǔ)音功率譜和噪聲功率譜估計(jì)求出后驗(yàn)信噪比γk,使用判決引導(dǎo)法[12]估計(jì)出先驗(yàn)信噪比εk:
式中:η是平滑系數(shù),一般取0.98。
MMSE-LSA算法譜增益的理想取值范圍介于0到1之間。譜增益的過(guò)估計(jì)容易抵消掉弱語(yǔ)音,造成語(yǔ)音信息的丟失,譜增益的欠估計(jì)又會(huì)使噪聲殘留過(guò)量,影響語(yǔ)音信噪比。因此,本文通過(guò)給MMSE-LSA譜增益添加一個(gè)門(mén)限閾值來(lái)約束增益取值范圍,約束譜增益如下:
式中:ε0為先驗(yàn)信噪比閾值;Gfloor為常數(shù),通過(guò)實(shí)驗(yàn)取0.01。本文算法的整體框架如圖1所示。
圖1 本文算法整體框架
在非平穩(wěn)環(huán)境下,MMSE-LSA算法存在較大的噪聲跟蹤時(shí)延,導(dǎo)致噪聲估計(jì)值過(guò)高或過(guò)低。噪聲估計(jì)值過(guò)高會(huì)造成帶噪語(yǔ)音的過(guò)抵消,語(yǔ)音失真嚴(yán)重;噪聲估計(jì)值過(guò)低會(huì)造成語(yǔ)音的噪聲殘留過(guò)多,影響人耳舒適度。因此,本文改進(jìn)噪聲估計(jì)方法,提高噪聲估計(jì)的準(zhǔn)確性。
本文算法的噪聲估計(jì)基于時(shí)間遞歸平均的噪聲功率譜估計(jì)思想,利用上一幀噪聲功率譜估計(jì)與當(dāng)前幀帶噪語(yǔ)音功率譜的加權(quán)和來(lái)更新當(dāng)前幀的噪聲功率譜,其中噪聲譜估計(jì)的平滑因子由語(yǔ)音存在概率來(lái)決定,具體表達(dá)式如下:
能熵比是對(duì)數(shù)能量和譜熵的比值[13],常被用于語(yǔ)音端點(diǎn)檢測(cè)中,當(dāng)其大于門(mén)限閾值,則將當(dāng)前幀判為語(yǔ)音幀,反之則判為噪聲幀。本文將利用能熵比進(jìn)行語(yǔ)音端點(diǎn)檢測(cè)延伸到估計(jì)語(yǔ)音存在概率上,由能熵比和語(yǔ)音存在概率的性質(zhì)來(lái)建立能熵比與語(yǔ)音存在概率的關(guān)系模型,從而進(jìn)行更準(zhǔn)確的噪聲更新。
3.2.1對(duì)數(shù)能量
語(yǔ)音段的短時(shí)能量通常明顯大于無(wú)語(yǔ)音段,短時(shí)能量就是基于這一先驗(yàn)知識(shí)來(lái)對(duì)當(dāng)前語(yǔ)音段進(jìn)行判決,假設(shè)經(jīng)分幀加窗后第i幀的帶噪語(yǔ)音信號(hào)為yi(m),則該幀的短時(shí)能量為:
式中:N為幀長(zhǎng)。進(jìn)一步改進(jìn)能量計(jì)算[14]:
LE(i)=log10(1+E(i)/a)
(15)
式中:a是一個(gè)常數(shù),能夠使E(i)有劇烈波動(dòng)時(shí)在LE(i)中得到緩和,適當(dāng)選擇a可以使純?cè)肼暥魏蛶г胝Z(yǔ)音段的區(qū)別更明顯,本文中a取2.1。
3.2.2譜 熵
譜熵是用來(lái)描述語(yǔ)音平坦度的量,對(duì)有語(yǔ)音段,能量變化大,熵值越低;在無(wú)語(yǔ)音段,能量變化小,熵值越高。設(shè)含噪語(yǔ)音信號(hào)加窗分幀后的第i幀語(yǔ)音信號(hào)為yi(m),經(jīng)傅里葉變換后,設(shè)第k個(gè)頻率分量的功率譜為Yi2(ωk),則每個(gè)頻率分量的歸一化概率密度函數(shù)為:
則每個(gè)分析幀的譜熵[14]為:
3.2.3能熵比與語(yǔ)音存在概率的關(guān)系
由前面的分析可知,能熵比越高,語(yǔ)音存在概率越大;能熵比越低,語(yǔ)音存在概率越小。因此二者成正比關(guān)系。令Wi(ωk)為能熵比,則其表達(dá)式[13]為:
可將能熵比與語(yǔ)音存在概率的關(guān)系估計(jì)為:
控制b取值不變,改變a的取值,得到能熵比與語(yǔ)音存在概率的關(guān)系曲線如圖2所示,可以看出a取值越大,語(yǔ)音存在概率估計(jì)值隨著能熵比增長(zhǎng)越快,在能熵比足夠大時(shí)語(yǔ)音存在概率估計(jì)值接近于1。
圖2 能熵比與語(yǔ)音存在概率的關(guān)系曲線
最后對(duì)估計(jì)出的語(yǔ)音存在概率進(jìn)行遞歸平滑,其平滑形式如下:
為了驗(yàn)證本文所提出的改進(jìn)MMSE-LSA算法的性能,將傳統(tǒng)MMSE-LSA算法、文獻(xiàn)[8]基于最小值控制的遞歸平均算法、文獻(xiàn)[10]基于改進(jìn)語(yǔ)音存在概率估計(jì)的自適應(yīng)噪聲跟蹤算法作為對(duì)比算法,分別使用TIMIT和NOISEX-92中的語(yǔ)料和噪聲按不同的信噪比混合來(lái)模擬多種噪聲環(huán)境,對(duì)比經(jīng)每種算法處理后語(yǔ)音的信噪比、語(yǔ)音感知質(zhì)量評(píng)估分?jǐn)?shù),同時(shí)結(jié)合語(yǔ)音波形進(jìn)行比較,分析算法的增強(qiáng)效果。為驗(yàn)證本文算法對(duì)現(xiàn)實(shí)中復(fù)雜混噪語(yǔ)音的處理能力,采用廣播信號(hào)進(jìn)行實(shí)驗(yàn),先對(duì)廣播語(yǔ)音做語(yǔ)音增強(qiáng),再使用項(xiàng)目已有的離線頻譜管控系統(tǒng)來(lái)進(jìn)行語(yǔ)音識(shí)別測(cè)試,對(duì)比各種算法處理后語(yǔ)音的識(shí)別率,可用來(lái)驗(yàn)證本文算法對(duì)解決實(shí)際語(yǔ)音增強(qiáng)問(wèn)題的可行性。
從TIMIT語(yǔ)料庫(kù)中選擇5男5女共200條錄音作為初始純凈語(yǔ)料,噪聲源使用NOISEX-92數(shù)據(jù)庫(kù)中的white噪聲、babble噪聲、F16和factory噪聲。語(yǔ)音信號(hào)的采樣率為16 kHz,幀長(zhǎng)為512,幀間重疊50%,添加漢明窗。按-5 dB、0 dB、5 dB、10 dB這四種信噪比將噪聲分別和每條純凈語(yǔ)音相加,得到200條含噪語(yǔ)音。
以平均輸出信噪比SNR作為客觀評(píng)價(jià)指標(biāo),語(yǔ)音感知質(zhì)量評(píng)估(Perceptaul Evalution of Speech Quality,PESQ)作為主觀評(píng)價(jià)指標(biāo),SNR表達(dá)式如下:
仿真實(shí)驗(yàn)中使用white噪聲模擬平穩(wěn)環(huán)境,其他噪聲模擬非平穩(wěn)環(huán)境,實(shí)驗(yàn)結(jié)果如表1所示。可以看出,不管是在平穩(wěn)環(huán)境還是非平穩(wěn)環(huán)境下,本文算法的輸出信噪比SNR、PESQ分?jǐn)?shù)表現(xiàn)都是最優(yōu),說(shuō)明本文算法能較好地跟蹤噪聲變化,有效抑制噪聲,改善語(yǔ)音質(zhì)量,且能適應(yīng)于多種噪聲環(huán)境。
表1 輸出信噪比SNR和PESQ分?jǐn)?shù)
任選一條純凈語(yǔ)料,圖3(a)為該條純凈語(yǔ)料的波形圖,圖3(b)為加入信噪比為5 dB的babble噪聲后的帶噪語(yǔ)音的波形圖,圖3(c)為經(jīng)過(guò)文獻(xiàn)[8]算法增強(qiáng)后的語(yǔ)音波形圖,圖3(d)為經(jīng)過(guò)文獻(xiàn)[10]算法增強(qiáng)后的語(yǔ)音波形圖,圖3(e)為經(jīng)過(guò)本文算法增強(qiáng)后的語(yǔ)音波形圖。可以看出,圖3(c)殘留噪聲多,去噪能力有限;而圖3(d)去噪能力強(qiáng)但會(huì)造成削波,導(dǎo)致語(yǔ)音音質(zhì)受損;圖3(e)顯示本文算法具有較強(qiáng)的去噪能力,且能一定程度上抑制語(yǔ)音失真。
(a) 純凈語(yǔ)音
(b) 帶噪語(yǔ)音
(d) 文獻(xiàn)[10]算法
(e) 本文算法圖3 各算法波形圖
為驗(yàn)證本文算法對(duì)真實(shí)混噪信號(hào)的增強(qiáng)性能,由于廣播信號(hào)隨機(jī)混有多種未知噪聲、背景音復(fù)雜,適合作為實(shí)驗(yàn)對(duì)象。采用無(wú)線電信號(hào)接收器定點(diǎn)采集本地區(qū)某頻段廣播語(yǔ)音,切分成每條20 s以內(nèi)的短音頻,進(jìn)行人工初篩分類(lèi)后組成廣播短語(yǔ)音數(shù)據(jù)集,采樣率為16 kHz,16位量化。從數(shù)據(jù)集中隨機(jī)抽取100條廣播樣本做語(yǔ)音增強(qiáng)處理,使用項(xiàng)目已有的離線頻譜管控系統(tǒng)對(duì)增強(qiáng)前后的廣播語(yǔ)音進(jìn)行語(yǔ)音識(shí)別測(cè)試,以平均語(yǔ)音識(shí)別率[15]作為評(píng)價(jià)指標(biāo),圖4為采用不同算法增強(qiáng)后的波形圖對(duì)比,圖5為語(yǔ)音識(shí)別率對(duì)比。
(a) 原始廣播語(yǔ)音
(b) 文獻(xiàn)[10]算法
(c) 本文算法圖4 不同算法增強(qiáng)后的波形圖
圖5 廣播語(yǔ)音識(shí)別率
由圖4可以看出,對(duì)真實(shí)廣播語(yǔ)音信號(hào),本文算法能有效抑制其背景噪聲,改善語(yǔ)音質(zhì)量,本文算法對(duì)處理現(xiàn)實(shí)環(huán)境中復(fù)雜混噪語(yǔ)音問(wèn)題有一定參考價(jià)值。
由圖5可以看出,原始廣播語(yǔ)音的語(yǔ)音識(shí)別率為0.4左右,經(jīng)過(guò)本文算法增強(qiáng)后語(yǔ)音識(shí)別率能達(dá)到0.78,提高了0.38,說(shuō)明在處理復(fù)雜混噪語(yǔ)音時(shí),本文算法能在抑制噪聲的基礎(chǔ)上較好地保留話語(yǔ)完整性,減少語(yǔ)音信息丟失,有效提高語(yǔ)音的可懂度。同時(shí),從主觀試聽(tīng)感受來(lái)說(shuō),增強(qiáng)前的廣播信號(hào)背景嘈雜、有部分字詞被噪聲淹沒(méi),還伴隨有隨機(jī)尖峰聲,而經(jīng)語(yǔ)音增強(qiáng)處理后廣播信號(hào)的人耳舒適度大大提高,特別是本文算法處理后音質(zhì)有了明顯改善,基本不影響對(duì)廣播語(yǔ)音內(nèi)容的理解。
本文針對(duì)MMSE-LSA算法對(duì)非平穩(wěn)語(yǔ)音的噪聲估計(jì)不夠準(zhǔn)確、導(dǎo)致語(yǔ)音增強(qiáng)性能受限的問(wèn)題,引入能熵比參數(shù)來(lái)估計(jì)語(yǔ)音存在概率,再利用平滑后的語(yǔ)音存在概率來(lái)更新噪聲估計(jì);同時(shí)添加一個(gè)地板閾值來(lái)約束譜增益,緩解譜增益欠估計(jì)引起的語(yǔ)音失真。經(jīng)多種噪聲仿真實(shí)驗(yàn)和真實(shí)廣播信號(hào)驗(yàn)證,本文算法能較好地跟蹤噪聲變化,減小噪聲估計(jì)的誤差,有效抑制噪聲和減小語(yǔ)音失真,提高語(yǔ)音可懂度。