葉 碩,杜珍珍,彭春堂,賀 娟
(武漢郵電科學(xué)研究院,湖北 武漢 430000)
語音識別是當(dāng)今的熱門研究之一,自動語音識別(automatic speech recognition,ASR)技術(shù)是實(shí)現(xiàn)人機(jī)交互的關(guān)鍵[1]。在人機(jī)交互過程中,非特定人的語音識別具有廣闊的應(yīng)用前景。隱馬爾可夫模型(hidden Markov model,HMM)是語音識別技術(shù)中的重要模型之一,根據(jù)不同需要對建模對象進(jìn)行變化,可實(shí)現(xiàn)不同作用,比如說話人識別[2]、連續(xù)語音識別[3]、情緒識別等[4]。
語音識別環(huán)境多變,當(dāng)人處于狹小環(huán)境或聲源距離聲音采集器較遠(yuǎn)時(shí),由墻壁、物體反射的延遲且衰減后的聲音信號與源信號疊加在一起引起混響。這種與原始信號疊加形成的干擾,會導(dǎo)致卷積失真,大大降低了語音的清晰可懂度。
在去混響領(lǐng)域,學(xué)者們做過許多研究,如文獻(xiàn)[5]對混響聲場進(jìn)行了細(xì)致的分類,文獻(xiàn)[6]分析了不同手段去混響的效果。文中基于HMM,提出一種使用卷積同態(tài)濾波器去混響的方法。在預(yù)處理階段對混響語音進(jìn)行降噪,提高語音在混響環(huán)境下的識別精度,并借助MATLAB完成仿真。
完整的識別過程如圖1所示,可以分為語音采集、特征學(xué)習(xí)、識別匹配三個(gè)階段。其中In1為訓(xùn)練模型所用的語音信號,In2為待識別語音信號,Out為輸出識別語音。用于提取特征的語音,通常采集于無干擾的實(shí)驗(yàn)室環(huán)境,而待識別的語音,通常來自于存在干擾的環(huán)境。
圖1 基于HMM的語音識別系統(tǒng)框圖
在某些場合,適度的混響會在聽覺上使人感到舒適,但在信號處理領(lǐng)域,混響不但會導(dǎo)致語音信號幅值變化、相位延時(shí)、共振峰偏移以及產(chǎn)生其他譜峰,其拖尾的混響聲部分還會掩蓋后面語音的弱能量音部分。在進(jìn)行語音識別時(shí),混響使得測試集參數(shù)和訓(xùn)練集參數(shù)發(fā)生匹配失真,識別系統(tǒng)性能發(fā)生急劇下降[5]。
混響環(huán)境下,接收到的信號可用如下數(shù)學(xué)模型表示[6]:
其中,s(n)為有用信號;ak為反射系數(shù);nk為反射波時(shí)延。x(n)又可表示為有用信號s(n)與混響環(huán)境下的沖激響應(yīng)h(n)的卷積形式:
x(n)=s(n)*h(n)
為解決混響問題,現(xiàn)行方法大致有三種:基于復(fù)倒譜濾波(complex cepstrum filtering,CF)、基于復(fù)倒譜均值減(complex cepstrum mean subtract,CMS)以及基于波束形成(beam forming,BF)。文中采用復(fù)倒譜濾波的方法,該方法本質(zhì)上屬于同態(tài)濾波,能將非線性結(jié)合的信號變換為加性結(jié)合的信號,從而可以使用線性濾波的手段去除混響[7]。卷積同態(tài)系統(tǒng)由三個(gè)子系統(tǒng)級聯(lián)而成:特征子系統(tǒng)、線性系統(tǒng)、特征子系統(tǒng)的逆系統(tǒng)。
特征子系統(tǒng)實(shí)現(xiàn)原理如圖2所示,其作用是將信號的時(shí)域卷積形式變換為時(shí)域的線性運(yùn)算。輸入信號x(n),經(jīng)Z變換后變?yōu)閮尚盘栴l域的相乘,取對數(shù)進(jìn)而得到頻域線性運(yùn)算,再進(jìn)行逆Z變換,得到原始信號的時(shí)域線性形式,即復(fù)倒譜:
圖2 特征子系統(tǒng)實(shí)現(xiàn)
孤立詞或短詞匯的語音識別算法一般分為兩類:動態(tài)時(shí)間規(guī)整(dynamic time warping,DTW)和HMM。
DTW算法基于動態(tài)規(guī)劃(DP)的思想,利用語音中邏輯的先后不可改變這一特性,能克服因發(fā)音習(xí)慣的不同而導(dǎo)致的語音信號與模板不匹配問題。但該算法只能識別特定說話人的特定文本,具有局限性,因此文中使用HMM來進(jìn)行語音識別。
HMM是一種用參數(shù)表示的、基于語音信號的時(shí)間序列結(jié)構(gòu)建立的、用于描述其隨機(jī)過程統(tǒng)計(jì)特性的概率模型,在處理離散時(shí)間序列的觀察數(shù)據(jù)中應(yīng)用廣泛[8-9],能實(shí)現(xiàn)非特定說話人的語音識別。一般分為連續(xù)HMM(CHMM)、半連續(xù)HMM(SCHMM)以及離散HMM(DHMM)[10],該模型表明,當(dāng)前狀態(tài)只與前一時(shí)刻所處的狀態(tài)有關(guān)。
對比DTW,HMM的特點(diǎn)是:狀態(tài)隱含、觀察可測。將語音部分分割成極小的時(shí)間片段,那么該片段的特性近似穩(wěn)定,總過程可視為從某一相對穩(wěn)定特性到另一相對穩(wěn)定特性的轉(zhuǎn)移。
構(gòu)建語音信號的HMM,將它的語音分成上下兩層,下層是不可測的、有限狀態(tài)數(shù)的、馬爾可夫鏈模擬的語音信號統(tǒng)計(jì)特性變化的隱含隨機(jī)過程;上層引入概率統(tǒng)計(jì)模型,是與馬爾可夫鏈的每一個(gè)狀態(tài)相關(guān)聯(lián)的觀測序列的隨機(jī)過程[11]。
語音信號是一種非平穩(wěn)信號,一段完整的語音信號可以分為靜音、語音、停頓、語音、靜音五個(gè)部分[12]。其中語音部分,又可將每一個(gè)音節(jié)分成構(gòu)筑其發(fā)音的最小單位—音素。多狀態(tài)的HMM構(gòu)成一個(gè)音素,多個(gè)音素的HMM串接構(gòu)成一個(gè)字,將多個(gè)字的HMM串接起來,便可得到詞匯的馬爾可夫鏈。圖3所示便是一個(gè)音素與觀測序列的關(guān)系,其中O1,O2,…,OT為觀測得到的序列,若干個(gè)序列組成狀態(tài)集S1,S2,…,而這個(gè)狀態(tài)集便對應(yīng)了語音的一個(gè)音素。
圖3 HMM與語音參數(shù)關(guān)系
連續(xù)語音識別就是馬爾可夫鏈和靜音組合起來的HMM,用概率密度函數(shù)計(jì)算語音特征參數(shù)對HMM模型的輸出概率,通過搜索最佳狀態(tài)序列,以最大后驗(yàn)概率為準(zhǔn)則找到識別結(jié)果[13]。
一個(gè)HMM可由式λ=(π,A,B)描述,其中π為初始狀態(tài)概率,A為狀態(tài)轉(zhuǎn)移概率矩陣,B為觀測概率矩陣。π和A決定狀態(tài)序列,B決定觀測序列。作為參數(shù)重估問題,HMM需要解決三個(gè)問題[11,13-14]:
(1)輸出概率計(jì)算問題。
該問題是語音信號的建模問題。已知觀測序列O={O1,O2,…,OT}和隱馬爾可夫模型λ=(π,A,B),將所求觀察序列在HMM下出現(xiàn)的條件概率分成兩部分,分別利用前向算法、后向算法將求得的條件概率進(jìn)行乘積,進(jìn)而得到整個(gè)觀察序列的輸出概率,以達(dá)到降低計(jì)算復(fù)雜度的目的。
定義HMM的前向概率為αt(i)=P{O1,O2,…,OT;qt=i|λ},表示在給定HMM參數(shù)λ的前提下,觀測序列為{O1,O2,…,OT}在t時(shí)刻處于隱藏狀態(tài)i的概率。前向概率αt(i)的遞推公式如下:
初始化:α1(i)=πibi(O1),i∈[1,N]。
與前向概率相對應(yīng),定義后向概率為βt(i)=P{Ot+1,Ot+2,…,OT;qt=i|λ},表示在給定HMM參數(shù)λ的前提下,觀測序列{Ot+1,Ot+2,…,OT}在t時(shí)刻處于隱藏狀態(tài)i的概率。
后向概率βt(i)的遞推公式如下:
初始化:βT(i)=1,i∈[1,N]。
經(jīng)過分析,可得輸出概率計(jì)算公式為:
反復(fù)迭代直到HMM參數(shù)不再發(fā)生明顯變化為止。
(2)狀態(tài)序列解碼問題。
該問題是尋找最優(yōu)匹配問題。Viterbi算法是一種廣泛用于通信領(lǐng)域的動態(tài)規(guī)劃算法,即用動態(tài)規(guī)劃求概率最大路徑,它克服了全概率公式無法找到最優(yōu)狀態(tài)轉(zhuǎn)移路徑的問題。給定觀察序列和HMM,通過Viterbi識別算法確定一個(gè)最優(yōu)的狀態(tài)轉(zhuǎn)移序列,并得到該路徑所對應(yīng)的輸出概率。
初始化:δ1(i)=πibi(O1),ψ1(i)=0,i∈[1,N]。
迭代計(jì)算:
其中δt(i)為t時(shí)刻第i狀態(tài)的累計(jì)輸出概率,ψt(j)為t時(shí)刻第i狀態(tài)的前續(xù)狀態(tài)信號,為最優(yōu)狀態(tài)序列中t時(shí)刻所處的狀態(tài),為最終的輸出概率。實(shí)際使用中,通常用對數(shù)形式的Viterbi算法,這樣將避免進(jìn)行大量的乘法計(jì)算,減少了計(jì)算量,同時(shí)還可以保證較高的動態(tài)范圍,避免由于過多的連乘而導(dǎo)致溢出問題。在識別階段,如果HMM模型為整詞模型,就沒有必要保存前續(xù)節(jié)點(diǎn)矩陣和狀態(tài)轉(zhuǎn)移路徑,可以進(jìn)一步減少計(jì)算量。
(3)模型參數(shù)的估計(jì)問題。
該問題是模型的修正問題,使HMM能夠做到非特定人的語音識別。Baum-Welch算法是極大似然(ML)準(zhǔn)則的一個(gè)應(yīng)用,利用該算法對初始化的HMM參數(shù)進(jìn)行訓(xùn)練重估,即多個(gè)不同人對同一條命令重復(fù)多次錄入,分別計(jì)算各自的特征參數(shù)序列,得到重估模型參數(shù),使P(O|λ)概率最大。
由于該系統(tǒng)采用從左至右、無跳轉(zhuǎn)、單向結(jié)構(gòu)的HMM模型,初始概率恒等于π1=1、πi=0,i∈[2,N],因此不需進(jìn)行重估。
文中的數(shù)據(jù)庫為自建庫,采用普通麥克風(fēng)錄制。測試中發(fā)現(xiàn),當(dāng)使用16 kHz及以上時(shí),語譜圖在4 000 Hz以上的頻段依然存在大量數(shù)據(jù),而人類發(fā)聲系統(tǒng)一般發(fā)出的語音處于300 Hz~3 400 Hz之間。分析原因,是由語音信號采樣率引起的,因此文中使用8 kHz的采樣率。說話語音為普通話。
自建庫包括兩部分,一部分為訓(xùn)練語音:20個(gè)說話人錄制10條時(shí)長為2 s的正常語音;另一部分為測試語音:30個(gè)說話人錄制10條長為2~4 s的正常語音,再在狹小回廊環(huán)境錄制10條長為2~4 s的語音作為混響語音。訓(xùn)練語音與測試語音文本相同。
實(shí)驗(yàn)開始對語音信號進(jìn)行降噪處理,濾除高頻噪聲,然后進(jìn)行端點(diǎn)檢測等處理,截取語音信號中存在語音的部分。
圖4展示了三組經(jīng)過預(yù)處理后的圖,分別為同一詞匯的純凈語音、混響語音以及去混響后的語音;每組圖片由兩張圖構(gòu)成,分別為語音的時(shí)域圖與語譜圖。語譜圖是語音的頻譜圖,其橫坐標(biāo)是語音持續(xù)的時(shí)間,縱坐標(biāo)為語音的頻率,坐標(biāo)點(diǎn)值為語音的能量。通過觀察可以發(fā)現(xiàn),經(jīng)過復(fù)倒譜濾波后,時(shí)域信號的振幅有所降低,對比語譜圖可以發(fā)現(xiàn),0.2~0.4 s的語音混雜程度有所降低。
圖4 同態(tài)濾波去混響方法的時(shí)域圖與語譜圖
系統(tǒng)分訓(xùn)練和識別兩個(gè)階段。在語音識別中Mel頻率倒譜系數(shù)(Mel frequency cepstrum coefficient,MFCC)將線性頻標(biāo)轉(zhuǎn)化為Mel頻標(biāo),能屏蔽大部分高頻噪聲的干擾,有利于識別信息。因此在訓(xùn)練階段提取訓(xùn)練語音信號的MFCC參數(shù),對10條語音分別建立HMM。
在識別階段,將帶混響的語音信號輸入采集器,使用卷積同態(tài)濾波去除混響,提取語音信號的MFCC參數(shù),建立待識別語音的HMM,將測試語音的HMM模型與訓(xùn)練庫中的各個(gè)模型應(yīng)用Viterbi算法進(jìn)行搜索,找到輸出概率最大的訓(xùn)練模型。
表1展示了基于HMM的語音識別結(jié)果,測試了該模型對正常語音、混響語音的識別情況。其中混響語音測試又分為a,b兩個(gè)步驟,步驟a單純測試該模型對混響語音的識別情況,步驟b則是將混響語音通過卷積同態(tài)濾波器后再進(jìn)行識別。
表1 基于HMM的語音識別結(jié)果
可以看出,該模型在識別正常語音時(shí)具有較高的可靠性,實(shí)現(xiàn)了短詞匯非特定人的語音識別,對比使用卷積同態(tài)濾波器前后的結(jié)果,能發(fā)現(xiàn)該系統(tǒng)對于混響語音的處理也具有一定的效果,識別準(zhǔn)確率有所提升。
文中基本實(shí)現(xiàn)了混響語音的語音識別,實(shí)驗(yàn)結(jié)果表明,單純使用復(fù)倒譜濾波的方法去混響,效果并不是特別明顯。雖然HMM在語音識別方面用途廣泛,但其淺層學(xué)習(xí)結(jié)構(gòu)在海量數(shù)據(jù)下性能會受到限制[15-16],因此單純使用HMM進(jìn)行語音識別也遇到了很大阻力。隨著機(jī)器學(xué)習(xí)的興起,神經(jīng)網(wǎng)絡(luò)聲學(xué)建模與傳統(tǒng)手段相結(jié)合,將進(jìn)一步推動語音識別技術(shù)的發(fā)展。