解雪琴,張?zhí)燔?,潘文林,?璐,和麗華,楊建香
(云南民族大學(xué) 數(shù)學(xué)與計算機科學(xué)學(xué)院,云南 昆明 650500)
飛速發(fā)展的現(xiàn)代科技和人們多樣化的生活方式與理念,使得中國少數(shù)民族的傳統(tǒng)文化和瀕危語言正處于一個前所未有的尷尬窘困之地.普米族擁有著悠久的歷史底蘊和深厚的文化內(nèi)涵,我國少數(shù)民族瀕危語種的名單將其民族語言-普米語列入其中.就少數(shù)民族語言研究領(lǐng)域而言,研究者大多都是基于對其它少數(shù)民族語言有相關(guān)的語音信號研究,對于瀕危語言普米語的相關(guān)研究還是很少且尚未看到很好的成果.基于普米語的研究具有重要的文化價值和保護價值.
從20世紀(jì)60年代開始,大量學(xué)者開展了關(guān)于語音增強方面的研究并且取得了顯著的成果.譜減法[1]在對于帶噪語音信號的處理上有很多應(yīng)用,其主要目的是提取出盡可能純凈的原始語音.學(xué)者們在對語音信號進行減噪時常使用此方法,如肖全寶和崔周培等[2-3].但此方法擁有一個弊端,就是減噪后的語音常常伴有“音樂噪聲”[4].1979年,Boll改進了傳統(tǒng)的譜減法[5],大大降低了“音樂噪聲”.近年來,提出了更多新的算法,而不是僅僅局限于在原有的語音增強算法上做改進,例如小波變換[6-7],離散余弦變換(DCT)[8-9],人工神經(jīng)網(wǎng)絡(luò)[10],非負矩陣分解[11],壓縮感知[12]等.其中小波變換因其具有較好的減噪效果,一直被張飛等[13]用來進行語音減噪.但此方法也存在噪聲殘留這一問題.很多學(xué)者選擇另辟蹊徑,不再單一的使用一種方法去減噪,而是嘗試將2種方法融合起來,以此達到減少噪聲殘留的效果.比如將譜減法和神經(jīng)網(wǎng)絡(luò)結(jié)合[14],將小波和離散余弦變換相結(jié)合[15]等方法.馬明[16]基于譜減法和小波閾值分解進行了聯(lián)合減噪算法的研究;張洪濤等[17]嘗試將譜減法與小波變換聯(lián)合起來,以此實現(xiàn)語音減噪;隨后朱建華等[18]也對一種基于譜減法和小波閾值的語音減噪算法進行了研究.
最近幾年也有不少學(xué)者參與到普米語的研究中來.李余芳等基于HTK對普米語孤立詞進行了識別[19].楊花等使用基于粒子群算法優(yōu)化支持向量機識別算法實現(xiàn)了對普米語語音的識別[20].董華珍等利用免疫遺傳優(yōu)化支持向量機實現(xiàn)了普米語孤立詞語譜圖的分類[21].
在數(shù)學(xué)領(lǐng)域里,作為一種時頻分析方法的小波分析發(fā)展得十分迅速.擁有多分辨率分析能力的小波分析,可以對信號中的任何一些細節(jié)做多分辨率的時頻域分析,同時它還擁有豐富的理論和寬泛的應(yīng)用.小波閾值法、小波模的極大值法、小波分解與重構(gòu)法都是小波減噪3種常用的主要方法.
小波閾值法先分解信號,得到分解后的系數(shù),接著用閾值去處理這個系數(shù),隨后通過小波重構(gòu)得到減噪后的信號.它操作過程大體可分為3步.第1步,利用小波變換去處理疊加噪聲后的語音信號,從而獲得一組小波分解系數(shù).第2步,接著利用閾值去處理上一步所得到的小波分解系數(shù),這一過程中的小波分解系數(shù)可以使得出盡可能小的估計小波系數(shù).第3步,通過利用逆小波變換對估計小波系數(shù)進行小波重構(gòu),從而得到估計信號,此時這個信號就是減噪后的信號.圖1為小波閾值法減噪的流程圖.
小波閾值法作為一種常被用來進行語音減噪的方法,其優(yōu)點在于它既能基本完全消除噪聲,又可以展現(xiàn)出峰點的最初信號特性.當(dāng)噪聲類型為高斯白噪時,最好選擇閾值法,其優(yōu)勢在于能夠獲得最初信號的近似最優(yōu)估量,且擁有普遍的適用性和較高的效率.但在現(xiàn)實運用中還要考慮噪聲的減噪效果和計算速度間的平衡.用閾值法進行減噪時,對減噪效果有著非常重要影響的是閾值的選取.實驗中應(yīng)該將實際情況作為參考依據(jù),從而選擇比較合適的閾值.這在實驗中也是一大難題,同時也是小波閾值法減噪所存在的一大弊端.
在時頻域上進行分析,設(shè)序列x(n)代表疊加噪聲后的合成語音信號,通過對x(n)進行加窗、分幀處理后得到的xi(m)代表第i幀的語音信號,N為此幀語音信號的幀長.對任意xi(m)做離散傅里葉變換后為
(1)
要計算出每個Xi(k)的幅值和相角,|Xi(k)|代表分量Xi(k)的幅值,分量Xi(k)的相角是
(2)
在基本譜減中,這2組數(shù)都將被保存下來,以便后面所需.
已知IS為前導(dǎo)無話段也即噪聲段的時長,NIS為前導(dǎo)無話段對應(yīng)的幀數(shù),此時可以求出該前導(dǎo)無話段的平均能量值為
(3)
譜減算法為
(4)
過減因子和增益補償因子在式(4)中分別用常數(shù)a、b來表示.
如今,媽媽正沉睡在遙遠的美國西部大地、零下一百多攝氏度的低溫里。再見面,最短也要50年。這是科學(xué)家們給出的預(yù)言。預(yù)言可能落空,實驗可能失敗,但總有希望。我會努力,像媽媽一樣努力,活到那個時候,等著見媽媽。
用基本譜減法對疊加噪聲后的語音進行減噪處理,減噪后的語音信號中顯然是含有“音樂噪聲”的.要想有效的減少“音樂噪聲”,可以增加過減因子的數(shù)值,但要使用這種方式就必須使得過減因子不會過大,否則會使得減噪后的語音波形失真.是以在選取過減因子的數(shù)值時同樣要在一個恰當(dāng)?shù)姆秶鷥?nèi)選擇一個合適的值.
Boll對基本譜減給做出了一種改進,在其理論的基礎(chǔ)上E.Zavarehei編寫了Matlab的函數(shù)SSBoll79.m.Boll對基本譜減法做出了以下幾個方面的改進.
1)將信號的功率譜或頻譜幅值放入譜減中使用
上述式(4)中已給出了按功率譜計算的基本譜減.式(3)中使用了噪聲段的平均功率譜.而函數(shù)SSBoll79中給出
(5)
噪聲段的平均譜值為
(6)
式中,γ可以為1,也可以為2,分別表示著用譜幅值、功率譜做譜減.過減因子和增益補償因子在式(5)中分別用α、β來表示.
2)計算平均譜值
每幀語音信號xi(m)做DFT后得
(7)
式中,Xi(k)的下標(biāo)i表示語音信號的第i幀,然后在相鄰幀之間求平均值:
(8)
為了得到較小的譜估算方差,第i幀將在Xi-M(k),Xi-M+1(k),…,Xi(k),…,Xi+M(k)等(2M+1)幀之間求平均值.若要求3幀之間的平均值,只需在程序中取M=1.
3)減小噪聲殘留
用基本譜減法減噪后的語音信號中常伴有“音樂噪聲”,這主要是由噪聲殘留所造成的.通過式(5),可以知道譜減法的核心是
(9)
噪聲具有隨機性,在某個時段某條譜線的譜值有可能會大于α×D(k),按式(9)相減后并沒有完全消除噪聲,而是把它的峰值保留下來了,稱為噪聲殘留,在譜減后的語音中就形成了“音樂噪聲”.為了在譜減中盡可能地減少“音樂噪聲”,Boll提出了在減噪過程中保留噪聲的最大值.
對于在錄音棚無噪音環(huán)境下錄取的一段普米族的單純語音,在實驗進行前先對其進行加噪處理,采取疊加初始信噪比為0的隨機高斯白噪聲,并計算出疊加隨機高斯白噪聲后的信噪比.信噪比的計算公式為
(10)
其中s(n)為原始純凈的普米語.利用式(10)計算出疊加隨機高斯白噪聲后的信噪比.圖4為普米族的單純語音與疊加高斯噪聲后的語音.
將疊加噪聲后的普米語音信號在Matlab仿真平臺上使用小波分析中的小波閾值法進行減噪處理.通過前人的實驗經(jīng)驗和結(jié)果,本文作者選取lev=3作為小波分解的層數(shù).反復(fù)試聽并對比減噪前后的語音效果,最后選取db3小波,因其聽覺質(zhì)量和減噪效果都相對較好.在閾值的選取上,用ddencmp函數(shù)獲得了信號的默認閾值sorh=’s’、閾值向量thr=0.696 0和參數(shù)keepapp=1.其中s代表著此次實驗?zāi)J的閾值是軟閾值,若是h則代表實驗?zāi)J的閾值是硬閾值.用wdencmp小波函數(shù)獲得信號的軟閾值、硬閾值前,先重新設(shè)置閾值向量thr.使用庫函數(shù)wnoisest提取出第一層的細節(jié)系數(shù)來估算噪聲的標(biāo)準(zhǔn)偏差sigma=0.1477,最后利用標(biāo)準(zhǔn)偏差求出最終閾值向量thr=0.693 5.這3種閾值的選取方法來進行實驗并觀察實驗結(jié)果,以得到最合適的閾值選取方法.通過波形圖的觀察和信噪比的對比,可以發(fā)現(xiàn)分別采用這3種閾值減噪后所得到的語音效果和信噪比都差不多(圖5), 信噪比提高了8.845 00 dB.多次運行實驗,可以發(fā)現(xiàn)每次實驗結(jié)果中的波形圖和信噪比都會有一些差異,這是因為在實驗前本文作者給原始純凈普米語音疊加的是隨機高斯白噪聲.與此同時,也會發(fā)現(xiàn)小波閾值法減噪后的普米族語音信號,雖然減噪效果很好,但仍有很嚴(yán)重的音樂噪聲.
采用Boll的改進譜減法對帶噪的普米族語音進行減噪處理時設(shè)置前導(dǎo)無話段長度IS為0.1 s,從而得到圖6所示的波形.輸出的信噪比變化為:初始信噪比為0 dB,Boll改進譜減后的語音信噪比為0.371 80 dB,減噪后的信噪比提高了0.371 80 dB.顯然信噪比的變化很微小.同時經(jīng)過試聽可以發(fā)現(xiàn)采用Boll的改進譜減法減噪后的普米族語音信號進行減噪處理雖然減少了噪聲殘留,也即是減少了音樂噪聲,但減噪效果并不理想.
本文將對小波閾值法減噪后的普米族語音采取Boll的改進譜減法再次減噪處理.通過多次實驗,可以發(fā)現(xiàn)3種閾值選取的方法中,用ddencmp函數(shù)獲得信號的默認閾值的小波閾值法與Boll的改進譜減法聯(lián)合減噪后得到的信噪比最高,減噪效果最佳,圖8為聯(lián)合減噪后的波形.經(jīng)過試聽發(fā)現(xiàn)經(jīng)過Boll的改進譜減法再次減噪后,“音樂噪聲”顯著減少,減噪水平也得到了進一步的提升,最終減噪后的普米語音與原始的純凈普米語音更加接近,并且信噪比也更高了.輸出的信噪比變化為:初始信噪比為0 dB,聯(lián)合減噪后的語音信噪比為10.688 58 dB,減噪后的信噪比提高了10.688 58 dB.
從減噪實驗中,發(fā)現(xiàn)采用小波分析與Boll的改進譜減法聯(lián)合減噪算法減噪時,可以在很大程度上彌補這兩種方法單獨減噪時所存在的缺點.
基于小波分析和Boll改進譜減法,提出了一種它們的聯(lián)合算法,并使用這種算法對加噪后的普米語進行語音減噪實驗.實驗中主要運用了Matlab和數(shù)值仿真技術(shù).通過對減噪后語音的試聽和波形圖的觀察以及信噪比的對比,對實驗的結(jié)果進行分析.實驗結(jié)果表明,針對疊加了隨機高斯白噪聲的普米語,本文研究的這種聯(lián)合算法能有效的減少這兩種方法單獨使用時所產(chǎn)生的“音樂噪聲”和語音失真.然而本文只是針對疊加了隨機的高斯白噪聲的普米語來進行語音增強研究的,因此在今后對疊加了其他的不同類型的噪聲或不同的語料可以作進一步對比研究.