一種基于DSP的漢字語(yǔ)音識(shí)別系統(tǒng)設(shè)計(jì)
語(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)方式。
1 概述
本漢語(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ì)硬件資源的開(kāi)銷必須盡量的小,不能超過(guò)這些設(shè)備的限制。硬件資源的開(kāi)銷包括存儲(chǔ)模型參數(shù)的開(kāi)銷,以及識(shí)別過(guò)程中對(duì)內(nèi)存、DSP的運(yùn)行時(shí)間的開(kāi)銷。
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),該特征考慮了人耳的聽(tīng)覺(jué)特性,將頻譜轉(zhuǎn)化為基于Mel頻標(biāo)的非線性頻譜,然后轉(zhuǎn)換到倒譜域上。由于充分模擬了人的聽(tīng)覺(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間隔逐漸拉開(kāi)。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尺度濾波器組