原文鏈接地址:http://blog.csdn.net/u010451580/article/details/51178190
一.語音的產生簡介
1.1 發音器官
人體的語音是由人體的發音器官在大腦的控制下做生理運動產生的。人體發音器官由三部分組成:肺和氣管、喉、聲道。 肺是語音產生的能源所在。氣管連接着肺和喉,是肺與聲道的聯系通道。喉是由一個軟骨和肌肉組成的復雜系統,其中包含着重要的發音器官——聲帶。聲帶為產生語音提供主要的激勵源。聲道是指聲門(喉)至嘴唇的所有發音器官,包括咽喉、口腔和鼻腔。
1.2 語音的產生
語音是聲音的一種,是由人的發聲器官發出,具有一定語法和意義的聲音。大腦對發音器官發出運動神經指令,控制發音器官各種肌肉運動從而振動空氣從而形成。

空氣由肺進入喉部,經過聲帶激勵,進入聲道,最后通過嘴唇輻射形成語音。
1.3 語音信號的數字模型


語音信號產生的時域模型
如圖:語音信號的數字模型由三個部分組成,激勵模型、聲道模型、輻射模型。
語音信號S(z)=U(z)·G(z)·R(z)。
激勵模型:發濁音時聲帶的不斷開啟和關閉將產生間歇的脈沖波。這個脈沖波類似於斜三角形脈沖串。如下圖所示:

單個斜三角形波及其頻譜
發清音時,可等效成隨機白噪聲。
聲道模型:聲道部分的數學模型目前有兩種觀點,一種是將聲道視為多個不同截面積的管子串聯而形成的系統,即“聲管模型”,另一種是將聲道視為一個諧振腔,即“共振峰模型”。
輻射模型:輻射模型表征口和唇的輻射效應和圓形頭部的繞射效應。
二:一些基本名詞簡介
音素:語音中最小的基本單位是音素,音素是人類能區別一個單詞和另一個單詞的基礎。音素構成音節,音節又構成不同的詞和短語。音素又分為元音和輔音。
元音:元音,又稱母音,是音素的一種,與輔音相對。元音是在發音過程中由氣流通過口腔而不受阻礙發出的音。不同的元音是由口腔不同的形狀造成的。(元音和共振峰關系密切)
輔音:氣流在口腔或咽頭受到阻礙而形成的音叫做輔音,又叫子音。不同的輔音是由發音部位和發音方法的不同造成的。
清音:清音和濁音的概念在文獻中涉及較多。嚴格來講,很多特征的提取都需要區分清音和濁音。當氣流通過聲門時,如果聲道中某處面積很小,氣流高速沖過此處時產生湍流,當氣流速度與橫截面積之比大於某個臨界速度便產生摩擦音,即清音。簡單來說,發清音時聲帶不振動,因此清音沒有周期性。清音由空氣摩擦產生,在分析研究時等效為噪聲。
濁音:語音學中,將發音時聲帶振動的產生音稱為濁音。輔音有清有濁,而多數語言中的元音均為濁音。濁音具有周期性。
發清音時聲帶完全舒展,發濁音時聲帶緊綳在氣流作用下作周期性動作
三:語音特征
3.1.聲強和聲強級
在物理學中,把單位時間內通過垂直於聲波傳播方向的單位面積的平均聲能,稱為聲強。聲強用I表示,單位為瓦/平米。實驗的研究表明,人對聲音強弱的感覺並不是與聲強成正比,而是與其對數成正比的。所以一般聲強用聲強級來表示。
SIL=10lg[I/I’]=10lg(I/I’)
式中I為聲強,I’=10e-12瓦/平米稱為基准聲強,聲強級的常用單位是分貝(dB)。
3.2.響度
響度時一種主觀心理量,是人類主觀感覺到的聲音強弱程度。一般來說,聲音頻率一定時,聲強越強,響度也越大。但是響度與頻率有關,相同的聲強,頻率不同時,響度也可能不同。響度若用對數值表示,即為響度級,響度級的單位定義為方,符號為phon。根據國際協議規定,0dB聲級的1000Hz純音的響度級定義為0 phon,n dB聲級的1000Hz純音的響度級就是n phon。其它頻率的聲級與響度級的對應關系要從等響度曲線查出。


等響度曲線與聲強級的關系
3.3.音高
音高也是一種主觀心理量,是人類聽覺系統對於聲音頻率高低的感覺。音高的單位是美爾(Mel)。響度級為40 phon,頻率為1000Hz的聲音的音高定義為1000Mel。

