從原理入手,解析基于DSP的漢字語(yǔ)音識別系統的實(shí)現方式
語(yǔ)音識別是機器通過(guò)識別和理解過(guò)程把語(yǔ)音信號轉變?yōu)橄鄳奈谋疚募蛎畹母呒夹g(shù)。作為專(zhuān)門(mén)的研究領(lǐng)域,語(yǔ)音識別又是一門(mén)交叉學(xué)科,它與聲學(xué)、語(yǔ)音學(xué)、語(yǔ)言學(xué)、數字信號處理理論、信息論、計算機科學(xué)等眾多學(xué)科緊密相連。語(yǔ)音識別經(jīng)過(guò)四十多年的發(fā)展,已經(jīng)顯示出巨大的應用前景。本文從實(shí)現原理入手,介紹語(yǔ)音識別系統的實(shí)現方式。
本文引用地址:http://dyxdggzs.com/article/201610/307429.htm概述
本漢語(yǔ)語(yǔ)音識別系統是一個(gè)非特定人的、孤立音語(yǔ)音識別系統。其中孤立音至少包括漢語(yǔ)的400多個(gè)調音節(不考慮聲調)以及一些常用的詞組。識別系統主要用于手持設備,如手機、掌上電腦。這些設備的CPU一般是DSP,硬件資源十分有限,而且大多不支持浮點(diǎn)運算。那么,對系統各個(gè)部分的設計首要考慮的是系統對硬件資源的開(kāi)銷(xiāo)必須盡量的小,不能超過(guò)這些設備的限制。硬件資源的開(kāi)銷(xiāo)包括存儲模型參數的開(kāi)銷(xiāo),以及識別過(guò)程中對內存、DSP的運行時(shí)間的開(kāi)銷(xiāo)。
2 實(shí)現流程
一般的語(yǔ)音處理流程圖如圖1所示。

圖1 語(yǔ)音識別系統的處理流圖
在語(yǔ)音識別系統中,模擬的語(yǔ)音信號在完成A/D轉換后成為數字信號,但時(shí)域上的語(yǔ)音信號很難直接用于識別,因此需要從語(yǔ)音信號中提取語(yǔ)音的特征,一方面可以獲得語(yǔ)音的本質(zhì)特征,另一方面也起到數據壓縮的作用。輸入的模擬語(yǔ)音信號首先要進(jìn)行預處理,包括預濾波、采樣和量化、加窗、端點(diǎn)檢測、預加重等。語(yǔ)音識別系統的模型通常由聲學(xué)模型和語(yǔ)言模型兩部分組成,分別對應于語(yǔ)音到半音節概率的計算和半音節到字概率的計算。
3 特征提取
目前通用的特征提取方法是基于語(yǔ)音幀的,即將語(yǔ)音信號分為有重疊的若干幀,對每一幀提取語(yǔ)音特征。由于本技術(shù)方案采用的語(yǔ)音庫采樣率為8 kHz,因此采用幀長(cháng)為256個(gè)采樣點(diǎn)(即32 ms),幀步長(cháng)或幀移(即每一幀語(yǔ)音與上一幀語(yǔ)音不重疊的長(cháng)度)為80個(gè)采樣點(diǎn)(即10 ms)。
現有語(yǔ)音識別系統采用的最主要的兩種語(yǔ)音特征包括:
線(xiàn)性預測倒譜參數(Linear Prediction Cepstrum Coefficient,LPCC),該特征是基于語(yǔ)音信號為自回歸信號的假設,利用線(xiàn)性預測分析獲得倒譜參數。LPCC參數的優(yōu)點(diǎn)是計算量小,對元音有較好的描述能力,其缺點(diǎn)在于對輔音的描述能力較差,抗噪聲性能較差。
Mel 頻標倒譜參數(Mel Frequency Cepstrum Coefficient,MFCC),該特征考慮了人耳的聽(tīng)覺(jué)特性,將頻譜轉化為基于Mel頻標的非線(xiàn)性頻譜,然后轉換到倒譜域上。由于充分模擬了人的聽(tīng)覺(jué)特性,而且沒(méi)有任何前提假設,MFCC參數具有識別性能和抗噪能力,實(shí)驗證明在漢語(yǔ)數碼語(yǔ)音識別中MFCC 參數的性能明顯優(yōu)于LPCC參數,因此本技術(shù)方案采用MFCC參數為語(yǔ)音特征參數。
求MFCC參數的大致過(guò)程為:
對輸入語(yǔ)音幀加Hamming窗后做快速傅里葉變換(Fast Fourier Transformation,FFT),將時(shí)域信號轉化為頻域信號。
將線(xiàn)性頻標轉化為Mel頻標。轉化方法是將頻域信號通過(guò)24個(gè)三角濾波器,其中中心頻率在1 000 Hz以上和以下的各12個(gè)。濾波器的中心頻率間隔特點(diǎn)是在1000Hz以下為線(xiàn)性分布,1 000 Hz以上為等比數列分布。三角濾波器的輸出為:

