第二章 語音特徵擷取
2.1 語音信號前置處理
語音信號之前置處理是語音信號在作特徵擷取之前,以語音處理之方法將 所需之語音段落擷取出來,便於之後的特徵擷取,其中最主要的步驟是端點偵 測,在此我們參考實驗室顏坤銘學長[30]論文所使用的方法。
2.1.1 語音信號取樣
語音信號藉由麥克風介面輸入,為準位在數十毫伏特之類比電壓信號,之 後再經過放大。取得之語音類比訊號在經過取樣(Sampling)的動作之後,可以得 到離散化的數位語音訊號。由於一般人說話的頻譜多集中在 4KHz 以下,根據 取樣定理,取樣頻率(Sampling frequency)的設定至少要設定在信號頻寬的兩倍 以上,才不會造成失真的現象,所以設定為 8KHz。
2.1.2 端點偵測(Endpoint Detection)
得到一段原始的數位語音訊號後,並不是整段訊號都是有效的資料,因為 這段訊號可能包括真正的語音資料和剩餘的靜音或雜訊部分,所以需要先知道 語音資料的起點和終點位於何處,一方面可以找出有效的語音段,另一方面可
以減少不必要的資料。因此,端點偵測可以說是最重要的前置過程,若是不正 確地抓取語音段的端點,將會影響後續計算的特徵值,影響辨識的成功率。端 點偵測主要依靠的是短時距能量(Short time energy)及越零率(Zero crossing rate) 兩項資訊作為偵測的依據標準,兩者的說明如下所述。
12
圖2-1 端點偵測 之規則列出如下:
(1)若E(k)小於短時距能量之低臨界值(Energy low threshold),則認定是非語音段 的部份。
(2)若E(k)大於短時距能量之低臨界值(Energy low threshold),且也高於短時距能 量高臨界值(Energy high threshold),則認定為語音段之起點。
(3)若E(k)小於短時距能量之高臨界值(Energy high threshold),則必須要再加上 越零率臨界值(Zero crossing rate threshold)來加以輔助,Z(k)大於越零率臨界 值(Zero crossing rate threshold)可以判定為語音段之起點。
(4)要找尋語音段終點時,則是從抓取信號之尾端開始作反向搜尋,若E(k')大於 短時距能量之低臨界值(Energy low threshold),則認定是語音段之終點部份。
利 用 這 兩 個 參 數 來 偵 測 端 點 , 首 先 必 須 要 分 別 找 出 兩 者 適 合 的 臨 界 值 time(s)
time(s) Zero Crossing
rate Energy
Low threshold High threshold
Threshold
Start point End point
有效語音
(Threshold),臨界值的取得必須經由反覆測試才能得到各個系統之適用值,且臨 界值會受到系統採用之麥克風種類等等因素影響而有所不同,因此,不同的系 統所使用的臨界值並不一定相同。為使臨界值能夠隨著擷取到的語音信號作出 調整,本論文之做法是利用擷取到的最初一段語音信號的偵測值作為判斷的基 準。利用這一小段時間之能量作為短時距能量偵測的低臨界值,而高臨界值則 是低臨界值乘上一個倍數,如式(2-5)、式(2-6) ,N1為取基準所設定之Frame大 小。越零率臨界值的決定則是同樣的方式,以得到之基準為越零率臨界值如式 (2-7)、式(2-8)。至於乘上之倍數(Factor)是經由反覆測試而決定。依據上述步驟,
圖2-2為實際端點偵測後之結果,圖中兩側之粗黑線為鎖定之語音段起點及終 點,如圖中所示一般可以正確地標註出語音段之兩側端點。
∑
−=
+
= 1
0
1
) (
N
m
m n S threshold
low Energy
(2-5)
圖2-2 端點偵測之結果
14
threshold 1 rate 鳴率,也稱為「基本頻率」(Fundamental Frequency)。對整段語音訊號進行抓取音 高的過程,通常稱為「音高追蹤」(Pitch Tracking)[31],音高追蹤的基本流程如下:
首先將整段聲音訊號切成多個音框,相鄰音框之間可以重疊,接著算出每個音框所 對應的音高,排除不穩定的音高值,得到整段的音高值。
音高追蹤的方法可以分為時域和頻域兩大類,由於時域方法中的自相關函數 (Autocorrelation function; ACF)運算量較少,在實作上也比較容易,所以本論文採用