田春環(huán),姜占才,李小航
(青海師范大學 物理系,青海 西寧810008)
一種新的子帶聲音強度參數(shù)及提取算法
田春環(huán),姜占才,李小航
(青海師范大學 物理系,青海 西寧810008)
為了使混合激勵線性預測語音編碼器(MELP)的應用更接近實際,提出了一種基于短時幅度與短時平均幅度差函數(shù)的子帶聲音強度提取方法。該方法根據(jù)MELP聲碼器解碼語音的(MOS)評分得出最佳的線性組合系數(shù),進而求出5個子帶的清/濁音強度,并將其植入MELP聲碼器中。仿真實驗表明,該算法不僅與原算法具有相同的效果,而且算法復雜度低。
清/濁音強度;短時幅度;短時平均幅度差函數(shù);線性組合
高質量的低速率實時語音壓縮編碼技術始終是語音編碼中重要的研究課題[1]。在2.4 kbps的速率上,美國國防部于1996年推出了新的美國聯(lián)邦標準混合激勵線性預測(MELP)算法[2]。該算法綜合了LPC和MBE算法的優(yōu)點,采用了分帶LPC模型,并引入混合激勵、非周期脈沖、自適應譜增強和脈沖散布濾波等技術?;旌霞钅P涂朔硕詈铣赡P椭屑钤葱畔⒚枋霾粶蚀_的缺陷,該模型采用子帶清/濁音強度調制五帶帶通濾波器得到整形濾波器,從而得到較為準確的激勵信息。MELP及其改進算法[3-14]雖然在合成語音的自然度和抗噪聲性能等方面有了很大的改善,但其帶通清/濁音強度最終都是通過求取自相關得到的。求取自相關過程中,乘法運算多、計算復雜,因此增大了處理延時。為了使混合激勵線性預測語音編碼器的應用更接近實際,本文提出了一種全新的子帶聲音強度參數(shù)及該參數(shù)的提取算法,該算法采用短時幅度和短時平均幅度差函數(shù)的第一最小值的線性組合表征子帶清/濁音強度,并將其植入MELP聲碼器中進行了大量的仿真實驗,實驗結果說明該方法不僅與原方法的解碼語音有相當?shù)脑捯糍|量,而且運算速度快。
1.1 聲音強度新參數(shù)提取的依據(jù)
為方便敘述,先對用到的字母作如下定義:N為幀長,w為矩形窗函數(shù);xw(m)表示x(m)經(jīng)過加窗處理后的信號,窗函數(shù)的長度為N;k為信號x(m)平移的移位量;m為當前幀。
1.1.1 短時幅度
語音信號的短時幅度定義為:
Mn也是一幀語音信號能量大小的表征,是標量,維數(shù)為1×1,它與短時能量的區(qū)別在于不論采樣值大小,不會因取二次方而造成較大的差異,在某些應用領域中會帶來一些好處。此外,短時幅度可以區(qū)分清音和濁音,因為濁音的能量要比清音的能量大得多。
1.1.2 短時平均幅度差函數(shù)
短時平均幅度差函數(shù)的定義為:
對于周期性的x(n),γn(k)也呈現(xiàn)周期性。γn(k)為矢量,維數(shù)為1×N。與短時自相關函數(shù)相反的是,在周期的各整數(shù)倍點上γn(k)具有的是谷值,而不是峰值。
圖1中(a)為清音語音的短時平均幅度差函數(shù);(b)為濁音語音的短時平均幅度差函數(shù)。從圖中可以看出,短時平均幅度差函數(shù)谷值的大小相差比較多,所以可根據(jù)這一特點來判斷是清音還是濁音。
圖1 一幀語音信號短時平均幅度差函數(shù)
1.1.3 線性組合
用上述兩個參數(shù)單一的提取帶通清/濁音強度時,都得設置門限,若門限設置的不合理,則提取出的帶通清/濁音強度會有誤差。因此,可以將這兩個特征參數(shù)進行線性組合。文中提出的帶通清/濁音強度新參數(shù)提取算法的定義為:
其中,fd為每一子帶的的短時幅度,fdc為每一子帶的短時平均幅度差函數(shù)的最小值,α是一個插值參數(shù),α的取值決定了帶通清/濁音強度的好壞。而α參數(shù)無法事先確定,可能會選得過大或過小,況且信號是時變的。因此,求解此參數(shù)是一個逼近過程。
從語音庫中取出一段語音(長度為10秒左右的句子),用MATLAB語言對這段語音進行編程,得到實驗用MELP聲碼器。在實驗環(huán)境下組織測試評聽,評聽人員預先不知道評聽內容,測試小組由10人組成,其中6人是非專業(yè)成員,測試后,不同α取值下,基于參數(shù)的聲碼器解碼語音的MOS得分曲線如圖2所示。
1.2 新算法提取原理
MELP聲碼器在進行語音幀的清/濁音(U/V)判別時,將信號分為5個子帶,提取帶通清/濁音強度,分別進行U/V判決,用參數(shù)Vi(i=1,2,…,5)表示,其值大于0.6時表示濁音,小于等于0.6時表示清音。Vi代表各子帶的聲音強度,為一個五維的矢量。子帶聲音強度新參數(shù)提取算法原理如圖3所示。
圖2 插值系數(shù)α與解碼語音的MOS得分曲線圖
圖3 新的子帶聲音強度提取算法原理圖
將輸入語音信號經(jīng)過一個截止頻率為100 Hz的高通濾波器,將低于100Hz頻率分量的信號濾掉,濾波器輸出的信號作為編碼器的輸入語音信號,其目的是為了防止50Hz電源噪聲干擾。提取子帶聲音強度首先要將語音信號濾波分成5個頻帶,即用5個六階Butterworth帶通濾波器將輸入語音分割為0~ 500Hz、500~1 000 Hz、1 000~2 000 Hz、2 000~3 000 Hz、3 000~ 4 000Hz5個子帶,求得每一子帶的短時幅度fd與短時幅度差函數(shù)fdc,fd為標量,fdc為矢量,為能把兩特征值直接進行組合,必須使兩特征值的維數(shù)一致,因此,求fdc矢量中的最小值,用求得的最小值與短時幅度進行線性組合得到子帶聲音強度;組合系數(shù)根據(jù)插值系數(shù)α與聲碼器解碼語音的MOS評分得出。
2.1 實驗方案
仿真實驗分兩組進行:1)對同一語音樣本,在一定的信噪比(18 dB)下,分別用新參數(shù)提取算法和原提取算法進行仿真實驗;2)對同一語音樣本在不同信噪比(10 dB和7 dB)下,分別用新參數(shù)提取算法和原提取算法進行仿真實驗。
2.2 實驗材料(語音樣本)
實驗用語音樣本取自筆者導師建立的語音庫。其語料為短句、詞匯和長篇文章,用正常的語速朗讀、在實驗室環(huán)境下錄制,輸入計算機轉換為8 kHz采樣、8 bit量化、線性PCM編碼的數(shù)字語音。語音庫大小為186 MB。實驗室用的語音樣本是從語音庫中挑選的短句,加入高斯白噪聲后形成帶噪的語音。實驗用語音樣本幀長、幀移均為160點,幀間無重疊。
2.3 實驗程序
對新參數(shù)提取算法按圖3的算法原理用matlab語言編程,以文件名xvbp.m存儲;同時,對原算法編程,以文件名yvbp.m存儲;在計算機上仿真實驗。通過客觀波形顯示和算法復雜度分析,評價算法的實際效果。
2.4 應用仿真實驗
實驗選擇標準的MELP聲碼器(軟件),只將其中的提取子帶清/濁音強度部分置換為文中提出的新參數(shù)提取算法,其余部分保持原樣,分別得到兩個實驗用聲碼器(軟件),編程,分別以文件名xmelp.m和ymelp.m存盤。通過顯示原始語音、含噪語音、原聲碼器解碼語音與新算法得到的解碼語音的波形,觀測效果。
部分實驗結果如圖4和圖5所示。圖4是同一段語音在信噪比為10 dB時,原提取算法與新提取算法的應用實驗結果。結果顯示,對信噪比為10分貝的含噪語音,新提取算法與原提取算法得到的解碼語音波形幾乎一致。圖5是同一段語音在信噪比為7 dB時,基于兩種算法的應用實驗結果。結果顯示,對信噪比為7 dB的含噪語音,新提取算法得到的解碼語音波形幾乎逼近原提取算法得到的解碼語音波形。通過語音波形的客觀比較,可以看出,新提取算法與原提取算法的解碼語音具有相同的效果。且新提取算法得到的解碼語音可懂度和自然度較高。
2.5 算法復雜度分析
原提取子帶聲音強度算法的運算量很大,其原因是乘法運算所需要的時間較長,利用快速傅里葉變換等簡化計算方法都無法避免乘法運算。而新參數(shù)提取算法中提取短時幅度和短時幅度差函數(shù)只需加、減法和取絕對值的運算,與自相關函數(shù)的加法與乘法相比,其運算量大大減少,明顯降低了提取算法的復雜度。
圖4 10 dB下新、原算法合成語音波形
圖5 7 dB下新、原算法合成語音波形
子帶聲音強度全新參數(shù)提取算法的基本思想是采用短時幅度和短時平均幅度差函數(shù)的第一最小值的線性組合表征子帶清/濁音強度。該算法代替了傳統(tǒng)的子帶聲音強度提取算法,得到的解碼語音與基于傳統(tǒng)算法的解碼語音具有相同的音質效果,其算法不僅原理簡單、物理意義清晰、實現(xiàn)復雜度低,而且使混合激勵線性預測語音編碼器的應用更接近實際。
[1]鮑長春.數(shù)字語音編碼原理[M].西安:西安電子科技大學出版社,2007.
[2]SUPPLEE L M,McCree A V.MELP:the new federal standard at 2400 bit/s[A].In:Proc ICASSP 97[C].Munich,Germany:1997,1 591-1594.
[3]姜占才,楊林.語音模糊特征提取及碼本訓練算法[J].吉林大學學報:信息科學版,2012,30(3):279-284.
[4]閔剛,張雄偉,楊吉斌.一種采用混合激勵的超低速率分段聲碼器[J].數(shù)據(jù)采集與處理,2009,5(24):680-685.
[5]馮曉榮,劉曉明,田雨.改進的MELP低速率語音編碼器[J].計算機工程與應用,2011,47(29):131-133,217.
[6]馬欣,劉常澍,李文元.一種改進的2.4 kb/s混合激勵線性預測聲碼器方案[J].電路與系統(tǒng)學報,2007,3(12):117-120.
[7]胡劍凌,徐盛,陳健.2.4kb/s MELP算法設計[J].上海交通大學學報,2000,6(34):789-792.
[8]李強,謝虹恩.改進的基于MELP的非連續(xù)傳輸語音編碼算法[J].重慶郵電大學學報:自然科學版,2014,5(26):636-641.
[9]韓瓊磊,郭立,楊帆.MELP解碼器系統(tǒng)的FPGA實現(xiàn)[J].計算機工程與應用,2009,45(9):74-76.
[10]陳雙燕,張鐵軍,王東輝.基于一種可配置可擴展處理器的MELP語音算法的改進與實現(xiàn)[J].微電子學與計算機,2006,6(23):42-44,48.
[11]唐駿,袁江南.基于ARM9的MELPe語音編碼算法優(yōu)化[J].數(shù)據(jù)采集與處理,2012,S1(27):61-65.
[12]華國剛,戴蓓蒨,張欽.一種改進的MELP語音編碼方法[J].電路與系統(tǒng)學報,2003,1(8):101-104.
[13]鐵滿霞,王都生.基于線性預測系數(shù)自適應前后向量化的可變速率MELP語音編碼 [J].電子與信息學報,2001,9(23):919-923.
[14]陳亮,張雄偉,陸惠娣.一種改善激勵源的1.2 kb/s語音編碼算法及其實時實現(xiàn)[J].解放軍理工大學學報:自然科學版,2002,4(3):5-9.
A new subband voiced intensity parameter and extraction algorithm
TIAN Chun-huan,JIANG Zhan-cai,LIXiao-hang
(Departmentof Physics,Qinghai Normal University,Xining 810008,China)
In order tomake themixed excitation linear prediction speech coder(MELP)closer to the actualapplication,this paper proposes a method of subband voiced intensity extraction based on a short-time magnitude and short-time average magnitude difference function.The method calculate the linear combination of the two coefficient based on MOS score of decoding speech of MELP vocoder,and calculate 5 bandpass unvoiced/voiced intensity,apply it to the MELP vocoder. Simulation experiments show that the algorithm not only decoding speech with the original algorithm of decoding speech has the same effect,butalso has low algorithm complexity.
unvoiced/voiced intensity;short-time magnitude;short-time average magnitude difference function;linear combination
TN912.35
A
1674-6236(2016)20-0171-03
2015-11-02 稿件編號:201511003
國家社科基金項目資助(15XYY026)
田春環(huán)(1988—),女,山東菏澤人,碩士。研究方向:語音與圖像處理。