米 川,白俊賢
(河北科技大學(xué)研究生學(xué)院,河北 石家莊 050000)
語(yǔ)音信號(hào)的線性預(yù)測(cè)作為一種工具,已被應(yīng)用于語(yǔ)音信號(hào)處理的各個(gè)方面,是最有效和最流行的語(yǔ)音分析技術(shù)之一。它能夠較為精確地估計(jì)語(yǔ)音參數(shù),用極少的參數(shù)就可以有效而又正確地表現(xiàn)語(yǔ)音信號(hào)的時(shí)域及頻域特性。
線性預(yù)測(cè)應(yīng)用于語(yǔ)音,是因?yàn)榫€性預(yù)測(cè)可以提供一個(gè)非常好的聲道模型,這個(gè)聲道模型是用準(zhǔn)周期脈沖或隨機(jī)噪聲激勵(lì)一個(gè)線性時(shí)不變系統(tǒng)所產(chǎn)生的輸出而生成的,而這樣的聲道模型對(duì)理論研究和實(shí)際應(yīng)用都是相當(dāng)有用的。本文就是用這樣的線性預(yù)測(cè)模型合成的語(yǔ)音。
語(yǔ)音信號(hào)線性預(yù)測(cè)分析的基本原理是把被分析的語(yǔ)音信號(hào)用一個(gè)模型來(lái)表示,即將信號(hào)看做某一個(gè)模型的輸出,這樣就可以用模型參數(shù)來(lái)描述信號(hào)。
語(yǔ)音信號(hào)的模型如圖1。
圖1 語(yǔ)音信號(hào)x(n)的模型化表示
其系統(tǒng)傳遞函數(shù)為:
H(z)是以系數(shù)ai和增益G為模型參數(shù)的全極點(diǎn)模型。用系數(shù){ai}可以定義一個(gè)p階線性預(yù)測(cè)器F(z),即:
將這個(gè)p階線性預(yù)測(cè)器從時(shí)域角度理解為:用信號(hào)的前p個(gè)樣本來(lái)預(yù)測(cè)當(dāng)前的樣本得到如下預(yù)測(cè)值:
預(yù)測(cè)器的預(yù)測(cè)誤差:
短時(shí)預(yù)測(cè)均方誤差為:
即:
解方程得到線性預(yù)測(cè)系數(shù)ai的值。
首先錄制了一段語(yǔ)音,內(nèi)容為“語(yǔ)音信號(hào)處理”,采樣頻率為8 kHz,對(duì)語(yǔ)音信號(hào)進(jìn)行歸一化處理,消除直流分量。然后將語(yǔ)音信號(hào)進(jìn)行分幀處理,每幀240個(gè)樣點(diǎn),分別求出每一幀信號(hào)的線性預(yù)測(cè)系數(shù),線性預(yù)測(cè)計(jì)算階數(shù)為12。其中,樣點(diǎn)(3601-3841)這一幀信號(hào)的線性預(yù)測(cè)系數(shù)提取如圖2所示。
圖2 一幀語(yǔ)音信號(hào)的線性預(yù)測(cè)系數(shù)
線性預(yù)測(cè)系數(shù)為:
線性預(yù)測(cè)參數(shù)法是一種簡(jiǎn)單和實(shí)用的語(yǔ)音信號(hào)合成方法,特點(diǎn)是復(fù)雜度和成本較低,線性預(yù)測(cè)語(yǔ)音編碼可以有效地估計(jì)基本語(yǔ)音參數(shù),如基音、共振峰、譜、聲道面積函數(shù)等,可以對(duì)語(yǔ)音的基本模型做出精確的估計(jì)。求出預(yù)測(cè)誤差e(n)和預(yù)測(cè)系數(shù)ai后,可求出合成語(yǔ)音
線性預(yù)測(cè)合成模型是一種濾波器模型,這種語(yǔ)音合成器的框圖如圖3所示,其中的聲道參數(shù)和時(shí)變?yōu)V波器由預(yù)測(cè)系數(shù)ai直接遞歸濾波器所構(gòu)成。語(yǔ)音合成的結(jié)構(gòu)如圖4所示。
圖3 語(yǔ)音合成器的框圖
圖4 語(yǔ)音合成的結(jié)構(gòu)圖
語(yǔ)音信號(hào)參數(shù)合成都是一幀一幀計(jì)算的,而且信號(hào)在分幀的過(guò)程中還有重疊,那么在語(yǔ)音合成的時(shí)候如何把一幀幀的數(shù)據(jù)連接成連續(xù)的、平滑的數(shù)據(jù)流,而不使數(shù)據(jù)中間產(chǎn)生中斷或跳變非常重要。
設(shè)有兩個(gè)時(shí)間系列h(n)和x(n),它們的長(zhǎng)度相差很大。若h(n)的長(zhǎng)度為N、x(n)的長(zhǎng)度為N1,而N1?N。將x(n)分幀為xi(m),相鄰兩幀之間互不重疊,每幀長(zhǎng)與h(n)的長(zhǎng)相接近,然后將每幀xi(m)與h(n)做卷積。
假設(shè)h(n)是時(shí)不變的,在它的后面補(bǔ)零值,有
xi(m)每幀長(zhǎng)度為N+M-1,要求分幀后每幀的最后一個(gè)數(shù)據(jù)點(diǎn)都在iM(i=1,2,…)處,對(duì)于第一幀(i=1)數(shù)據(jù)幀的最后一點(diǎn)在M處,其長(zhǎng)度只有M,達(dá)不到N+M-1,只能向前補(bǔ)了N-1個(gè)零值,所以在分幀前數(shù)據(jù)x(n)要前向補(bǔ)N-1個(gè)零值,有
前向補(bǔ)零后的(n)進(jìn)行分幀,每幀xi(m)為xi(m)=(n) (i-1)M+1≤n≤iM+N-1
對(duì)(m)和xi(m)計(jì)算卷積,得到
每幀卷積結(jié)果舍去前N-1個(gè)點(diǎn),而只保留最后M個(gè)值,即每次卷積只取yi(m)的最后M個(gè)值:
而輸出序列為
原始語(yǔ)音信號(hào)波形和合成語(yǔ)言信號(hào)如圖5所示。
圖5 原始語(yǔ)音信號(hào)波形和合成語(yǔ)音信號(hào)
本文對(duì)語(yǔ)音信號(hào)的線性預(yù)測(cè)分析進(jìn)行了比較系統(tǒng)的探討,并用Matlab進(jìn)行了具體實(shí)驗(yàn),說(shuō)明了線性預(yù)測(cè)可提供一種簡(jiǎn)單而有效的用少量參數(shù)來(lái)表示語(yǔ)音信號(hào)的方法,這種方法是以語(yǔ)音信號(hào)數(shù)字模型為基礎(chǔ)。實(shí)際應(yīng)用中,線性預(yù)測(cè)模型帶來(lái)的誤差不大、分析計(jì)算簡(jiǎn)單、速度快、計(jì)算所得數(shù)據(jù)量少,因此它在語(yǔ)音分析中的地位是極其重要的。
[1] Linde,Buro,Gray.An Algorithm for Vector Quantizer Design[J].IEEE Transaction Communication,1980,(28):84-95.
[2] 韓紀(jì)慶.語(yǔ)音信號(hào)處理[M].北京:清華大學(xué)出版社,2004.
[3] 王京輝.語(yǔ)音信號(hào)處理技術(shù)研究[M].濟(jì)南:山東大學(xué),2008.
[4] 周偉雄.語(yǔ)音信號(hào)的神經(jīng)網(wǎng)絡(luò)非線性分析模型及應(yīng)用[D].廣州:華南理工大學(xué)碩士學(xué)位論文,2010.
[5] 高曉紅.基于非線性理論的漢語(yǔ)語(yǔ)音的分析[D].長(zhǎng)沙:中南大學(xué)碩士學(xué)位論文,2012.
[6] 宋知用.MATLAB在語(yǔ)音信號(hào)分析與合成中的應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2013.