主觀音高與實際頻率的關系
3.4基音周期和基音頻率
3.4.1 基音周期的概念
人在發音時,聲帶振動產生濁音(清音由空氣摩擦產生)。濁音的發音過程是:來自肺部的氣流沖擊聲門,造成聲門的一張一合,形成一系列准周期的氣流脈沖,經過聲道(含口腔、鼻腔)的諧振及唇齒輻射最終形成語音信號。故濁音波形呈現一定的准周期性。所謂基音周期,就是對這種准周期而言的。它反映了聲門相鄰兩次開閉之間的時間間隔或開閉的頻率。
基音周期是語音信號最重要的參數之一,它描述了語音激勵源的一個重要特征。基音周期信息在語音識別、說話人識別、語音分析與語音合成,以及低碼率語音編碼、發音系統疾病診斷、聽覺殘障者的語言指導等多個領域有着廣泛的應用。(因為女性基頻比男性高,所以有些算法中使用基頻來區分性別,還挺准的)
3.4.2基音周期的估算方法
基音周期的估算方法很多,比較常用的有自相關法,倒譜法(我們提基頻用的倒譜法),平均幅度差函數法,線性預測法,小波—自相關函數法,譜減—自相關函數法等。下面簡單介紹用自相關法提取基頻。
預處理:
為了提高基音檢測的可靠性,有人提出了端點檢測和帶通數字濾波器兩種預處理方法對原始信號進行預處理。在提取基頻時端點檢測比一般端點檢測更為嚴格(一般端點檢測會保留語音有話段的頭和尾,以避免把有用信息當作噪聲濾除,但頭和尾不包括基頻信息,所以在進行提取基音的端點檢測時閾值設定更為嚴格,濾去頭部和尾部)。用帶通濾波器預處理的目的是為了防止共振峰第一峰值的干擾,一般帶通濾波器的頻率范圍選為60~500Hz。
下圖給出青年男女的基頻范圍圖:

自相關法:
短時自相關函數的定義為 其中k是時間的延遲量,N為幀長,短時自相關函數具有以下重要性質。若當原信號具有周期性,那么它的自相關函數也具有周期性,並且周期性與原信號的周期相同。且在K等於周期整數倍時會出現峰值。清音信號無周期性,它的自相關函數會隨着K的增大呈衰減趨勢,濁音具有周期性,它的R(k)在基因周期整數倍上具有峰值,通常取第一最大峰值點作為基因周期點。自相關函數法基音檢測正是利用這一性質來進行基因周期檢查的。
3.5信噪比
定義:
信噪比的計量單位是dB,其計算方法是10lg(PS/PN),其中PS和PN分別代表信號和噪聲的功率(用能量也是一樣的)。
計算方法:

在噪聲和語音完全混雜的情況下信噪比很難計算,在預知噪聲的情況下,可以用實際信號(純語音+噪聲)減去噪聲,得到近似的純語音信號。從而通過進一步計算求得信噪比。
我們在實驗中所采集的信號信噪比低時在10幾dB,信噪比高時在30dB以上。
以下4個特征為醫學中常用的檢查嗓部病變的特征。
3.6諧噪比:
HNR(Harmonics-to-Noise ratio)是語音中諧波成分和噪聲成分的比率。是檢測病態嗓音和評價嗓音素質的一個客觀指標,能有效地反應聲門閉合情況。需要注意的是這里的噪聲不是環境噪聲,而是發聲時由於聲門非完全關閉引起的聲門噪聲。
3.7頻率微擾(jitter)
頻率微擾是描述相鄰周期之間聲波基本頻率變化的物理量。主要反映粗糙聲程度,其次反映嘶啞聲程度。
語音信號中的頻率微擾與聲門區的功能狀態是一致的。正常嗓音周期間的頻率相同者較多,不同者甚少,因此頻率微擾值很小。當發生聲帶病變時,微擾值增大,使聲音粗糙。
3.8振幅微擾(shimmer)
振幅微擾描述相鄰周期之間聲波幅度的變化,主要反映嘶啞聲程度。Jitter和shimmer共同反映聲帶振動的穩定性,其值越小說明在發聲過程中聲學信號出現的微小變化越少。
3.9規范化噪聲能量(NNE)
主要計算發聲時由於聲門非完全關閉引起的聲門噪聲的能量。主要反映氣息聲程度,其次是嘶啞聲程度,一定程度上反映聲門的關閉程度,對由於聲帶器質性或功能性病變而產生的病理嗓音的分析很有價值。
3.10梅爾倒譜系數(Mel-scale Frequency CepstralCoefficients, MFCC)
3.10.1基本概念:
在語音識別(Speech Recognition)和話者識別(Speaker Recognition)方面,最常用到的語音特征就是梅爾倒譜系數。梅爾倒譜系數是在Mel標度頻率域提取出來的倒譜參數,Mel標度描述了人耳頻率的非線性特性,它與頻率的關系可用下式近似表示:

