• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于計算機仿真的語音增強算法研究

      2015-05-28 14:05:25張冰
      中國科技縱橫 2015年9期

      張冰

      【摘 要】在語音通信過程中不可避免地會受到來自周圍環(huán)境、傳輸媒介引入的噪聲、通信設備內(nèi)部電噪聲、乃至其它講話者的干擾。這些干擾最終將使接收者接語音收到的語音是非純凈的原始語音信號,而是受噪聲污染的帶噪語音信號。語音增強是解決噪聲污染的一種有效方法,是從帶噪語音信號中提取盡可能純凈的原始語音,本文研究的是一種基于普減法的改進語音增強算法。

      【關鍵詞】語音增強 譜減法 Matlab

      1 引言

      語音增強已發(fā)展為語音信號數(shù)字處理的一個重要分支。語音增強中的譜減法是處理寬帶噪聲的最通用技術,即從帶噪語音估值中減去噪聲頻譜估值,而得到純凈語音的頻譜。寬帶噪聲通常可以假定為高斯噪聲和白噪聲。它的來源很多,包括空氣流動、呼吸噪聲和一般隨機噪聲源。量化噪聲通常作為白噪聲來處理,也可以視為寬帶噪聲。由于寬帶噪聲與語音信號在時域和頻域上完全重疊,因而消除它最為困難。由于人耳對語音頻譜分量的相位不敏感,所以譜減法主要針對短時幅度譜。

      2 語音增強算法

      2.1 傳統(tǒng)譜減法

      假定語音為平穩(wěn)信號,而噪聲及假定語音為平穩(wěn)信號,而噪聲和語音為加性信號且彼此不相關。此時帶噪語音信號可表示為:

      式中, 為純凈語音信號, 為平穩(wěn)加性高斯噪聲。實際上,為避免分幀時的截斷效應,應對 加窗。為了書寫方便,這里用 代表加窗后的帶噪信號。

      設 的傅里葉系數(shù)為:

      的傅里葉系數(shù)為:

      的傅里葉系數(shù)為: 由(1)式,則有:

      而語音增強的任務就是利用已知的噪聲功率譜信息,從 中估計出 。由于人耳對相位不敏感,所以只要估計出 ,然后借用帶噪語音相位,進行反傅里葉變換后就可得到增強的語音。

      經(jīng)FFT后,有 ,由此可得 式⑵

      式中*表示復共軛。因為假定噪聲是不相關的,即 與 獨立,不會出現(xiàn)信號和噪聲的乘積值,則互譜的統(tǒng)計均值為0。

      而 為零均值的高斯分布,所以有: 式⑶

      只要從 中減去 便可恢復 。之所以能這樣是基于人耳對語音相位不敏感(相聾)這一特點。因為噪聲是局部平穩(wěn)的,故可以認為語音前的噪聲與發(fā)語音期間的噪聲功率譜相同,因而可以利用發(fā)語音前(或后)的“寂靜幀”來估計噪聲。對于一個分析幀內(nèi)的短時平穩(wěn)過程,有 式⑷

      其中, 為無語音時 的統(tǒng)計平均值,即

      由此可得原始語音的估計值 式⑸

      實際計算中,也可能出現(xiàn) 小于 的情況,因此功率譜不可為負,此時修改式⑸為 式⑹,式中ε為一個大于0的常數(shù),它由試驗確定。定義第k個頻譜分量的增益函數(shù) 以及后驗信噪比 ,則式⑸可以改寫為: 式⑺

      由式⑺可以清楚地看出譜相減的物理意義:它相當于對帶噪語音的每一個頻譜分量乘以一個系數(shù) 當信噪比高時,含語音的可能性很大,衰減小。反之,則認為含有語音的可能性小,衰減則增大。

      2.2 改進的譜減法

      式⑸中的 是以無聲期間的統(tǒng)計平均的噪聲方差代替當前分析幀的噪聲頻譜,而實際上噪聲頻譜服從高斯分布

      式⑻

      其中,m為x的均值,σ為標準偏差。噪聲的幀功率譜隨機變化范圍很寬,在頻域中的最大、最小值之比往往達到幾個數(shù)量級,而最大值與均值之比也達6~8倍。因而,在減去噪聲譜后,會有些較大的功率譜分量的剩余部分,在頻譜上呈現(xiàn)出隨機出現(xiàn)的尖峰,在聽覺上形成殘留噪聲。這種噪聲具有一定的節(jié)奏性起伏感,所以稱之為“音樂噪聲”。

      為有效地減少寬帶和音樂噪聲,可對譜減法進行改進。噪聲的能量往往分布于整個頻譜范圍,而語音能量則較集中于某些頻率或頻段,尤其在元音的共振峰處。因此可在元音段等幅度較高的時幀去除噪聲時,減去 ,則可更好地相對突出語音的功率譜。這種改進也稱為被減項權值處理。

      同時,將式(5)中的功率譜計算|*|2及|*|1/2改為|*|m和|*|1/m計算(這里m不一定為整數(shù)),可以增加靈活性。這種方法稱為功率譜修正處理。經(jīng)分析和試驗得知,當m>2時,它具有與被減項加權處理相同的效果。

      綜合上面兩種處理,譜減法改進形式的原理框圖如圖2所示。

      此時式⑸修正為 式⑼。 引入m,n兩個參數(shù)為計算提供了很大的靈活性。當m=2,n=1時即變?yōu)榛镜淖V減法,實際的增強試驗表明,適當調(diào)節(jié)m、n可以獲得比傳統(tǒng)的譜減法更好的增強效果。因此實際的增強過程中,更多地使用譜減法的改進形式。

      3 基于MATLAB的算法實現(xiàn)與仿真

      3.1傳統(tǒng)譜減法的實驗與仿真

      基于MATLAB來實現(xiàn)傳統(tǒng)譜減法的仿真,讀入語音文件用wavread函數(shù)實現(xiàn),對采樣點補足幀的整數(shù)倍是方便實現(xiàn)MATLAB的矩陣計算以及最后對幀疊加進行還原處理。對每一幀獨立的含噪語音進行語音增強處理,再將每幀增強語音依次連接起來,會由于恢復的信號幀間不連續(xù),使得增強語音含有周期性的雜音,因此采用幀間重疊譜減法進行語音處理。程序中每幀信號256點,128點重疊,通過w=hamming(framelength)'實現(xiàn),經(jīng)語音增強處理后,再進行相反的處理,恢復連續(xù)的語音信號。

      對帶噪語音信號進行FFT變換可以直接用fft函數(shù)實現(xiàn),在MATLAB程序中,這一部分用for循環(huán)對每幀循環(huán)實現(xiàn)。

      譜相減是算法的關鍵,這部分程序代碼如下所示,其中參數(shù)m=2,n=1。因為涉及到估值,所以實際中譜相減的差值會為負。因功率譜不能為負,故可令負值為0或改變其符號,在本文的實現(xiàn)程序中令負值為0。

      TT=[];

      for i=1:k

      kk=(yd(i,:).^m-n*(ave_noise.^m));

      pp=find(kk<0);

      kk(pp)=0;

      kk=kk.^(1/m);

      TT=[TT;kk];

      End

      在對FFT變換且譜相減后的信號加上原輸入信號的相位信息后,就對信號進行IFFT變換,在MATLAB中用ifft函數(shù)實現(xiàn),即t=TT.*exp(j*angleyy); ss=ifft(t,[],2);

      算法的最后要對前面的幀重疊進行相反的處理,以保持語音的連續(xù)特性。幀重疊進行相反處理的代碼如下所示:

      output=[];

      output=[output,ss(1,1:128)];

      for i=2:k

      temps=(ss(i,1:128)+ss(i-1,129:256))/2;

      output=[output,temps];

      end

      output=[output,ss(k,129:256)];

      語音增強后的信號用wavwrite函數(shù)輸出到新的wav文件中。傳統(tǒng)譜減法仿真后結果表明,噪聲信號得到了一定的抑制,但是還存在一定的具有節(jié)奏性起伏感的音樂噪聲。

      3.2 改進形式的譜減法的實現(xiàn)與仿真

      式(8)中的m,n兩個參數(shù)為算法提供了很大的靈活性,適當調(diào)節(jié)這兩個參數(shù),可獲得比原始相減法更好的增強效果。試驗表明,兩個可調(diào)參數(shù)m,n取不同值時,語音增強的效果是不同的:m不變,隨著n值的適當增大,寬帶噪聲及殘余的音樂噪聲減小,信噪比大大提高,但是語音也逐漸變尖,即有較大的失真;n不變,隨著m值的適當增大,寬帶噪聲及殘余的音樂噪聲增大,信噪比的提高減少,但是語音也逐漸自然,即有較小的失真。試聽結果表明,m=0.4,n=0.9時,較好的做到了降噪與提高語音可懂度之間的折衷,噪聲得到了適當?shù)囊种?,較好地保持了原語音的特性。在MATLAB的實現(xiàn)上,只要在原來傳統(tǒng)譜減法的基礎上改動參數(shù)m,n的值即可得到改進后的效果,如圖3所示即為改進形式的譜減法仿真效果。

      圖3

      試驗表明,改進的譜減法消除了周期性干擾在電臺話音輸出端引起的嘯叫噪聲,除清晰度略有下降外,語音的可懂度和自然度未受損失。該方法對白噪聲干擾消噪效果更好,但當環(huán)境惡劣,信噪比極低時,信噪比雖然提高不少,但語音的可懂度和自然度卻受到一定的損失,實際聽起來像機器人的聲音。因此,在實時實現(xiàn)時需注意運算精度、幀間重疊的實現(xiàn)和噪聲功率譜估計等問題。

      4 結語

      基于計算機仿真的MATLAB譜相減法是一種常用的單通道語音增強經(jīng)典算法,傳統(tǒng)譜減法和它的改進形式可以歸納為一個通用的譜減法參數(shù)公式,參數(shù)m,n的取值和增強效果有著密切的關系,當m,n取值適當,則可獲得較為理想的增強效果。譜減法有效地降低了背景噪聲,提高了信噪比。目前該普相減仿真計算方法依然存在一定的難題,但對于語音質(zhì)量的提高依然具有非常大的幫助。

      參考文獻:

      [1]楊行峻,遲惠生.語音信號數(shù)字處理[M].北京:電子工業(yè)出版社,1995,385-411.

      [2] Hyoung-Gook Kim, Markus Schwab, Nicolas Moreau. Speech Enhancement of Noisy Speech Using Log-Spectral Amplitude Estimator and Harmonic Tunneling[EB/OL]. http://www.nue.tu-berlin.de/ publications/papers/IWANEC2003.pdf

      [3] J.H.L. Hansen, B.Pellom. An Effective Quality Evaluation Protocol for Speech Enhancement Algorithms[EB/OL]. http://cslr.colorado.edu/rspl/PUBLICATIONS/PDFs/CP-icslp98-SpchEnhansProto-SL980917-Wcover.PDF.

      浦县| 洛川县| 衡南县| 墨竹工卡县| 富民县| 改则县| 庆阳市| 临澧县| 孝昌县| 桃园县| 千阳县| 三明市| 长垣县| 靖边县| 德保县| 崇仁县| 长宁县| 青铜峡市| 马尔康县| 呼玛县| 舟山市| 临夏市| 城口县| 大安市| 嘉祥县| 赤壁市| 中宁县| 察隅县| 英德市| 双峰县| 潮安县| 贵德县| 宜兴市| 晋中市| 屯门区| 交城县| 永安市| 金秀| 安庆市| 体育| 手机|