式中:Xk為頻譜上第k個(gè)頻譜點(diǎn)的能量;Yi為第i個(gè)濾波器的輸出;Fi為第i個(gè)濾波器的中心頻率。
用離散余弦變換(Discrete Cosine Transformation,DCT)將濾波器輸出變換到倒譜域:

式中:p為MFCC參數的階數,這里取p = 12。{Ck}k = 1,2,…,12即為所求的MFCC參數。
為體現語(yǔ)音的動(dòng)態(tài)特性,在語(yǔ)音特征中加入了一階差分倒譜,其計算方法如下式所示:

式中下標l與l - k表示第l與l - k幀;m表示第m維。
MFCC參數計算的要點(diǎn)是將線(xiàn)性功率譜S(n)轉換成為Mel頻率下的功率譜,這需要在計算之前先在語(yǔ)音的頻譜范圍內設置若干個(gè)帶通濾波器Hm(n),m= 0,1,2,…,M - 1,n = 0,1,2,…,N/2 - 1。M為濾波器個(gè)數,N為一幀語(yǔ)音信號的點(diǎn)數。每個(gè)濾波器具有三角形特性,其中心頻率為fm,它們在Mel頻率軸上是均勻分布的。在線(xiàn)性頻率上,當m 較小時(shí)相鄰的fm間隔很小,隨著(zhù)m的增加相鄰的fm間隔逐漸拉開(kāi)。Mel頻率和線(xiàn)性頻率的轉換關(guān)系如下:

這些帶通濾波器的參數是事先計算好的。圖2給出了濾波器組的分布圖,其中M 選擇為26,FFT點(diǎn)數N為256,語(yǔ)音信號的采樣頻率為8000 Hz。

圖2 利用人耳仿生學(xué)特性設計的Mel尺度濾波器組
4 測度估計
測度估計技術(shù)可以采用動(dòng)態(tài)時(shí)間彎折DTW、隱馬爾可夫模型HMM或人工神經(jīng)網(wǎng)ANN等算法,本項目采用國際上最先進(jìn)的HMM,這樣能夠比較容易的實(shí)現非特定人,而且系統結構也比較靈活、一致。
根據描述的語(yǔ)音單位的大小,HMM可分為:基于整詞模型的HMM(Word based HMM)。其優(yōu)點(diǎn)為可以很好地描述詞內音素協(xié)同發(fā)音的特點(diǎn),建模過(guò)程也較為簡(jiǎn)單。因此很多小詞匯量語(yǔ)音識別系統均采用整詞模型HMM。但在大詞匯量語(yǔ)音識別中由于所需建立的模型太多而無(wú)法使用。
基于子詞模型的HMM(Sub Word based HMM)。該類(lèi)HMM描述的語(yǔ)音單位比詞小,如英語(yǔ)語(yǔ)音識別中的基本音素,漢語(yǔ)語(yǔ)音識別中的半音節等。其優(yōu)點(diǎn)為模型總數少,所以在大詞匯量語(yǔ)音識別中得到了廣泛的應用。其缺點(diǎn)在于其描述詞內協(xié)同發(fā)音的能力劣于整詞模型,但由于子詞模型已經(jīng)得到了非常充分的研究,所以近年來(lái)在很多小詞表應用識別系統中也用了子詞模型。本技術(shù)方案采用基于半音節(即聲、韻母)的語(yǔ)音建模方法,其識別模型拓撲結構如圖3 所示,其中靜音HMM采用1個(gè)狀態(tài),每一聲母模型采用2個(gè)狀態(tài),每一韻母模型采用4個(gè)狀態(tài)。