式中f為頻率,單位為Hz。
下圖給出Mel頻率與線性頻率的關系。

Mel頻率和線性頻率的關系
3.10.2計算方法:
基本步驟:

計算倒譜的流程圖
1.預加重
預加重處理其實是將語音信號通過一個高通濾波器:

式中μ的值介於0.9-1.0之間,我們通常取0.96。預加重的目的是提升高頻部分,使信號的頻譜變得平坦,移除頻譜傾斜,來補償語音信號受到發音系統所抑制的高頻部分。同時,也是為了消除發生過程中聲帶和嘴唇的效應。(因為口唇輻射可以等效為一個一階零點模型)
2.分幀、加窗,快速傅里葉變換
因為語音信號為短時平穩信號,所以需要進行分幀處理,以便把每一幀當成平穩信號處理。同時為了減少幀與幀之間的變化,相鄰幀之間取重疊。一般幀長取25ms,幀移取幀長的一半。
3.Mel濾波器組
在語音的頻譜范圍內設置若干帶通濾波器 ,M為濾波器的個數。每個濾波器具有三角形濾波器的特性,其中心頻率為 ,在Mel頻譜范圍內,這些濾波器是等帶寬的。每個帶通濾波器的傳遞函數為:

其中: 
三角帶通濾波器有兩個主要目的:
對頻譜進行平滑化,並消除諧波的作用。此外還可以減少運算量。
在MATLAB的voicebox工具箱中有melbankm函數可用於計算Mel濾波器組。

三角形濾波器的示意圖
4.計算每個濾波器組輸出的對數能量為:

5.經離散余弦變換(DCT)得到MFCC系數:

將上述的對數能量帶入離散余弦變換,求出L階的Mel-scale Cepstrum參數。L階指MFCC系數階數,通常取12-16。這里M是三角濾波器個數。
以下兩個特征為能量特征:
3.11短時能量
計算第i幀語音信號 的短時能量的公式為

計算一幀語音信號的短時能量
短時能量的計算方法比較簡單,即取一幀信號,通過短時能量計算公式計算即可。
3.1.2短時平均幅度
語音信號的短時平均幅度定義為:

短時平均幅度也是一幀語音信號能量大小的表征,它與短時能量的區別在於計算時不論采樣值的大小,不會因為取二次方而造成較大的差異,在某些應用領域中會帶來一些好處。
短時能量和短時平均幅度的有作用主要是:作為區分清濁音,區分聲母韻母,區分有話段和無話段的指標。
3.13短時平均過零率
短時平均過零率表示一幀語音中語音信號波形穿過橫軸(零電平)的次數。
其計算公式為:

由於濁音具有較低的過零率而清音具有較高的過零率,過零率可以用來區分清音和濁音,在端點檢查中有一定的運用。
基本概念:
共振峰是指在聲音的頻譜中能量相對集中的一些區域,共振峰不但是音質的決定因素,而且反映了聲道(共振腔)的物理特征。聲音在經過共振腔時,受到腔體的濾波作用,使得頻域中不同頻率的能量重新分配,一部分因為共振腔的共振作用得到強化,另一部分則受到衰減。由於能量分布不均勻,強的部分猶如山峰一般,故而稱之為共振峰。在語音聲學中,共振峰決定着元音的音質。
共振峰是表征語音信號特征的基本參數之一。它在語音信號合成、語音識別和語音編碼等方面起着重要作用。共振峰可以等效為聲道系統函數的復極點對,由於人的聲道平均長度為17cm,而語音信號的能量主要集中在0-5kHz。因此語音通常包含4到5個穩定的共振峰,一般只需要研究前三個共振峰。


共振峰的一個示意圖
從圖中可以看到:1語音信號的能量在頻率上存在頻譜傾斜;2共振峰位置與譜包絡位置很一致(這也是譜包絡法提取共振峰的原理)

普通話10個元音共振峰均值數據表(Hz)
提取方法:
共振峰的提取方法較多,比較常見的有譜包絡法、倒譜法、LPC內插法、LPC求根法、希爾伯特變換法等,但以上方法都或多或少受,虛假峰值,共振峰合並,高音調語音(尤其是女性)的影響,針對單個元音以上方法可以較好的找到共振峰,但對於連續語音准確度較差。在噪聲背景下不具有很好的魯棒性。下面簡單介紹一種針對連續變化語音的魯棒性較好的共振峰追蹤算法。

