基于DSP的孤立詞語音識別系統(tǒng)的設(shè)計
1 引言
本文引用地址:http://butianyuan.cn/article/77965.htm隨著語音信號處理技術(shù)的不斷發(fā)展與成熟,語音識別正逐步成為信息技術(shù)中人機接口的關(guān)鍵技術(shù)。DSP芯片,即數(shù)字信號處理器,是專門為快速實現(xiàn)各種信號處理算法而設(shè)計的、具有特殊結(jié)構(gòu)的微處理器,其處理速度比最快的CPU還快10~50倍。本文介紹的就是基于TMS320VC5402配合TLC320AD50C和AT89S52的實驗室用機器人的孤立詞語音識別系統(tǒng)。
2 語音識別系統(tǒng)的基本介紹
2.1 語音識別系統(tǒng)的組成
計算機語音識別過程與人對語音識別處理過程基本上是一致的。語音信號本身的特點造成了語音識別的困難。這些特點包括多變性,動態(tài)性,瞬時性和連續(xù)性等。目前主流的語音識別技術(shù)是基于統(tǒng)計模式識別的基本理論。一個完整的語音識別系統(tǒng)可如圖1所示。
2.2 語音識別系統(tǒng)的分類
根據(jù)對說話人說話方式的要求,可以分為孤立詞語音識別系統(tǒng),連續(xù)字語音識別系統(tǒng)和連續(xù)語音識別系統(tǒng);根據(jù)對說話人的依賴程度可以分為特定人和非特定人語音識別系統(tǒng);根據(jù)詞匯量大小,可以分為小詞匯量、中等詞匯量、大詞匯量以及無限詞匯量語音識別系統(tǒng)。
3 硬件系統(tǒng)設(shè)計
此語音識別系統(tǒng)的目的讓機器人能聽懂我們所發(fā)出的簡單的命令,首先由TLC320AD50C采集計算機聲卡的語音,經(jīng)過轉(zhuǎn)換后送給TMS320VC5402, TMS320VC5402完成語音信號處理,即識別出所發(fā)出的語音,然后把結(jié)果送給AT89S52顯示,同時通過串行通訊送給機器人(PC-104),以使機器人能夠控制自己的行動。其結(jié)構(gòu)框圖如圖2所示。
該系統(tǒng)以TMS320VC5402為核心電路,對孤立詞語音信號進行采集和處理,AIC為TMS320VC5402的模擬接口電路,包括放大、濾波、和A/D轉(zhuǎn)換的電路,把由話筒采集進來的模擬語音信號,轉(zhuǎn)換成數(shù)字語音信號。其中SRAM和Flash分別為TMS 320VC5402的數(shù)據(jù)存儲器和程序存儲器。鍵盤和顯示部分則由AT89S52來控制,AT89S52把鍵盤操作轉(zhuǎn)換為控制信號再傳送給TMS320VC5402,控制系統(tǒng)的工作是訓練還是識別,TMS320VC5402把要顯示的系統(tǒng)狀態(tài)通訊給AT89S52,以實現(xiàn)LCD顯示。這些硬件工作過程如圖3所示。
3.1 TMS320VC5402與TLC320AD50C的接口設(shè)計
TMS320VC5402提供了兩個增強型的高速、全雙工多通道緩存串行口McBSP, McBSP具有全雙工的通信機制以及雙緩存的發(fā)送寄存器和三緩存的接收寄存器,允許連續(xù)的數(shù)據(jù)流傳輸,數(shù)據(jù)長度可以為8,12,16,20,24,32;同時還提供了A-律和μ律壓擴,多達128個通道的發(fā)送與接收。McBSP通過7個引腳使得一個數(shù)據(jù)通路和一個控制通路與外部設(shè)備相連。McBSP的引腳如下:
?、?DX:發(fā)送引腳,與McBSP相連發(fā)送數(shù)據(jù)。
?、?DR:接收引腳,與接收數(shù)據(jù)總線相連。
?、?CLKX:發(fā)送時鐘引腳。
④ CLKR:接收時鐘引腳。
?、?FSX:發(fā)送幀同步引腳。
?、?FSR:接收幀同步引腳。
TLC320AD50C集成了16位A/D,D/A轉(zhuǎn)換器,采樣速率最高可達80kHz。在TLC320AD50C內(nèi)部DAC之前有插值濾波器,ADC之后有抽樣濾波器,接收和發(fā)送可同時進行。TLC320AD50C主機時鐘信號來源于外部,通過MCLK引腳輸人。幀同步信號從內(nèi)部產(chǎn)生,由MCLK導出,其頻率由控制寄存器4設(shè)定。SCLK時鐘可以由內(nèi)部產(chǎn)生也可由外部插入,在內(nèi)部產(chǎn)生時,其頻率為幀同步信號頻率的256倍。其主要特點如下:
① 可采用單5V電源供電也可以采用5V模擬、3.3V數(shù)字雙電源供電;
?、?內(nèi)含16位精度的Σ-△ADC和DAC;
③ 器件中的ADC為64倍過采樣,DAC為256倍過采樣(內(nèi)部);
?、?具有85dB的最小信噪比;
?、?帶有內(nèi)建抗混疊濾波器和sinx/x補償;
⑥ 可配置成主機或從機方式,一個串行接口可支持4個TLC320AD50器件;
TLC320AD50C與TMS320VC5402串行通信可以分為首次通信和二次通信。在首次通信中,有兩種數(shù)據(jù)傳送模式,16位傳送模式和15+1位傳送模式,可通過控制寄存器設(shè)定。省卻情況下為15+1位傳送模式。
TMS320VC5402與TLC320AD50C的硬件接口電路如圖4所示。
3.2 TMS320VC5402與AT89S52的通信
AT89S52和TMS320VC5402各自獨立工作,其信息和數(shù)據(jù)交換通過共享一片外部存儲器來實現(xiàn),它們之間信號聯(lián)絡(luò)通過硬連接和軟件判斷來實現(xiàn)。
外部存儲器采用的是CY7C133,它是高速的2K X 16bit的靜態(tài)異步雙端口RAM,其存儲速度為25ns。它有兩套獨立的地址線、數(shù)據(jù)線和控制信號線,允許兩個控制器件中的數(shù)據(jù)通過共同連接的存儲器來進行通信。該雙端口RAM允許兩個控制器同時讀取任何存儲單元(包括同時讀同一單元),但不允許同時寫或者一讀一寫統(tǒng)一地址單元。
對于TMS320VC5402,數(shù)據(jù)存儲器CY7C133的對應(yīng)地址為4000H~47FFH。
對于AT89S52,數(shù)據(jù)存儲器CY7C133的對應(yīng)地址為2000H~27FFH。
4 軟件系統(tǒng)設(shè)計
由圖1可知,軟件系統(tǒng)的設(shè)計主要包括端點檢測、特征量提取和模式匹配。
4.1 端點檢測
從背景噪聲中找出語音的開始和終止,這在很多語音處理領(lǐng)域中是基本的問題。特別是在孤立詞的自動識別中,找出每個單詞的語音信號范圍是很重要的,確定語音信號的開始和終止的方案可以用來減少非實時系統(tǒng)中的大量計算,使該系統(tǒng)僅處理語音輸入。本語音識別系統(tǒng)實時、精確的端點檢測可以排除無聲段的噪聲干擾,使后面的識別性能得以較大的提高。
漢語的音節(jié)末尾都是濁音,只用短時能量就能較好地判斷一個詞語的末點。而漢語詞語的起點檢測不僅有一定的難度,而且檢測是否準確對語音識別性能影響頗大,因為大多數(shù)聲母都是清聲母,還有送氣與不送氣的塞音和塞擦音,將它們與環(huán)境噪聲分辨是比較困難的。這里用短時相對能頻積的方法對語音信號的端點進行檢測。
語音信號一般可分為無聲段、清音段、濁音段。無聲段的平均能量最低,濁音段的平均能量最高,清音段的平均能量居于兩者之間。在有噪聲環(huán)境下,語音剛開始的一段,其短時能量的大小與背景噪聲的短時能量差不太多。清音段的過零率大多數(shù)情況下最高,無聲段的過零率變化范圍較大,一般情況下比濁音段低一點,但有時會比濁音段稍高一點或者差不多。
在系統(tǒng)剛啟動時,正常情況下語音信號的前100ms是無聲段,所以我們可以提取這段語音信號的平均能量、平均過零率、它們的乘積(稱為能頻積) 作為進行判斷的特征參數(shù)。
4.2 特征量提取
原始語音信號不能直接用于模板訓練和模式匹配,這是因為(1)原始語音信號數(shù)據(jù)量太大,系統(tǒng)的運算和存貯負擔過重;(2)原始語音信號包含太多的隨機因素,極大的影響了系統(tǒng)的識別率。
語音識別系統(tǒng)進行模板訓練和模式匹配的數(shù)據(jù)是從預(yù)處理后語音信號中提取的特征參數(shù)。通過預(yù)處理和特征參數(shù)提取技術(shù),一方面使得進行模板訓練和模式匹配的數(shù)據(jù)特征明顯,提高了系統(tǒng)的識別率;另一方面進行了信息壓縮,降低了系統(tǒng)的運算量和存貯量。
特征參數(shù)提取就是從語音信號中提取有代表性的、合適的特征參數(shù),進行適當?shù)臄?shù)據(jù)壓縮。時域參數(shù)的優(yōu)點是計算量比較少,對于區(qū)別語音段和靜音段及清/濁音段比較方便,效果也比較明顯。但由于人耳對聲音的頻域特性比較敏感,時域參數(shù)不能恰當?shù)胤从尺@種特征。
線性預(yù)測分析法是最有效的語音分析技術(shù)之一。線性頂測分析所包括的基本概念是,一個語音抽樣能夠用過去若干個語音抽樣的線性組合來逼近。通過使實際語音抽樣和線性預(yù)測抽樣之間差值的平方和(在一個有限間隔上)達到最小值,能夠決定唯一的一組預(yù)測器系數(shù)(預(yù)測器系數(shù)是線性組合中所用的加權(quán)系數(shù))。
線性預(yù)測系數(shù)(LPC)倒譜系數(shù)其實是復(fù)倒譜。復(fù)倒譜是信號通過z變換以后取對數(shù),再求反G變換而得到的。線性預(yù)測分析方法是一種譜估計的方法,而且其聲道模型系統(tǒng)函數(shù)H(z)反映了聲道的頻率響應(yīng)和原始信號的譜包絡(luò),因此用lgH(z)做反Z變換即可求出其復(fù)倒譜系數(shù)。該復(fù)倒譜系數(shù)是根據(jù)線性預(yù)測模型直接得到的,因此又稱之為LPC倒譜系數(shù)。
4.3 模式匹配
模板匹配法是多維模式識別系統(tǒng)中最常用的一種相似度計算方法。在訓練過程中,經(jīng)過特征提取和特征維數(shù)的壓縮,并采用聚類方法,針對每個模式類各產(chǎn)生一個或幾個模板,識別階段將待識別模式的特征矢量與各模板進行相似度計算,然后判別它屬于哪個類。語音識別也可以用模板匹配法進行相似度計算,但它在特征維數(shù)方面存在一個時間對準問題,是通常模式識別匹配計算時不具備的一些特殊情況。孤立詞識別時,每個類是一個詞,每個詞由一個或多個音素或類音素構(gòu)成。在訓練或識別過程中,每次說同一個詞時,其持續(xù)時間長度和各個詞的各音素或類音素的相對時長都會隨機地改變。因此在匹配時如果只對特征矢量序列進行線性時間規(guī)整,其中的音素或類音素就可能對不準。而應(yīng)該采用某種非線性時間對準算法。動態(tài)時間規(guī)整(DTW)就是效果最好的一種非線性時間規(guī)整模板匹配算法。
不同的人所發(fā)的語音信號,其模式有很大的差異,即使是同一個人,在不同的時間由于方法不同,其語音特征參數(shù)也有變化。在模式匹配時,由于這些變化會影響測度的估計,從而識別率降低。為了提高識別率,首先要把語音信號的起始點檢測出來;其次,為了克服兩次同樣的語音而發(fā)音時間長短的不同,采用對標準模式的語音信號均勻地伸長或縮短直到它與未知語音信號長度相一致。這種方法能達到的識別精度完全取決于端點檢測的精度。
5 結(jié)語
本系統(tǒng)主要工作是服務(wù)于實驗室智能機器人的孤立詞語音控制。實踐證明,本系統(tǒng)能夠?qū)C器人常用的一些命令詞進行識別,并且比實驗室的傳統(tǒng)機器人的控制方式方便得多,經(jīng)過改進可以用到工業(yè)機器人的控制系統(tǒng)中去。
本文作者創(chuàng)新點是利用DSP對A/D采集來的語音信號進行處理,然后和計算機通信,同時將處理結(jié)果送給單片機實現(xiàn)LCD顯示。
存儲器相關(guān)文章:存儲器原理
矢量控制相關(guān)文章:矢量控制原理
評論