圖3 識別模型拓撲結構
根據輸出概率分布的不同,HMM(隱含馬爾科夫模型)可分為:
離散HMM(Discrete HMM,DHMM)。其輸出概率是基于一套碼本的離散概率分布,其優(yōu)點(diǎn)在于由于實(shí)現了存儲量和計算量都較小,所需的訓練語(yǔ)音也較少,但其矢量量化的過(guò)程會(huì )造成性能的損失。
連續HMM(Continuous Density HMM,CDHMM)。其輸出概率是連續概率密度函數(一般是高斯混合密度函數)。其所需的訓練語(yǔ)音較多,模型參數存儲量和計算量都較大,在訓練語(yǔ)音足夠時(shí),其性能優(yōu)于DHMM。
半連續HMM(Semi Continuous HMM,SCHMM)。SCHMM是DHMM和CDHMM的折衷,與DHMM相似,其輸出為一套碼本,但每個(gè)碼字均為一個(gè)連續概率密度分布函數,這一點(diǎn)與CDHMM相近。其性能和所需的訓練語(yǔ)音等均介于DHMM和CDHMM之間。
考慮到漢語(yǔ)數碼語(yǔ)音所需的模型較少,很容易獲得足夠多的訓練語(yǔ)音,因此本技術(shù)方案采用了CDHMM為語(yǔ)音模型。
狀態(tài)輸出概率分布為混合高斯密度函數。其各分量計算如下:

總的概率輸出即為各分量的加權和:

式中:s表示當前狀態(tài);M為混合分量數;u,Σ ,c分別為各混合分量的均值矢量、協(xié)方差矩陣和混合分量系數。
該算法利用Viterbi譯碼的過(guò)程進(jìn)行幀同步的搜索,易于實(shí)時(shí)實(shí)現,也容易納入語(yǔ)法信息??紤]到系統的實(shí)時(shí)實(shí)現性,本技術(shù)方案采用Viterbi譯碼作為系統的搜索算法。
5 試驗結果
在漢語(yǔ)全音節與詞組混合的語(yǔ)音識別任務(wù)中,得到的初步實(shí)驗結果為:PC微機浮點(diǎn)算法條件下正確覆蓋率不低于98%,定點(diǎn)算法的正確覆蓋率不低于97%。DSP嵌入系統定點(diǎn)條件下正確覆蓋率不低于96%。系統的響應時(shí)間滿(mǎn)足實(shí)時(shí)識別的要求。通過(guò)測試組嚴格的檢查及抽樣測試,證明上述結果真實(shí)可靠,該輸入法基本達到實(shí)用化要求。
6 結語(yǔ)
語(yǔ)音漢字輸入技術(shù)的研發(fā)是具有重大經(jīng)濟和社會(huì )意義的課題,該項目采用孤立語(yǔ)音的全音節和詞組的混合識別模式,使用連續概率分布非特定人的聲學(xué)模型,并輔以多候選的人機交互方式,較好地實(shí)現了在移動(dòng)(便攜式)電子設備上資源有限的條件下方便快捷的漢字語(yǔ)音輸入。
評論