算法示意圖
傳統的共振峰提取方法都是基於譜分析和峰值檢測技術。這些方法對於噪聲背景下共振峰的檢測,既不准確又不魯棒。圖示這種基於預濾波的方法,在進行譜峰檢測之前對每一個共振峰使用一個時變的自適應濾波器進行預濾波。預濾波限制了每個共振峰的頻譜范圍,因此減小了相鄰峰值之間的干擾和背景噪聲的干擾。
首先進行預加重,原因和MFCC中提到的相同,都是為了移除頻譜傾斜。
第二步是進行希爾伯特變換,得到原實值信號的解析信號,便於分析計算。
第三部分是四個自適應共振峰濾波器。每個濾波器由一個全零點濾波器和一個單極點的動態追蹤濾波器組成。這個濾波器的作用是在對每一個共振峰值進行估算之前,對其進行動態濾波,抑制相鄰共振峰的干擾和基頻干擾。
第四部分包括清濁音檢測,性別檢測(根據基頻),能量檢測。性別檢測的目的是針對男女共振峰的差異性給定不同的濾波初值。能量檢測是為了濾除無話段,類似於端點檢查,清濁音檢測是為了濾除清音,因為清音不含共振峰。
最后通過移動平均值作決策,符合條件的值作為共振峰估計值保留,不符合條件的值用其移動平均值代替。

上圖是文章給出的共振峰估計和實際共振峰的圖形。該方法比之前我們采用的倒譜法和LPC法的准確度都要高,但其計算復雜度較高,算起來太慢了。
共振峰參考文獻:Robust Formant Tracking for Continuous
SpeechWith Speaker Variability
3.15 聲門波
按語言產生的線性模型, 語言信號的頻譜為:
(式一)
其中 是聲門波的頻譜, 是聲道脈沖響應的頻譜, 是口唇輻射效應的頻譜。在語音信號的分析工作中,語音分析的一個主要任務是從信號中獲得聲道響應的頻譜。口唇輻射的影響比較小, 容易作理論估計, 而聲門波的頻譜的關系比較復雜, 影響也較大。(以上是說為了得到准確的聲道響應需要估計聲門響應,這也是一些文獻研究聲門波的目的)。文獻指出,聲門波蘊含一定情感信息,對壓力分類有一定作用。
下圖給出一個聲門波的模型:

(可以看到這個和我之前給出的激勵模型相似)
聲門波的計算方法:
由式一可知,聲門
(式二)
由於口唇輻射容易估計,所以計算聲門波的難點在於把聲門響應和聲道響應區分開。在closed phase,即圖中C區時,聲門和聲道之間的影響是最小的。這時候分析聲道參數時最合適的。這就需要從動態的聲信號中找到聲門閉合的瞬間(也就是closed phase),很多研究者通過動態算法,聲門輸入能量,共振峰穩定性,殘余能量來尋找聲門的閉合瞬間。然而受到講話方式(比如壓力狀況下聲門閉合時間會變短等)和性別的影響(女性講話基頻比男性更高,聲門動作更快,聲門並不總是完成閉合),上述方法都很難准確找到聲門的閉合相。實際醫學中一般用EGG(舌動電流描記器)等其它外部傳感器來觀察close phase,從而得到准確的聲門估計。
下面給出moore提出的一種聲門波算法。
該算法中把口唇輻射可以等效為一個一階零點模型。聲道響應用全極點模型來等效。根據式二,聲門的估計可以又聲門反濾波得到。

Moore提出的算法圖示
1: 為輸入,表示一幀信號,其長度為4-5個基音周期。
2:對原始信號進行P階基音同步的線性預測分析,得到一組c初始的LPC參數(ap),用來產生殘差信號,A(z)
3:找到殘差信號的負峰值。它的負峰值的位置對應這聲門波出現最大負斜率的位置。closed phase一般在這個位置附近。峰值位置被作為迭代的中點,而迭代的起點用峰值位置減去LPC階數P得到。從c起取2P長度,做基於協方差的LPC,得到A(z)

步驟3的一個示意圖
4: 將glottal derivative(gldv)和線性預測分析的參數存儲在矩陣中。進行迭代,迭代次數為2P。
5:后處理過程。
聲門參考文獻:ALGORITHM FOR AUTOMATIC GLOTTALWAVEFORM ESTIMATIONWITHOUT THE RELIANCE ON PRECISE GLOTTAL CLOSURE INFORMATION
3.16 其它特征:
像語速,停頓等可以顧名思義,但我尚不了解計算方法的特征文中沒有寫出。
