機器學習語音識別中的特徵提取MFCC和PLP


機器學習語音識別中的特徵提取MFCC和PLP

機器學習ML從原始數據中提取特徵並創建內容的密集表示。這迫使我們在沒有噪音的情況下學習核心信息來進行推斷。

回到語音識別,我們的目標是在聲學和語言模型的基礎上找到與音頻對應的最佳單詞序列。

機器學習語音識別中的特徵提取MFCC和PLP

為了建立一個聲學模型,我們的觀測值X由一系列聲學特徵向量(x₁,x2,x₃,…)表示。在本文中,我們將討論如何從所學知識中提取音頻特徵。

需求

我們先來定義一下ASR(自動語音識別器)中對特徵提取的一些要求。給定一個音頻段,我們使用一個25毫秒寬的滑動窗口來提取音頻特徵。

機器學習語音識別中的特徵提取MFCC和PLP


這個25毫秒的寬度足以讓我們捕獲足夠的信息,但是此框架內的特徵應保持相對固定。如果我們用4部電話每秒說3個單詞,而每個電話又細分為3個階段,則每秒有36個狀態或每個狀態約為28毫秒。因此25ms窗口大約正確。


機器學習語音識別中的特徵提取MFCC和PLP


語境在語音中非常重要。發音會根據電話前後的發音而變化。每個滑動窗口相距約10毫秒,因此我們可以捕獲幀之間的動態變化以捕獲適當的上下文。

音高因人而異。但是,這在識別他/她所說的內容方面幾乎沒有作用。F0與音高有關。它在語音識別中沒有任何價值,應刪除。

我們還希望提取的特徵能夠對說話者是誰以及環境中的噪聲具有魯棒性。同樣,像任何ML問題一樣,我們希望提取的特徵與其他特徵無關。開發模型和訓練具有獨立特徵的模型更加容易。

一種流行的音頻特徵提取方法是具有39個特徵的梅爾頻率倒譜系數(MFCC)。特徵數量很小,足以迫使我們學習音頻信息。12個參數與頻率振幅有關。它為我們提供了足夠的頻率來分析音頻。

下面是提取MFCC特徵的流程。

機器學習語音識別中的特徵提取MFCC和PLP

主要目標是:

  • 刪除聲帶激勵(F0)-音高信息。
  • 使提取的特徵獨立。
  • 調整以適應人們對響度和聲音頻率的感知。
  • 捕獲電話動態(上下文)。

梅爾頻率倒譜系數(MFCC)


A/D轉換

A/D轉換採樣音頻剪輯並將內容數字化,即將模擬信號轉換為離散空間。通常使用8或16 kHz的採樣頻率。

機器學習語音識別中的特徵提取MFCC和PLP

預加重

預加重提高了高頻能量。對於像元音這樣的濁音段,低頻比高頻有更多的能量。這被稱為頻譜傾斜,與聲門聲源有關(聲帶如何產生聲音)。提高高頻能量使高級共振峰中的信息更可用於聲學模型。這樣可以提高電話檢測的準確性。對於人類來說,當我們聽不到這些高頻聲音時,就會開始出現聽力問題。另外,噪聲具有高頻率。在工程領域,我們使用預加重來使系統不易受到後續過程中引入的噪聲的影響。對於某些應用程序,我們只需要在最後取消撤銷即可。

預加重使用濾波器提升更高的頻率。以下是有關如何增強高頻信號的前後信號。

機器學習語音識別中的特徵提取MFCC和PLP

窗口化

窗口化涉及將音頻波形切成滑動幀。


機器學習語音識別中的特徵提取MFCC和PLP

但是我們不能只在框架邊緣將其切掉。振幅突然下降會產生大量的噪聲,並在高頻中出現。要對音頻進行切片,幅度應在幀邊緣附近逐漸降低。

機器學習語音識別中的特徵提取MFCC和PLP

假設w是應用於時域內原始音頻剪輯的窗口。

機器學習語音識別中的特徵提取MFCC和PLP

