劉雅琴, 甘文麗
(洛陽師范學(xué)院 信息技術(shù)學(xué)院, 河南 洛陽 471934)
語音增強(qiáng)是從帶噪語音信號(hào)或者受干擾信號(hào)中提取出純凈的原始語音。隨著語音識(shí)別和語音通信技術(shù)的發(fā)展,語音增強(qiáng)廣泛應(yīng)用于各種受到噪聲污染影響語音質(zhì)量環(huán)境中。由于噪聲來源眾多,隨應(yīng)用場合不同,其特性也各不相同,因而難以找出一種通用的語音增強(qiáng)算法適用于各種噪聲環(huán)境。必須針對(duì)不同噪聲,采取不同的語音增強(qiáng)算法。常用的語音增強(qiáng)方法有:濾波器法[1]、譜減法、子空間法、小波變換法和神經(jīng)網(wǎng)絡(luò)等[2-3],上個(gè)世紀(jì)70年代后期產(chǎn)生的譜減法,具有算法簡單,處理寬帶噪聲效果明顯的特點(diǎn),成為單通道噪聲處理中常用增強(qiáng)技術(shù)[4]。
本文從理論上分析基本譜減法,并給出功率譜減法的實(shí)現(xiàn)步驟,在此基礎(chǔ)上為了減少譜估計(jì)的誤差,引入噪聲譜估計(jì)系數(shù)a。在Matlab平臺(tái)上,對(duì)加入高斯白噪聲的帶噪語音信號(hào)使用該算法進(jìn)行降噪處理,并對(duì)不同信噪比的情況做對(duì)比研究。
譜減法是常用的語音增強(qiáng)算法,其核心思想[5]:首先對(duì)帶噪語音信號(hào)進(jìn)行傅里葉變換,得到相應(yīng)的幅值和相位譜,計(jì)算帶噪語音信號(hào)的功率譜和噪聲信號(hào)的功率譜;第二,將帶噪語音信號(hào)的功率譜減去噪聲信號(hào)的功率譜,則得到純凈語音信號(hào)的功率譜;最后,對(duì)得到的功率譜開方,得到相應(yīng)的幅度譜,其相位譜用第一步得到的帶噪語音信號(hào)的相位譜代替,進(jìn)行傅里葉反變換則得到增強(qiáng)后的語音信號(hào)。
設(shè)純凈的平穩(wěn)語音信號(hào)為s(t),噪聲語音信號(hào)為n(t),要求噪聲和語音不相關(guān),則譜減法的基本步驟如下。
1) 得到加性的帶噪語音信號(hào),如式(1)。
y(t)=s(t)+n(t)
(1)
2) 對(duì)式(1)兩邊進(jìn)行傅里葉變換,如式(2)。
Y(ω)=S(ω)+N(ω)
(2)
Y(ω)用極坐標(biāo)表示,如式(3)。
Y(ω)=|Y(ω)|ejφy(ω)
(3)
式中,|Y(ω)|是帶噪信號(hào)的幅度譜,φy(ω)是帶噪信號(hào)的相位譜。
噪聲信號(hào)N(ω)用極坐標(biāo)表示,如式(4)。
N(ω)=|N(ω)|ejφn(ω)
(4)
式中,N(ω)是噪聲信號(hào)的幅度譜,φn(ω)是帶噪信號(hào)的相位譜。N(ω)是未知的,可以用語音前導(dǎo)無話段的幅度譜估計(jì),φn(ω)根據(jù)語音信號(hào)對(duì)相位的不靈敏性,可用帶噪信號(hào)的相位譜φy(ω)代替。經(jīng)過這樣代替雖然對(duì)語音質(zhì)量有一定的影響,但不影響語音的可懂性。
3) 計(jì)算功率譜,如式(5)。
(5)
由于語音是非平穩(wěn)信號(hào),通過加窗處理得到一幀語音信號(hào),從而得到相對(duì)平穩(wěn)信號(hào),計(jì)算這一幀信號(hào)的功率譜,如式(6)。
(6)
(7)
(8)
對(duì)于短時(shí)平穩(wěn)信號(hào),如式(9)。
(9)
4) 變換式(9)得到增強(qiáng)后的語音估值,如式(10)。
(10)
5) 由式(10)以及結(jié)合2)求得的帶噪語音信號(hào)的相位,求出增強(qiáng)后語音信號(hào)極坐標(biāo)形式,再經(jīng)過傅里葉反變換得到增強(qiáng)后語音信號(hào),如式(11)、式(12)。
(11)
(12)
本系統(tǒng)對(duì)于上述的基本功率譜譜減算法進(jìn)行了改進(jìn),在求增強(qiáng)后的純凈語音能量譜估值時(shí),增加了噪聲譜系數(shù)a,具體實(shí)現(xiàn)步驟如下。
1) 讀入純凈語音信號(hào)s(t),消除該語音信號(hào)直流分量并進(jìn)行歸一化處理。
2) 設(shè)置信噪比,疊加高斯白噪聲,得到帶噪語音信號(hào)y(t)。
3) 分幀,加海明窗,設(shè)置幀長200,幀移80,保留所得的幀數(shù)。
4) 進(jìn)行FFT變換,計(jì)算幅值和相位,再求其功率譜能量|Yw(ω)|2。
5) 設(shè)定帶噪語音前導(dǎo)靜音段時(shí)間,計(jì)算出靜音段的幀數(shù),求其平均幅值|Dw(ω)|2,作為噪聲的估值。
圖1 譜減法實(shí)現(xiàn)流程圖
本系統(tǒng)的語音為較為純凈的實(shí)驗(yàn)室環(huán)境下,采用Windows7自帶錄音機(jī)錄音,語音內(nèi)容為“洛陽師范學(xué)院”,單聲道,PCM編碼,位數(shù)8位,頻率16 kHz,噪聲為隨機(jī)產(chǎn)生的高斯白噪聲,系統(tǒng)的算法在Matlab平臺(tái)上實(shí)現(xiàn)。實(shí)驗(yàn)室環(huán)境下純凈語音“洛陽師范學(xué)院”波形圖,如圖2所示。
圖2 純凈語音“洛陽師范學(xué)院”波形圖
本實(shí)驗(yàn)對(duì)輸入信噪比分別為5 dB、0 dB、-5 dB、-10 dB的四種情況分別進(jìn)行了增強(qiáng)測試。測試結(jié)果波形圖,如圖3、圖4所示。
圖3 信噪比5 dB、0 dB的測試結(jié)果
圖4 信噪比-5 dB、-10 dB的測試結(jié)果
為了更加清晰看出不同信噪比下的效果,計(jì)算出不同情況的譜減法增強(qiáng)后信噪比,如表1所示。
表1 不同信噪比輸出結(jié)果對(duì)比
通過對(duì)不同信噪比下增強(qiáng)結(jié)果的對(duì)比分析得到,輸入信噪越低,增強(qiáng)后的信噪比提高越多,對(duì)于低信噪比的語音信號(hào)增強(qiáng)有一定的效果。
在實(shí)驗(yàn)中也發(fā)現(xiàn),當(dāng)信噪比高于20 dB,增強(qiáng)后的信噪比反而下降,說明該算法對(duì)于高信噪比的語音信號(hào)增強(qiáng)效果不明顯,主要因?yàn)橐皇窃黾拥脑肼暡幻黠@,二是原本錄制的語音不純凈;當(dāng)信噪比低于-16 dB,雖然增強(qiáng)后信噪比提高了,但是人耳已經(jīng)很難分辨語音信號(hào)的內(nèi)容,語音全部被噪聲淹沒。因受譜減法本身的限制,采取的是功率譜預(yù)估,產(chǎn)生誤差,為了對(duì)以上兩種情況進(jìn)行語音增強(qiáng),為此要尋求新的增強(qiáng)算法[6]。
本文從理論上分析語音增強(qiáng)的譜減法,給出了基于功率譜的譜減法的完整步驟,在此基礎(chǔ)上為了消除譜減法功率譜估計(jì)的誤差,在求增強(qiáng)后純凈語音信號(hào)的功率譜中引入系數(shù)a。在Matlab平臺(tái)上對(duì)加入高斯白噪聲,信噪比分別為5 dB、0 dB、-5 dB、-10 dB四種情況帶噪語音信號(hào)進(jìn)行了仿真驗(yàn)證,結(jié)果表明輸入信噪越低,增強(qiáng)后的信噪比提高越多,該算法對(duì)于低信噪比的語音信號(hào)增強(qiáng)有一定的效果。但是當(dāng)信噪比低于-16 dB,不能分辨出語音信號(hào);當(dāng)信噪比高于20 dB,難于消除純凈語音在錄音時(shí)本身所帶的噪音。針對(duì)這兩種情況,將更加深入研究,提出更加高效的增強(qiáng)算法。