語音識別之特徵參數提取(一)

語音識別對特徵參數有如下要求:

1. 能將語音信號轉換爲計算機能夠處理的語音特徵向量

2. 能夠符合或類似人耳的聽覺感知特性

3. 在一定程度上能夠增強語音信號、抑制非語音信號

常用特徵提取方法有如下幾種:

(1)線性預測分析(LinearPredictionCoefficients,LPC)

    擬人類的發聲原理,通過分析聲道短管級聯的模型得到的。假設系統的傳遞函數跟全極點的數字濾波器是相似的,通常用12-16個極點就可以描述語音信號的特徵。所以對於n時刻的語音信號,我們可以用之前時刻的信號的線性組合近似的模擬。然後計算語音信號的採樣值和線性預測的採樣值。並讓這兩者之間達到均方的誤差(MSE)最小,就可以得到LPC。

(2)感知線性預測係數(PerceptualLinearPredictive,PLP)

    一種基於聽覺模型的特徵參數。該參數是一種等效於LPC的特徵,也是全極點模型預測多項式的一組係數。不同之處是PLP是基於人耳聽覺,通過計算應用到頻譜分析中,將輸入語音信號經過人耳聽覺模型處理,替代LPC所用的時域信號,這樣的優點是有利於抗噪語音特徵的提取。

(3)Tandem特徵和Bottleneck特徵

    這是兩種利用神經網絡提取的兩類特徵。Tandem特徵是神經網絡輸出層節點對應類別的後驗概率向量降維並與MFCC或者PLP等特徵拼接得到。Bottleneck特徵是用一種特殊結構的神經網絡提取,這種神經網絡的其中一個隱含層節點數目比其他隱含層小的多,所以被稱之爲Bottleneck(瓶頸)層,輸出的特徵就是Bottleneck特徵。

(4)基於濾波器組的Fbank特徵(Filterbank)

    亦稱MFSC,Fbank特徵的提取方法就是相當於MFCC去掉最後一步的離散餘弦變換,跟MFCC特徵相比,Fbank特徵保留了更多的原始語音數據。

(5)線性預測倒譜系數(LinearPredictiveCepstralCoefficient,LPCC)

    基於聲道模型的重要特徵參數。LPCC是丟棄了信號生成過程中的激勵信息。之後用十多個倒譜系數可以代表共振峯的特性。所以可以在語音識別中取得很好的性能。

(6)梅爾頻率倒譜系數(MelFrequencyCepstrumCoefficient,MFCC)

     基於人耳聽覺特性,梅爾頻率倒譜頻帶劃分是在Mel刻度上等距劃分的,頻率的尺度值與實際頻率的對數分佈關係更符合人耳的聽覺特性,所以可以使得語音信號有着更好的表示。1980年由Davis和Mermelstein搞出來的。從那時起。在語音識別領域,MFCC可謂是鶴立雞羣,一枝獨秀。

Q: MFCC爲何一枝獨秀

    人通過聲道產生聲音,聲道的shape決定了發出怎樣的聲音。聲道的shape包括舌頭,牙齒等。如果我們可以準確的知道這個形狀,那麼我們就可以對產生的音素phoneme進行準確的描述。聲道的形狀在語音短時功率譜的包絡中顯示出來。而MFCC就是一種準確描述這個包絡的一種特徵。

聲譜圖

    處理語音信號,如何去描述它很重要,因爲不同的描述方式放映它不同的信息,而聲譜圖的描述方式是最利於觀測和理解的。

    由上圖可知,這段語音被分爲很多幀,每幀語音都對應於一個頻譜(通過短時FFT計算),頻譜表示頻率與能量的關係。在實際使用中,頻譜圖有三種,即線性振幅譜、對數振幅譜、自功率譜(對數振幅譜中各譜線的振幅都作了對數計算,所以其縱座標的單位是dB(分貝)。這個變換的目的是使那些振幅較低的成分相對高振幅成分得以拉高,以便觀察掩蓋在低幅噪聲中的週期信號)。

 

                        

    先將其中一幀語音的頻譜通過座標表示出來,如上圖(a)。旋轉90度,得到圖(b)。把這些幅度映射到一個灰度級表示,得到了圖(c)。這樣操作的原因是爲了增加時間維度,,得到一個隨着時間變化的頻譜圖,這個就是描述語音信號的聲譜圖(spectrogram)。這樣就可以顯示一段語音而不是一幀語音的頻譜,而且可以直觀的看到靜態和動態的信息。

       

倒譜分析(CepstrumAnalysis)

    下面是一個語音的頻譜圖。峯值就表示語音的主要頻率成分,我們把這些峯值稱爲共振峯(formants),而共振峯就是攜帶了聲音的辨識屬性,用它就可以識別不同的聲音。因此,需要把它提取出來。要提取的不僅是共振峯的位置,還得提取它們轉變的過程。所以我們提取的是頻譜的包絡(SpectralEnvelope)。這包絡就是一條連接這些共振峯點的平滑曲線。

                      

    由上圖可以看出,原始的頻譜由兩部分組成:包絡和頻譜的細節。因此需要把這兩部分分離開,就可以得到包絡了。按照下圖的方式進行分解,在給定logX[k]的基礎上,求得logH[k]和logE[k]滿足logX[k]=logH[k]+logE[k]。

     

    由上面這個圖我們可以看到,包絡主要是低頻成分,而高頻主要是頻譜的細節。把它倆疊加起來就是原來的頻譜信號了。即,h[k]是x[k]的低頻部分,因此將x[k]通過一個低通濾波器就可以得到h[k]了,也就是頻譜的包絡。

 

    以上解卷過程的專業術語叫做同態信號處理,(另一種方法爲基於線性變換)。語音本身可以看成是聲道衝擊信息(包括話者個性信息、語義信息,表現爲頻譜低頻成分)經過聲門激勵的一個響應函數,在時域上表現爲卷積形式。爲將二者分離開來,求得聲道共振特徵和基音週期,需要把這種非線性問題轉化爲線性問題第一步通過FFT將其變成了乘性信號(時域的卷積相當於頻域的乘積);第二步通過取對數將乘性信號轉化爲加性信號;第三步進行逆變換,使其恢復爲卷性信號。此時,雖然前後均是時域序列,但它們所處的離散時域顯然不同,所以後者稱爲倒譜頻域。計算過程如下圖所示。

 

附上MFCC求取流程:https://blog.csdn.net/xiaoding133/article/details/8106672

 

發佈了28 篇原創文章 · 獲贊 18 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章