w的一些替代方法是Hamming窗口和Hanning窗口。下圖顯示瞭如何使用這些窗口來截斷正弦波形。如圖所示,對於Hamming窗口和Hanning窗口,幅度在邊緣附近下降。(Hamming窗口的邊緣略有突然下降,而Hanning窗口則沒有。)

機器學習語音識別中的特徵提取MFCC和PLP

w的對應方程為:

機器學習語音識別中的特徵提取MFCC和PLP

下圖中右上方的是時域中的聲波。它主要僅由兩個頻率組成。如圖所示,與矩形窗口相比,帶有Hamming和漢寧Hanning的短切幀可以更好地保持原始頻率信息,並且噪聲更少。

機器學習語音識別中的特徵提取MFCC和PLP

離散傅里葉變換(DFT)

接下來,我們應用DFT提取頻域中的信息。

機器學習語音識別中的特徵提取MFCC和PLP

梅爾濾波器

設備的測量值與我們的聽覺感覺不同。對於人類,感知的響度會根據頻率而變化。同樣,隨著頻率的增加,感知的頻率分辨率也會降低。也就是說,人類對高頻不那麼敏感。左圖表示梅爾標度如何將測得的頻率映射到我們在頻率分辨率的情況下所感知到的頻率。

機器學習語音識別中的特徵提取MFCC和PLP

所有這些映射都是非線性的。在特徵提取中,我們應用三角帶通濾波器來掩蓋頻率信息以模仿人類的感知。

機器學習語音識別中的特徵提取MFCC和PLP

首先,我們對DFT的輸出進行平方。這反映了每個頻率(x [k]²)上語音的功率,我們稱其為DFT功率譜。我們應用這些三角梅爾級濾波器組將其轉換為梅爾級功率譜。每個梅爾標度功率譜時隙的輸出代表其覆蓋的多個頻帶中的能量。這種映射稱為Mel Binning。m的公式為:

機器學習語音識別中的特徵提取MFCC和PLP

高頻段的列角帶通寬度較大,反映了人耳在高頻段的靈敏度較低。具體來說,它在1000 Hz以下線性間隔開,然後對數旋轉。

所有這些努力都試圖模仿我們耳朵中的基底膜如何感知聲音的振動。出生時,基膜在耳蝸內大約有15,000根毛髮。下圖顯示了這些毛髮的頻率響應。因此,下面的曲線形狀響應僅由Mel濾波器組中的三角形近似得出。

機器學習語音識別中的特徵提取MFCC和PLP

我們模仿耳朵如何感知那些毛髮的聲音。簡而言之,它是通過使用梅爾濾波庫的三角濾波器建模的。

機器學習語音識別中的特徵提取MFCC和PLP

梅爾濾波器組輸出功率譜。人類對高能量下的小能量變化不如低能量水平下的小變化敏感。實際上,它是對數的。因此,我們的下一步將把對數從梅爾濾波器組的輸出中刪除。這也減少了對於語音識別不重要的聲學變體。接下來,我們需要解決另外兩個需求。首先,我們需要刪除F0信息(音高)並使提取的特徵彼此獨立。

倒頻譜— IDFT

以下是語音產生方式的模型。

機器學習語音識別中的特徵提取MFCC和PLP

我們的發音控制著聲道的形狀。源濾波器模型將聲帶產生的振動與我們的關節產生的濾波器結合在一起。聲門的波形將通過聲道的形狀在不同的頻率被抑制或放大。

我們的下一步是計算將聲門源和濾波器分開的倒頻譜。圖(a)是y軸為振幅的頻譜。圖(b)取幅度的對數。仔細觀察,該波在1000到2000之間波動大約8次。實際上,每1000個單位波動大約8次。大約是125 Hz,即聲帶的源振動。

機器學習語音識別中的特徵提取MFCC和PLP

正如觀察到的,對數頻譜(下面的第一張圖)組成了與電話(第二張圖)和音高(第三張圖)有關的信息。第二張圖中的峰值標識了區分電話的共振峰。但是,我們如何分開它們呢?

