iT邦幫忙

2021 iThome 鐵人賽

DAY 7
2
AI & Data

機器學習應用於語音相關服務系列 第 7

Day07 - 語音特徵擷取 - MFCC

  • 分享至 

  • xImage
  •  

要讓語音訊號能夠輸入到模型中進行訓練,就必須將其轉換成電腦看得懂的數值格式,也就是語音特徵

我們使用的語音特徵除了常見的梅爾頻率倒譜係數(Mel-Frequency Cepstral
Coefficient,MFCC)
,還使用了 AFE 特徵(全名為分散式語音辨識系統之進階前端特徵擷取演算法, DSR Advanced front-end feature extraction algorithm),使用的工具則是 HTK (網站連結:https://htk.eng.cam.ac.uk)。

MFCC 特徵擷取的流程如下圖:
https://ithelp.ithome.com.tw/upload/images/20210918/20140944lxnbIYzKR6.png
MFCC 擷取流程圖。輸入為原始語音訊號,輸出為MFCC特徵

梅爾頻率倒譜係數能夠考慮到人耳對於不同頻率會有不同敏感度的特性,因而常用於語音辨識。語音訊號經過預強調 (Pre-emphasis) 來突顯高頻的部份,之後將訊號轉變為音框(Frame),並對每一個音框乘上一漢明窗(Hamming Window) 來增加音框的連續性,接下來經由快速傅立葉轉換(Fast Fourier Transform,FFT) 將訊號從時域轉換到頻域上,再將得到的能量頻譜乘上M個三角帶通濾波器(Triangular Bandpass Filters),獲得每一個濾波器輸出的對數能量(Log energy),將上述的M個對數能量透過離散餘弦轉換(Discrete Cosine Transform, DCT) 後,即可求得梅爾頻率倒譜係數。

梅爾頻率與一般頻率(f)的轉換公式如下:
https://chart.googleapis.com/chart?cht=tx&chl=M(f)%3D1125%5Cln(1%2B%5Cfrac%7Bf%7D%7B700%7D)

利用離散餘弦轉換,將 M 個對數能量 https://chart.googleapis.com/chart?cht=tx&chl=E_%7Bm%7D 代入公式:
https://chart.googleapis.com/chart?cht=tx&chl=C_%7Bn%7D%3D%5Csum_%7Bm%3D1%7D%5E%7BM%7Dcos%5B%5Cfrac%7B%5Cpin*(m-0.5)%7D%7BM%7D%5D%2Cn%3D1%2C2%2C3%2C...%2CM
https://chart.googleapis.com/chart?cht=tx&chl=C_%7Bn%7D 即為梅爾頻率倒譜係數,M 為三角濾波器個數,N 為參數個數(通常 N=12,即為擷取前12個梅爾頻率倒譜係數)。

  • 過零率
    過零率代表每個音框中,訊號通過零點(正轉負或負轉正)的次數,即當波形解析
    為音框後音框值之正負號改變速度,通常與能量搭配用於訊號的端點偵測。

  • 基本頻率、諧音噪音比
    透過自動相關函數 (Auto-Correlation Function, ACF) 來計算諧音噪
    音比與基本頻率,自動相關函數常用於訊號處理中,用來分析函數或一系列
    值,如時域訊號。假設一個音框 f 的長度為 i,其ACF定義如下:

    https://chart.googleapis.com/chart?cht=tx&chl=ACF(%5Ctau)%3D%5Csum_%7Bi%3D0%7D%5E%7Bn-%5Ctau-1%7Df(i)f(i%2B%5Ctau)

    其中為https://chart.googleapis.com/chart?cht=tx&chl=%5Ctau目標延遲時間,可透過適當的https://chart.googleapis.com/chart?cht=tx&chl=%5Ctau 值來算出音框的基本頻率。諧音噪音比
    為諧音與噪因的比率,定義如下:

    https://chart.googleapis.com/chart?cht=tx&chl=HNR%3D10log%5Cfrac%7BACF(T_%7B0%7D)%7D%7BACF(0)-ACF(T_%7B0%7D)%7D

    其中https://chart.googleapis.com/chart?cht=tx&chl=T_%7B0%7D為所有目標延遲時間 https://chart.googleapis.com/chart?cht=tx&chl=%5Ctau中自動相關係數的最大值,即是諧波的能量。噪音可藉由總能量減去諧波的能量獲得。

  • 均方根能量
    能量代表聲音振幅的大小,振幅越大,表示此聲音能量越大。在固定的音框
    下,能量定義為:

    https://chart.googleapis.com/chart?cht=tx&chl=E%3D%5Cfrac%7B1%7D%7BN%7D%5Csum_%7Bn%3D1%7D%5E%7BN%7Df%5E%7B2%7D_%7Bn%7D

    其中N為音框的大小,fn為音框的訊號值。為了能夠有效的得到音框能量值,我們取其均方根:
    https://chart.googleapis.com/chart?cht=tx&chl=E_%7BRMS%7D%3D%5Csqrt%7B%5Cfrac%7B1%7D%7BN%7D%5Csum_%7Bn%3D1%7D%5E%7BN%7Df%5E%7B2%7D_%7Bn%7D%7D

最後產生的特徵是 39 維(dimension),包含12個倒頻譜係數加上對數能量(log energy),以及這13個向量的一階和二階(delta and delta-delta)導數。
介紹完 MFCC 特徵之後,接下來我們接著介紹AFE特徵~


上一篇
Day06 - 端到端(end-to-end)語音辨識-CTC part 2
下一篇
Day08 - 語音特徵擷取 - AFE
系列文
機器學習應用於語音相關服務30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言