覃貴禮, 羅云芳, 潘澤鍇
(廣西職業(yè)技術(shù)學(xué)院 計算機與電子信息工程系, 廣西 南寧 530226)
?
基于譜相減改進算法的語音增強系統(tǒng)的實現(xiàn)研究
覃貴禮, 羅云芳, 潘澤鍇
(廣西職業(yè)技術(shù)學(xué)院計算機與電子信息工程系, 廣西南寧530226)
針對數(shù)字通信網(wǎng)絡(luò)中廣泛應(yīng)用的語音增強處理,在原有譜相減算法語音增強處理原理基礎(chǔ)上改進該算法,并基于改進的譜相減算法采用MATLAB軟件開發(fā)設(shè)計語音增強處理系統(tǒng),經(jīng)過測試表明系統(tǒng)能很好地實現(xiàn)帶噪語音增強處理,聲音的質(zhì)量和可懂度提高效果顯著。
譜相減改進算法;語音增強;信噪比;MATLAB
隨著人類制造出各種各樣的機器,人與機器的交流慢慢地變成一種迫切的需求,人們的語音交流方式移植到人與機器之間并成了一種主流技術(shù),也為人們提供了一種便利[1]。在數(shù)字技術(shù)發(fā)展和適應(yīng)人們隨時隨地辦公娛樂趨勢的影響下,語音技術(shù)也得到了長足的發(fā)展,語音識別技術(shù)在人機交互的場合也得到了廣泛的應(yīng)用,在某些領(lǐng)域,機器已經(jīng)能很好地理解人類語音的信息,準(zhǔn)確的識別出人類語音的內(nèi)容,并且經(jīng)過數(shù)字信號處理的方式把獲取的信息返回給執(zhí)行機構(gòu)完成相應(yīng)的動作,從而實現(xiàn)人機交互的自然語言通信功能[2]。但在某些實際的應(yīng)用中,傳輸距離和各種外界噪聲因素會對傳輸?shù)恼Z言信號的強度和清晰度造成嚴(yán)重的干擾,同時受接收時各類硬件質(zhì)量的影響,很多語音信號不能很好地識別,造成人機不能很好地交互。因此,利用數(shù)字技術(shù)把語音進行數(shù)字化處理以后,再利用語音處理算法對其進行增強處理,可提高語音的抗干擾性和可讀性[3]。本文對語音信號的增強原理進行分析,設(shè)計了基于譜相減改進算法的語音增強系統(tǒng),并詳細(xì)闡述了系統(tǒng)的設(shè)計和實現(xiàn)方法。
1.1經(jīng)典譜相語音增強減算法
經(jīng)典的譜相減算法是在頻域的范圍內(nèi),語音的功率譜估計值使用帶噪語音功率譜減去噪聲的功率譜得到,語音的幅度通過對語音的功率估計開方得到,將其相位恢復(fù)后再采用逆傅立葉變換恢復(fù)時域信號,而在相位恢復(fù)中的相位信息包含在帶噪語音當(dāng)中[4]。
在經(jīng)典譜相減算法數(shù)學(xué)建模中,s(m)、n(m)、和y(m)分別代表語音、噪聲和帶噪語音,Ss(ω)、Sn(ω)和Sy(ω)則表示短時譜,則帶噪語音信號可以表示為:
y(m)=s(m)+n(m)(1)
對式(1)進行加窗處理并對其兩邊進行傅里葉變換可以得到:
Yw(ω)=Sw(ω)+Nw(ω)(2)
在原來假設(shè)s(m)中和n(m)是相互獨立的個體,則根據(jù)式(2)可以得到原來的語音估值為:
因為噪聲是局部平穩(wěn)的,故可以認(rèn)為發(fā)音前的噪聲與發(fā)音期間的噪聲功率譜相同,因而可以利用發(fā)語音前的“寂靜幀”來估計噪聲。在語音的頻域中,使用式(3)可以純凈語音的譜估計,實現(xiàn)簡單的語音增強功能,但是實現(xiàn)的語音增強效果不是很明顯,對于復(fù)雜的噪聲無能為力。
1.2改進譜相減語音增強算法
根據(jù)譜相減算法實現(xiàn)語音增強的原理,其實現(xiàn)語音增強的數(shù)學(xué)表達(dá)式為:
式中,m表示x的平均值,σ表示標(biāo)準(zhǔn)偏差。噪聲的幀功率譜是在很寬的范圍內(nèi)隨機變化的,變化頻域幀功率譜中的最大值與最小值的比值很大,可以達(dá)到幾個數(shù)量級,最大值與平均值之間的比值也很大,有倍。因此,在語音增強處理去噪時,會殘留較大功率譜相關(guān)分量的一些剩余部分,這些剩余殘留在頻譜上會出現(xiàn)隨機的尖峰,形成聽覺上的殘留噪聲。
圖1 譜相減改進算法實現(xiàn)語音增強原理圖
結(jié)合式(4)和式(5)得到譜相減改進算法語音增強的計算式:
在譜相減語音增強算法計算模型中,通過改變a和β兩個參數(shù),能使算法在實現(xiàn)上具有很好的靈活性,通過靈活改變a和β參數(shù)的值正是譜相減語音增強處理算法改進的一種有效實現(xiàn)方式。本文即通過改變和參數(shù)的值進行譜相減語音增強處理算法的改進,并將改進后的算法用于語音增強處理[6]。算法模型中的參數(shù)表示譜減功率修正系數(shù),取值越大,進行語音增強處理時,信噪比值越高,但同時也會加大原始語音信號的失真率。參數(shù)表示譜減噪聲系數(shù),它的取值會影響被減噪聲功率譜值,β取值越大,增強處理后的語音音樂噪聲越少,能在一定程度上更好的突出語音頻譜,但同時也會加大原始語音信號的失真率。
計算模型中,當(dāng)確定參數(shù)a和β的取值后,在利用算法模型進行語音增強處理過程中就一直不會改變,這與實際的語音增強處理不符,因為在語音增強處理過程中,需要在噪聲頻段中減去功率較大的噪聲,實現(xiàn)提高信噪比的目的,而為了保證原始帶噪語音中更多的清音,往往在帶噪語音段中減去的噪聲功率譜較小,實現(xiàn)提高增強處理后語音的可懂度。所以在實際的語音增強處理過程中應(yīng)根據(jù)處理語音的頻率段和語音幀動態(tài)調(diào)整a和β參數(shù)的取值。在處理的語音信噪比較低時,根據(jù)原始帶噪語音幀頻譜功率與噪聲幀頻譜功率的比值進行動態(tài)改變參數(shù)和值,語音處理后能較大程度的提高信噪比,同時又能最大程度的去除音樂噪聲和減少語音的失真度,使增強處理后的語音更符合人耳聽覺范圍,保證語音增強處理的可懂度和清晰度。
系統(tǒng)的設(shè)計實現(xiàn)主要分為原始語音和噪聲的準(zhǔn)備,語音信號增強處理時輸入語音信號的確定,對輸入的語音信號進行增強處理程序功能實現(xiàn)等幾部分。系統(tǒng)用于測試的原始語音采用格式8 kHz,16 bit,選取相對安靜不帶噪音的環(huán)境,利用單聲道錄制的一段純凈語音,時間大約5 s。系統(tǒng)設(shè)計利用MATLAB軟件實現(xiàn),語音讀取使用wvaerda()函數(shù)完成,在語音開始之初截留一段純凈語言作為計算信噪比參考,其余部分加入由軟件自帶函數(shù)產(chǎn)生高斯白噪聲,噪聲頻譜值取噪聲幀中對應(yīng)每一點的最小值作為被減噪聲頻譜值輸入語音信號,取原始語言與倍的噪聲之和,信噪比的隨著值變化而發(fā)生變化[7]。
在整個系統(tǒng)設(shè)計包括兩個部分:經(jīng)典譜相減語音增強算法和改進譜相減語音增強算法處理,通過對比兩個處理效果得出改進后算法的優(yōu)越性。在經(jīng)典譜相減語音增強算法中,利用原帶噪語音的相位恢復(fù)到時域語音信號,從而得到處理后的語音信號,完成整個基于譜減法的語音增強過程,在系統(tǒng)處理中,經(jīng)典譜相減發(fā)的工作流程圖如圖2所示。
圖2 經(jīng)典譜相減算法語音處理設(shè)計流程圖
改進譜相減語音增強算法語音信號的增強處理使用漢明窗函數(shù)實現(xiàn),根據(jù)輸入的語音的長度確定漢明窗的長度和平滑速度,由語言長度和每幀長確定程序最大循環(huán)次數(shù)M;而后進行傅里葉變換,由時域轉(zhuǎn)換為頻域以獲得相角、幅值的變化,需要對每幀數(shù)據(jù)進行功率譜計算,而后對臨近的幾幀進行平滑處理,獲取改進后的譜相減閥值a,β,確定功率因素補償閥值,利用得到譜相減改進算法語音增強的乘積形式進行語音增強[8],使用傅里葉反變換獲取閥值賦給序列相應(yīng)段,經(jīng)過M次循環(huán)處理,得到處理以后的聲音,可以試聽經(jīng)過該算法改進以后的語音,基于譜相減改進算法的語音增強處理實現(xiàn)流程如圖3所示。
圖3 譜相減改進算法語音增強處理實現(xiàn)流程
實現(xiàn)語音增強處理的程序功能以GUI界面設(shè)計,系統(tǒng)功能可以直觀的演示原始語音波形和基于譜相減改進算法增強后語音波形情況對比,并且可以直接播放語音,對比語音前后變化情況。
完成基于譜相減改進算法的語音增強系統(tǒng)開發(fā)后,為了測試系統(tǒng)實現(xiàn)的功能和性能,進行測試實驗。測試輸入帶噪語音樣本由上述系統(tǒng)錄制的時長大約為5 s的原始語音與產(chǎn)生m的倍高斯白噪聲之和組成,將準(zhǔn)備好的輸入原始帶噪語音樣本在本系統(tǒng)進行播放,播放的語音波形如圖4所示。
圖4 原始語音波形
在系統(tǒng)測試中,輸入時選取輸入信噪比為15.6 dB,分別使用經(jīng)典譜相減語音增強算法和改進譜相減語音增強算法對同樣的帶噪語音進行處理,處理的效果如圖5所示。
圖5 同樣信噪比語音增強算法效果對比
對同樣的樣本,系統(tǒng)將原始帶噪語音樣本利用譜相減改進算法進行語音增強處理,根據(jù)不同的增強處理信噪比對語音增強處理后,設(shè)計選取信噪比為22.7 dB、43.4 dB對樣本進行處理,語音播放的波形如圖6所示。
圖6 改變信噪比語音增強后效果對比
通過對比經(jīng)典譜相減語音增強算法和改進譜相減語音增強算法語音處理效果和不同信噪比的語音增強處理效果的圖像,并且分別試聽處理前后的語音,改進譜相減語音增強算法語音處理效果比經(jīng)典譜相減語音增強算法有所改進,通過不斷調(diào)整系數(shù)的方法,使得該改進算法獲得更高的信噪比,經(jīng)主觀試聽噪聲減弱到不影響正常聲音可以接受的范圍,噪聲得到了明顯的抑制,噪聲由原來的刺耳感覺變成柔和易于使人接受的聲音。
在不斷地測試中也發(fā)現(xiàn),當(dāng)信噪比取值過大,原始聲音減幅值也顯著下降,在噪聲被濾波處理的同時,原來聲音效果也會出現(xiàn)明顯走樣的情況,所以要多次測試,對比不同的效果,取得濾波效果最好,同時原始聲音損失最小的信噪比取值。對比其他的處理方式,該算法在輸入信噪比較低的情況下,增強處理后的語音輸出信噪比明顯提高,噪聲濾波處理的效果已經(jīng)凸顯,原始的語音可較快的達(dá)到可讀懂的范圍。提高系數(shù)增大信噪比,語音濾波處理響應(yīng)速度提高,語音增強處理的效果顯著。
適應(yīng)數(shù)字化社會的不斷發(fā)展,用數(shù)字化的方法對語音進行識別和增強的處理,這樣的做法在很多領(lǐng)域得到應(yīng)用,也是數(shù)字化通信網(wǎng)絡(luò)通用的處理方式。本文在原有譜相減算法語音增強處理原理基礎(chǔ)上改進該算法,并以此算法為基礎(chǔ),詳細(xì)闡述利用MATLAB軟件設(shè)計開發(fā)語音增強處理系統(tǒng)的實現(xiàn)方式。系統(tǒng)經(jīng)過測試表明,能對輸入的帶噪語音樣本,以不同的輸入信噪比進行增強處理,處理后的語音噪聲明顯減少,同時語音可懂度得到了一定程序的提高。如果輸入的原始噪聲樣本語音信噪比比較高,語音增強處理的效果更好,利用譜相減改進算法的語音增強系統(tǒng),對帶有噪聲的語音完成數(shù)字處理從而實現(xiàn)增強的效果,有很好的現(xiàn)實作用。
[1]張雄偉,陳亮,楊吉斌.現(xiàn)代語音處理技術(shù)及應(yīng)用[M].北京:機械工業(yè)出版社,2003:34-78.
[2]張勇,劉軼,劉宏.結(jié)合人耳聽覺感知的兩級語音增強算法[J].信號處理,2014,30(4):363-373.
[3]戴紅霞,趙力.基于麥克風(fēng)陣列的數(shù)字助聽器語音增強技術(shù)[J].電子器件,2015,38(3):606-610.
[4]隋璐瑛,張雄偉,黃建軍,等.基于碼本學(xué)習(xí)的改進譜減語音增強算法[J].計算機工程與應(yīng)用,2013,49(16):216-220.
[5]張賀,沈天飛,滕秋霞.基于級聯(lián)式改進型譜減算法的語音去噪技術(shù)研究[J].工業(yè)控制計算機,2014,27(7):119-120,123.
[6]Wang Jizeng,Wang Chanfei.A New Speech Enhancement Method Based On Wavelet Packet Transform[J].2008International Congress on Image and Signal Processing,27-30May2008,Sanya,Hainan,China,be published by the IEEE and indexed in both EI and ISTP:317-321.
[7]張雪英.數(shù)字語音處理及MATLAB仿真[M].北京:電子工業(yè)出版社,2010:154-178.
[8]徐寧,何晨.語音信號增強算法研究與實現(xiàn)[J].儀表技術(shù),2015(6):24-26,3.
[Key words]The improved spectral subtraction algorithm; speech enhancement; signal to noise ratio; MATLAB
[責(zé)任編輯劉景平]
Research and Implementation of the System of Speech Enhancement Based on the Improved Spectral Subtraction Algorithm
QIN Gui-li, LUO Yun-fang, PAN Ze-kai
(Department of Computer and Electronic Information Engineering, Guangxi Polytechnic,Nanning, Guangxi 530226, China)
Speech enhancement is widely applied in the digital communication network. An improved spectral subtraction algorithm of speech enhancement is proposed and a speech enhancement system is designed by the MATLAB based on this improved algorithm. Experimental results show that the system can well achieve speech enhancement with noise. The quality and intelligibility of sounds are all improved effectively.
TP391
A
1672-9021(2016)02-0073-06
覃貴禮(1976-),男,廣西鹿寨人,廣西職業(yè)技術(shù)學(xué)院計算機與電子信息工程系副教授,主要研究方向:電子技術(shù)和電氣自動化技術(shù)。
2015-12-01