機器學習語音識別中的特徵提取MFCC和PLP

回想一下,在變換之後,時域或頻域中的週期是反轉的。

機器學習語音識別中的特徵提取MFCC和PLP

回想一下,音調信息在頻域中的週期很短。我們可以應用傅立葉逆變換將音高信息與共振峰分開。如下所示,音高信息將顯示在中間和右側。中間的峰值實際上對應於F0,並且與電話相關的信息將位於最左側。

機器學習語音識別中的特徵提取MFCC和PLP

這是另一種可視化。左圖上的實線是頻域中的信號。它由虛線所示的電話信息和音調信息組成。在IDFT(離散傅立葉逆變換)之後,將週期為1/T的基音信息轉換為右側T附近的峰值。

機器學習語音識別中的特徵提取MFCC和PLP

因此,對於語音識別,我們只需要最左邊的係數並丟棄其他係數即可。實際上,MFCC僅採用前12個倒譜值。這12個係數還有另一個重要的性質。對數功率譜是真實且對稱的。它的逆DFT等效於離散餘弦變換(DCT)。

機器學習語音識別中的特徵提取MFCC和PLP

DCT是正交變換。在數學上,轉換產生不相關的特徵。因此,MFCC特徵是高度無關的。在ML中,這使我們的模型更易於建模和訓練。如果我們使用多元高斯分佈對這些參數建模,則協方差矩陣中的所有非對角線值都將為零。從數學上講,此階段的輸出是

機器學習語音識別中的特徵提取MFCC和PLP

以下是12個倒譜系數的可視化。

機器學習語音識別中的特徵提取MFCC和PLP

動態特徵(δ

MFCC具有39個特徵。我們最終確定12個,剩下的是什麼。第13個參數是每幀中的能量。它可以幫助我們識別電話。

機器學習語音識別中的特徵提取MFCC和PLP

在發音中,上下文和動態信息很重要。清晰的發音,如停止關閉和釋放,可以通過共振峰過渡來識別。特徵隨時間的變化提供了電話的上下文信息。另外13個值計算下面的增量值d(t)。它可以測量從上一幀到下一幀的特徵變化。這是特徵的一階導數。

機器學習語音識別中的特徵提取MFCC和PLP

最後13個參數是d(t)從上一幀到下一幀的動態變化。它充當c(t)的二階導數。

因此39個MFCC特徵參數是12個倒譜系數加上能量項。然後,我們還有2個對應於δ和雙δ值的集合。

機器學習語音識別中的特徵提取MFCC和PLP

倒譜均值和方差歸一化

接下來,我們可以執行特徵歸一化。我們用均值對特徵進行歸一化,然後將其除以方差。均值和方差是用特徵值j在一次發聲中在所有幀上計算的。這使我們可以調整值以抵消每個記錄中的變量。

機器學習語音識別中的特徵提取MFCC和PLP

但是,如果音頻剪輯很短,則可能不可靠。相反,我們可以根據說話者甚至整個訓練數據集來計算平均值和方差值。這種類型的特徵歸一化將有效地取消較早完成的預強調。這就是我們提取MFCC特徵的方式。最後一點,MFCC的抗噪能力不是很強。

感知線性預測(PLP)

PLP與MFCC非常相似。出於聽覺動機,它使用相同的響度預加重和立方根壓縮,而不是對數壓縮。

機器學習語音識別中的特徵提取MFCC和PLP

它還使用線性迴歸來最終確定倒頻譜系數。PLP的精度稍好一些,而噪聲魯棒性則更好。但是也相信MFCC是安全的選擇。在整個系列中,當我們說提取MFCC特徵時,也可以提取PLP特徵。

結論

ML為問題域建立模型。對於複雜的問題,這非常困難。本文中的特徵提取方法在很大程度上取決於經驗結果和觀察結果。隨著DL的引入,我們可以減少黑客的攻擊來訓練複雜的模型。但是,某些概念對於DL語音識別仍然有效並且很重要。


分享到:


相關文章: