第二章 語音情緒特徵參數計算
2.2 語音特徵(Speech Feature)計算
2.2.1 音高(Pitch)
在一段語音信號的形成過程中,首先會先由聲音源(Sound source) 發出一定頻率的弦波訊號後,接著聲音經由口腔、舌和嘴唇等所形成
的濾波器(Filters),將聲源信號做調變,便可以發出不同聲調的聲音。
而所謂的音高(或者稱為基頻, Pitch),意指發音源最原始的振動頻 率;通常要精確的去找出音高是不太容易的事,一般常用的方法,有 自相關函數分析(Autocorrelation Function Analysis) [53]、倒頻譜演算 法(Cepstrum Algorithm) [43]以及小波轉換(Wavelet Transform)[31]等。
音高為語音辨識中重要的特徵之一,只有在有聲語音(Voiced signal)中,才會有音高的存在,而人類的情緒則是隱藏於有聲的語音 信號中,圖 2-7為一段語音訊號經由自相關函數分析所計算出來的音 高輪廓(Pitch contour),本文之音高計算將採用自相關函數分析作為音 高的計算方法,其主要步驟如下:
(1)、取出一段經過音框化之語音訊號,將此語音訊號序列經過快速 傅立葉轉換後,得到一頻譜參數序列。
n m
FFT
x
nFSpectrum ; (2.2.1) 其中m表示第m個音框,x
n 表示第m個音框內的語音訊號序列。(2)、設定一頻寬(50~1000Hz),將此頻率範圍內之音框頻譜做自相關 分析,如式(2.2.2)所示。
1
1
; )
; (
; _
n
i
m i
FSpectrum m
i FSpectrum
m i FSpectrum ACF
(2.2.2)
(3)、找出自相關分析ACF_FSpectrum
i;m 除了第一個值外,最大值 的位置,並由式(2.2.3)計算出對應的頻率。
1
k N
pitch Fs (2.2.3)
其中,N為音框長度,k表示除了第一個值外,最大值的位置點。
2.2.2 共振峰(Formant)
人類的聲帶振動經過聲道以及口腔後,會產生共振發出聲音,取 一段經音框化後之音頻訊號,將音頻訊號利用快速傅立葉轉換將訊號 轉換到頻譜上,將傅立葉轉換之頻譜取其包絡線,可得到一條較為緩 和的頻譜曲線,在曲線上可以看到若干個高點,這些高點代表能量集 中的頻率位置,這些能量集中的位置就是共振峰(Formant)之所在位 置。如圖 2-8 所示,第一個高點通常為音高位置,標示為 F0,第二 個高點稱為第一共振峰,標示為 F1,第三個高點稱為第二共振峰,
標示為 F2,依次類推。如果發出的聲音是聲帶不動的輔音,則在頻 譜上就看不到基頻與共振峰,而且能量會比較集中在高頻處。
2.2.3 音框能量(Frame Energy)
在語音特徵中,聲音強度的變化是相當重要的訊息,聲音強度與 波形振幅有關,振幅越大音強越大,在固定音框長度的情況下,音框 能量可以以式(2.2.4)表示
m
N mL n
n x m
En
1
2 (2.2.4) 其中,m為音框編號,音框與音框相距為 L。
由於人耳對音強的感知並非線性,而是接近於對數的曲線,所以
一般時候我們會將能量以對數方式表示,
m
N mL n
n x m
En
1
log 2 (2.2.5) 我們從訊號起始端開始,第一個音框編號為 1,以此類推,我們 可以得到一音框能量變化的序列,圖 2-9為一語音訊號的音框能量曲 線,
2.2.4 梅爾頻率倒頻譜係數(Mel-frequency Cepstral coefficient, MFCC)
人耳在頻域上的感知並非全頻域有相同的敏感度,在正常的情況 下,對於低頻有較高的解析度,也就是在低頻可以分辨較小的頻率差 異,此外還有臨界頻帶的現象,在1kHz 頻率以下的臨界頻帶寬度約 為 100Hz,1kHz 頻率以上的臨界頻帶寬度成指數增加。因此,配合 人耳聽覺特性,在頻域中以梅爾(Mel-frequency)劃分頻帶,將屬於一 個頻帶中的頻率成分,合在一起當作一個能量強度,然後將這些頻帶 強度,以離散餘弦轉換(DCT),轉換成倒頻譜,其轉換方法如下,首 先,設計一組梅爾頻率的帶通濾波器,來得到通過帶通的音強,用以 計算倒頻譜,圖 2-10 為三角形濾波器所組成的梅爾濾波器組,梅爾 頻率刻度是以 1kHz 以下為等間距,1kHz以上為對數間隔,在 4kHz 範圍內設計成20 個頻帶,其中心頻率設定成;100,200,300,400, 500,600,700,800,900,1000,1148,1318,1514,1737,1995, 2291,2630,3020,3467,4000Hz。以數學式表示,第 m 個濾波器
的函數式如下: Cosine Transform, DCT),得到梅爾頻率倒頻譜。