語(yǔ)音識(shí)別是機(jī)器通過(guò)識(shí)別和理解過(guò)程把語(yǔ)音信號(hào)轉(zhuǎn)變?yōu)橄鄳?yīng)的文本文件或命令的高技術(shù)。作為專門的研究領(lǐng)域,語(yǔ)音識(shí)別又是一門交叉學(xué)科,它與聲學(xué)、語(yǔ)音學(xué)、語(yǔ)言學(xué)、數(shù)字信號(hào)處理理論、信息論、計(jì)算機(jī)科學(xué)等眾多學(xué)科緊密相連。語(yǔ)音識(shí)別經(jīng)過(guò)四十多年的發(fā)展,已經(jīng)顯示出巨大的應(yīng)用前景。本文從實(shí)現(xiàn)原理入手,介紹語(yǔ)音識(shí)別系統(tǒng)的實(shí)現(xiàn)方式。 概述 本漢語(yǔ)語(yǔ)音識(shí)別系統(tǒng)是一個(gè)非特定人的、孤立音語(yǔ)音識(shí)別系統(tǒng)。其中孤立音至少包括漢語(yǔ)的400多個(gè)調(diào)音節(jié)(不考慮聲調(diào))以及一些常用的詞組。識(shí)別系統(tǒng)主要用于手持設(shè)備,如手機(jī)、掌上電腦。這些設(shè)備的CPU一般是DSP,硬件資源十分有限,而且大多不支持浮點(diǎn)運(yùn)算。那么,對(duì)系統(tǒng)各個(gè)部分的設(shè)計(jì)首要考慮的是系統(tǒng)對(duì)硬件資源的開銷必須盡量的小,不能超過(guò)這些設(shè)備的限制。硬件資源的開銷包括存儲(chǔ)模型參數(shù)的開銷,以及識(shí)別過(guò)程中對(duì)內(nèi)存、DSP的運(yùn)行時(shí)間的開銷。 2 實(shí)現(xiàn)流程 一般的語(yǔ)音處理流程圖如圖1所示。 圖1 語(yǔ)音識(shí)別系統(tǒng)的處理流圖 在語(yǔ)音識(shí)別系統(tǒng)中,模擬的語(yǔ)音信號(hào)在完成A/D轉(zhuǎn)換后成為數(shù)字信號(hào),但時(shí)域上的語(yǔ)音信號(hào)很難直接用于識(shí)別,因此需要從語(yǔ)音信號(hào)中提取語(yǔ)音的特征,一方面可以獲得語(yǔ)音的本質(zhì)特征,另一方面也起到數(shù)據(jù)壓縮的作用。輸入的模擬語(yǔ)音信號(hào)首先要進(jìn)行預(yù)處理,包括預(yù)濾波、采樣和量化、加窗、端點(diǎn)檢測(cè)、預(yù)加重等。語(yǔ)音識(shí)別系統(tǒng)的模型通常由聲學(xué)模型和語(yǔ)言模型兩部分組成,分別對(duì)應(yīng)于語(yǔ)音到半音節(jié)概率的計(jì)算和半音節(jié)到字概率的計(jì)算。 3 特征提取 目前通用的特征提取方法是基于語(yǔ)音幀的,即將語(yǔ)音信號(hào)分為有重疊的若干幀,對(duì)每一幀提取語(yǔ)音特征。由于本技術(shù)方案采用的語(yǔ)音庫(kù)采樣率為8 kHz,因此采用幀長(zhǎng)為256個(gè)采樣點(diǎn)(即32 ms),幀步長(zhǎng)或幀移(即每一幀語(yǔ)音與上一幀語(yǔ)音不重疊的長(zhǎng)度)為80個(gè)采樣點(diǎn)(即10 ms)。 現(xiàn)有語(yǔ)音識(shí)別系統(tǒng)采用的最主要的兩種語(yǔ)音特征包括: 線性預(yù)測(cè)倒譜參數(shù)(Linear Prediction Cepstrum Coefficient,LPCC),該特征是基于語(yǔ)音信號(hào)為自回歸信號(hào)的假設(shè),利用線性預(yù)測(cè)分析獲得倒譜參數(shù)。LPCC參數(shù)的優(yōu)點(diǎn)是計(jì)算量小,對(duì)元音有較好的描述能力,其缺點(diǎn)在于對(duì)輔音的描述能力較差,抗噪聲性能較差。 Mel 頻標(biāo)倒譜參數(shù)(Mel Frequency Cepstrum Coefficient,MFCC),該特征考慮了人耳的聽覺(jué)特性,將頻譜轉(zhuǎn)化為基于Mel頻標(biāo)的非線性頻譜,然后轉(zhuǎn)換到倒譜域上。由于充分模擬了人的聽覺(jué)特性,而且沒(méi)有任何前提假設(shè),MFCC參數(shù)具有識(shí)別性能和抗噪能力,實(shí)驗(yàn)證明在漢語(yǔ)數(shù)碼語(yǔ)音識(shí)別中MFCC 參數(shù)的性能明顯優(yōu)于LPCC參數(shù),因此本技術(shù)方案采用MFCC參數(shù)為語(yǔ)音特征參數(shù)。 求MFCC參數(shù)的大致過(guò)程為: 對(duì)輸入語(yǔ)音幀加Hamming窗后做快速傅里葉變換(Fast Fourier Transformation,F(xiàn)FT),將時(shí)域信號(hào)轉(zhuǎn)化為頻域信號(hào)。 將線性頻標(biāo)轉(zhuǎn)化為Mel頻標(biāo)。轉(zhuǎn)化方法是將頻域信號(hào)通過(guò)24個(gè)三角濾波器,其中中心頻率在1 000 Hz以上和以下的各12個(gè)。濾波器的中心頻率間隔特點(diǎn)是在1000Hz以下為線性分布,1 000 Hz以上為等比數(shù)列分布。三角濾波器的輸出為: 式中:Xk為頻譜上第k個(gè)頻譜點(diǎn)的能量;Yi為第i個(gè)濾波器的輸出;Fi為第i個(gè)濾波器的中心頻率。 用離散余弦變換(Discrete Cosine Transformation,DCT)將濾波器輸出變換到倒譜域: 式中:p為MFCC參數(shù)的階數(shù),這里取p = 12。{Ck}k = 1,2,…,12即為所求的MFCC參數(shù)。 為體現(xiàn)語(yǔ)音的動(dòng)態(tài)特性,在語(yǔ)音特征中加入了一階差分倒譜,其計(jì)算方法如下式所示: 式中下標(biāo)l與l - k表示第l與l - k幀;m表示第m維。 MFCC參數(shù)計(jì)算的要點(diǎn)是將線性功率譜S(n)轉(zhuǎn)換成為Mel頻率下的功率譜,這需要在計(jì)算之前先在語(yǔ)音的頻譜范圍內(nèi)設(shè)置若干個(gè)帶通濾波器Hm(n),m= 0,1,2,…,M - 1,n = 0,1,2,…,N/2 - 1。M為濾波器個(gè)數(shù),N為一幀語(yǔ)音信號(hào)的點(diǎn)數(shù)。每個(gè)濾波器具有三角形特性,其中心頻率為fm,它們?cè)贛el頻率軸上是均勻分布的。在線性頻率上,當(dāng)m 較小時(shí)相鄰的fm間隔很小,隨著m的增加相鄰的fm間隔逐漸拉開。Mel頻率和線性頻率的轉(zhuǎn)換關(guān)系如下: 這些帶通濾波器的參數(shù)是事先計(jì)算好的。圖2給出了濾波器組的分布圖,其中M 選擇為26,F(xiàn)FT點(diǎn)數(shù)N為256,語(yǔ)音信號(hào)的采樣頻率為8000 Hz。 圖2 利用人耳仿生學(xué)特性設(shè)計(jì)的Mel尺度濾波器組 4 測(cè)度估計(jì) 測(cè)度估計(jì)技術(shù)可以采用動(dòng)態(tài)時(shí)間彎折DTW、隱馬爾可夫模型HMM或人工神經(jīng)網(wǎng)ANN等算法,本項(xiàng)目采用國(guó)際上最先進(jìn)的HMM,這樣能夠比較容易的實(shí)現(xiàn)非特定人,而且系統(tǒng)結(jié)構(gòu)也比較靈活、一致。 根據(jù)描述的語(yǔ)音單位的大小,HMM可分為:基于整詞模型的HMM(Word based HMM)。其優(yōu)點(diǎn)為可以很好地描述詞內(nèi)音素協(xié)同發(fā)音的特點(diǎn),建模過(guò)程也較為簡(jiǎn)單。因此很多小詞匯量語(yǔ)音識(shí)別系統(tǒng)均采用整詞模型HMM。但在大詞匯量語(yǔ)音識(shí)別中由于所需建立的模型太多而無(wú)法使用。 基于子詞模型的HMM(Sub Word based HMM)。該類HMM描述的語(yǔ)音單位比詞小,如英語(yǔ)語(yǔ)音識(shí)別中的基本音素,漢語(yǔ)語(yǔ)音識(shí)別中的半音節(jié)等。其優(yōu)點(diǎn)為模型總數(shù)少,所以在大詞匯量語(yǔ)音識(shí)別中得到了廣泛的應(yīng)用。其缺點(diǎn)在于其描述詞內(nèi)協(xié)同發(fā)音的能力劣于整詞模型,但由于子詞模型已經(jīng)得到了非常充分的研究,所以近年來(lái)在很多小詞表應(yīng)用識(shí)別系統(tǒng)中也用了子詞模型。本技術(shù)方案采用基于半音節(jié)(即聲、韻母)的語(yǔ)音建模方法,其識(shí)別模型拓?fù)浣Y(jié)構(gòu)如圖3 所示,其中靜音HMM采用1個(gè)狀態(tài),每一聲母模型采用2個(gè)狀態(tài),每一韻母模型采用4個(gè)狀態(tài)。 圖3 識(shí)別模型拓?fù)浣Y(jié)構(gòu) 根據(jù)輸出概率分布的不同,HMM(隱含馬爾科夫模型)可分為: 離散HMM(Discrete HMM,DHMM)。其輸出概率是基于一套碼本的離散概率分布,其優(yōu)點(diǎn)在于由于實(shí)現(xiàn)了存儲(chǔ)量和計(jì)算量都較小,所需的訓(xùn)練語(yǔ)音也較少,但其矢量量化的過(guò)程會(huì)造成性能的損失。 連續(xù)HMM(Continuous Density HMM,CDHMM)。其輸出概率是連續(xù)概率密度函數(shù)(一般是高斯混合密度函數(shù))。其所需的訓(xùn)練語(yǔ)音較多,模型參數(shù)存儲(chǔ)量和計(jì)算量都較大,在訓(xùn)練語(yǔ)音足夠時(shí),其性能優(yōu)于DHMM。 半連續(xù)HMM(Semi Continuous HMM,SCHMM)。SCHMM是DHMM和CDHMM的折衷,與DHMM相似,其輸出為一套碼本,但每個(gè)碼字均為一個(gè)連續(xù)概率密度分布函數(shù),這一點(diǎn)與CDHMM相近。其性能和所需的訓(xùn)練語(yǔ)音等均介于DHMM和CDHMM之間。 考慮到漢語(yǔ)數(shù)碼語(yǔ)音所需的模型較少,很容易獲得足夠多的訓(xùn)練語(yǔ)音,因此本技術(shù)方案采用了CDHMM為語(yǔ)音模型。 狀態(tài)輸出概率分布為混合高斯密度函數(shù)。其各分量計(jì)算如下: 總的概率輸出即為各分量的加權(quán)和: 式中:s表示當(dāng)前狀態(tài);M為混合分量數(shù);u,Σ ,c分別為各混合分量的均值矢量、協(xié)方差矩陣和混合分量系數(shù)。 該算法利用Viterbi譯碼的過(guò)程進(jìn)行幀同步的搜索,易于實(shí)時(shí)實(shí)現(xiàn),也容易納入語(yǔ)法信息。考慮到系統(tǒng)的實(shí)時(shí)實(shí)現(xiàn)性,本技術(shù)方案采用Viterbi譯碼作為系統(tǒng)的搜索算法。 5 試驗(yàn)結(jié)果 在漢語(yǔ)全音節(jié)與詞組混合的語(yǔ)音識(shí)別任務(wù)中,得到的初步實(shí)驗(yàn)結(jié)果為:PC微機(jī)浮點(diǎn)算法條件下正確覆蓋率不低于98%,定點(diǎn)算法的正確覆蓋率不低于97%。DSP嵌入系統(tǒng)定點(diǎn)條件下正確覆蓋率不低于96%。系統(tǒng)的響應(yīng)時(shí)間滿足實(shí)時(shí)識(shí)別的要求。通過(guò)測(cè)試組嚴(yán)格的檢查及抽樣測(cè)試,證明上述結(jié)果真實(shí)可靠,該輸入法基本達(dá)到實(shí)用化要求。 6 結(jié)語(yǔ) 語(yǔ)音漢字輸入技術(shù)的研發(fā)是具有重大經(jīng)濟(jì)和社會(huì)意義的課題,該項(xiàng)目采用孤立語(yǔ)音的全音節(jié)和詞組的混合識(shí)別模式,使用連續(xù)概率分布非特定人的聲學(xué)模型,并輔以多候選的人機(jī)交互方式,較好地實(shí)現(xiàn)了在移動(dòng)(便攜式)電子設(shè)備上資源有限的條件下方便快捷的漢字語(yǔ)音輸入。 |