基于DSP的孤立詞語(yǔ)音識別系統的設計
1 引言
本文引用地址:http://dyxdggzs.com/article/77965.htm隨著(zhù)語(yǔ)音信號處理技術(shù)的不斷發(fā)展與成熟,語(yǔ)音識別正逐步成為信息技術(shù)中人機接口的關(guān)鍵技術(shù)。DSP芯片,即數字信號處理器,是專(zhuān)門(mén)為快速實(shí)現各種信號處理算法而設計的、具有特殊結構的微處理器,其處理速度比最快的CPU還快10~50倍。本文介紹的就是基于TMS320VC5402配合TLC320AD50C和AT89S52的實(shí)驗室用機器人的孤立詞語(yǔ)音識別系統。
2 語(yǔ)音識別系統的基本介紹
2.1 語(yǔ)音識別系統的組成
計算機語(yǔ)音識別過(guò)程與人對語(yǔ)音識別處理過(guò)程基本上是一致的。語(yǔ)音信號本身的特點(diǎn)造成了語(yǔ)音識別的困難。這些特點(diǎn)包括多變性,動(dòng)態(tài)性,瞬時(shí)性和連續性等。目前主流的語(yǔ)音識別技術(shù)是基于統計模式識別的基本理論。一個(gè)完整的語(yǔ)音識別系統可如圖1所示。

2.2 語(yǔ)音識別系統的分類(lèi)
根據對說(shuō)話(huà)人說(shuō)話(huà)方式的要求,可以分為孤立詞語(yǔ)音識別系統,連續字語(yǔ)音識別系統和連續語(yǔ)音識別系統;根據對說(shuō)話(huà)人的依賴(lài)程度可以分為特定人和非特定人語(yǔ)音識別系統;根據詞匯量大小,可以分為小詞匯量、中等詞匯量、大詞匯量以及無(wú)限詞匯量語(yǔ)音識別系統。
3 硬件系統設計
此語(yǔ)音識別系統的目的讓機器人能聽(tīng)懂我們所發(fā)出的簡(jiǎn)單的命令,首先由TLC320AD50C采集計算機聲卡的語(yǔ)音,經(jīng)過(guò)轉換后送給TMS320VC5402, TMS320VC5402完成語(yǔ)音信號處理,即識別出所發(fā)出的語(yǔ)音,然后把結果送給AT89S52顯示,同時(shí)通過(guò)串行通訊送給機器人(PC-104),以使機器人能夠控制自己的行動(dòng)。其結構框圖如圖2所示。

該系統以TMS320VC5402為核心電路,對孤立詞語(yǔ)音信號進(jìn)行采集和處理,AIC為T(mén)MS320VC5402的模擬接口電路,包括放大、濾波、和A/D轉換的電路,把由話(huà)筒采集進(jìn)來(lái)的模擬語(yǔ)音信號,轉換成數字語(yǔ)音信號。其中SRAM和Flash分別為T(mén)MS 320VC5402的數據存儲器和程序存儲器。鍵盤(pán)和顯示部分則由AT89S52來(lái)控制,AT89S52把鍵盤(pán)操作轉換為控制信號再傳送給TMS320VC5402,控制系統的工作是訓練還是識別,TMS320VC5402把要顯示的系統狀態(tài)通訊給AT89S52,以實(shí)現LCD顯示。這些硬件工作過(guò)程如圖3所示。

3.1 TMS320VC5402與TLC320AD50C的接口設計
TMS320VC5402提供了兩個(gè)增強型的高速、全雙工多通道緩存串行口McBSP, McBSP具有全雙工的通信機制以及雙緩存的發(fā)送寄存器和三緩存的接收寄存器,允許連續的數據流傳輸,數據長(cháng)度可以為8,12,16,20,24,32;同時(shí)還提供了A-律和μ律壓擴,多達128個(gè)通道的發(fā)送與接收。McBSP通過(guò)7個(gè)引腳使得一個(gè)數據通路和一個(gè)控制通路與外部設備相連。McBSP的引腳如下:
?、?DX:發(fā)送引腳,與McBSP相連發(fā)送數據。
?、?DR:接收引腳,與接收數據總線(xiàn)相連。
?、?CLKX:發(fā)送時(shí)鐘引腳。
?、?CLKR:接收時(shí)鐘引腳。
?、?FSX:發(fā)送幀同步引腳。
?、?FSR:接收幀同步引腳。
TLC320AD50C集成了16位A/D,D/A轉換器,采樣速率最高可達80kHz。在TLC320AD50C內部DAC之前有插值濾波器,ADC之后有抽樣濾波器,接收和發(fā)送可同時(shí)進(jìn)行。TLC320AD50C主機時(shí)鐘信號來(lái)源于外部,通過(guò)MCLK引腳輸人。幀同步信號從內部產(chǎn)生,由MCLK導出,其頻率由控制寄存器4設定。SCLK時(shí)鐘可以由內部產(chǎn)生也可由外部插入,在內部產(chǎn)生時(shí),其頻率為幀同步信號頻率的256倍。其主要特點(diǎn)如下:
?、?可采用單5V電源供電也可以采用5V模擬、3.3V數字雙電源供電;
?、?內含16位精度的Σ-△ADC和DAC;
?、?器件中的ADC為64倍過(guò)采樣,DAC為256倍過(guò)采樣(內部);
?、?具有85dB的最小信噪比;
?、?帶有內建抗混疊濾波器和sinx/x補償;
?、?可配置成主機或從機方式,一個(gè)串行接口可支持4個(gè)TLC320AD50器件;
TLC320AD50C與TMS320VC5402串行通信可以分為首次通信和二次通信。在首次通信中,有兩種數據傳送模式,16位傳送模式和15+1位傳送模式,可通過(guò)控制寄存器設定。省卻情況下為15+1位傳送模式。
TMS320VC5402與TLC320AD50C的硬件接口電路如圖4所示。

3.2 TMS320VC5402與AT89S52的通信
AT89S52和TMS320VC5402各自獨立工作,其信息和數據交換通過(guò)共享一片外部存儲器來(lái)實(shí)現,它們之間信號聯(lián)絡(luò )通過(guò)硬連接和軟件判斷來(lái)實(shí)現。
外部存儲器采用的是CY7C133,它是高速的2K X 16bit的靜態(tài)異步雙端口RAM,其存儲速度為25ns。它有兩套獨立的地址線(xiàn)、數據線(xiàn)和控制信號線(xiàn),允許兩個(gè)控制器件中的數據通過(guò)共同連接的存儲器來(lái)進(jìn)行通信。該雙端口RAM允許兩個(gè)控制器同時(shí)讀取任何存儲單元(包括同時(shí)讀同一單元),但不允許同時(shí)寫(xiě)或者一讀一寫(xiě)統一地址單元。
對于TMS320VC5402,數據存儲器CY7C133的對應地址為4000H~47FFH。
對于A(yíng)T89S52,數據存儲器CY7C133的對應地址為2000H~27FFH。
4 軟件系統設計
由圖1可知,軟件系統的設計主要包括端點(diǎn)檢測、特征量提取和模式匹配。
4.1 端點(diǎn)檢測
從背景噪聲中找出語(yǔ)音的開(kāi)始和終止,這在很多語(yǔ)音處理領(lǐng)域中是基本的問(wèn)題。特別是在孤立詞的自動(dòng)識別中,找出每個(gè)單詞的語(yǔ)音信號范圍是很重要的,確定語(yǔ)音信號的開(kāi)始和終止的方案可以用來(lái)減少非實(shí)時(shí)系統中的大量計算,使該系統僅處理語(yǔ)音輸入。本語(yǔ)音識別系統實(shí)時(shí)、精確的端點(diǎn)檢測可以排除無(wú)聲段的噪聲干擾,使后面的識別性能得以較大的提高。
漢語(yǔ)的音節末尾都是濁音,只用短時(shí)能量就能較好地判斷一個(gè)詞語(yǔ)的末點(diǎn)。而漢語(yǔ)詞語(yǔ)的起點(diǎn)檢測不僅有一定的難度,而且檢測是否準確對語(yǔ)音識別性能影響頗大,因為大多數聲母都是清聲母,還有送氣與不送氣的塞音和塞擦音,將它們與環(huán)境噪聲分辨是比較困難的。這里用短時(shí)相對能頻積的方法對語(yǔ)音信號的端點(diǎn)進(jìn)行檢測。
語(yǔ)音信號一般可分為無(wú)聲段、清音段、濁音段。無(wú)聲段的平均能量最低,濁音段的平均能量最高,清音段的平均能量居于兩者之間。在有噪聲環(huán)境下,語(yǔ)音剛開(kāi)始的一段,其短時(shí)能量的大小與背景噪聲的短時(shí)能量差不太多。清音段的過(guò)零率大多數情況下最高,無(wú)聲段的過(guò)零率變化范圍較大,一般情況下比濁音段低一點(diǎn),但有時(shí)會(huì )比濁音段稍高一點(diǎn)或者差不多。
在系統剛啟動(dòng)時(shí),正常情況下語(yǔ)音信號的前100ms是無(wú)聲段,所以我們可以提取這段語(yǔ)音信號的平均能量、平均過(guò)零率、它們的乘積(稱(chēng)為能頻積) 作為進(jìn)行判斷的特征參數。
4.2 特征量提取
原始語(yǔ)音信號不能直接用于模板訓練和模式匹配,這是因為(1)原始語(yǔ)音信號數據量太大,系統的運算和存貯負擔過(guò)重;(2)原始語(yǔ)音信號包含太多的隨機因素,極大的影響了系統的識別率。
語(yǔ)音識別系統進(jìn)行模板訓練和模式匹配的數據是從預處理后語(yǔ)音信號中提取的特征參數。通過(guò)預處理和特征參數提取技術(shù),一方面使得進(jìn)行模板訓練和模式匹配的數據特征明顯,提高了系統的識別率;另一方面進(jìn)行了信息壓縮,降低了系統的運算量和存貯量。
特征參數提取就是從語(yǔ)音信號中提取有代表性的、合適的特征參數,進(jìn)行適當的數據壓縮。時(shí)域參數的優(yōu)點(diǎn)是計算量比較少,對于區別語(yǔ)音段和靜音段及清/濁音段比較方便,效果也比較明顯。但由于人耳對聲音的頻域特性比較敏感,時(shí)域參數不能恰當地反映這種特征。
線(xiàn)性預測分析法是最有效的語(yǔ)音分析技術(shù)之一。線(xiàn)性頂測分析所包括的基本概念是,一個(gè)語(yǔ)音抽樣能夠用過(guò)去若干個(gè)語(yǔ)音抽樣的線(xiàn)性組合來(lái)逼近。通過(guò)使實(shí)際語(yǔ)音抽樣和線(xiàn)性預測抽樣之間差值的平方和(在一個(gè)有限間隔上)達到最小值,能夠決定唯一的一組預測器系數(預測器系數是線(xiàn)性組合中所用的加權系數)。
線(xiàn)性預測系數(LPC)倒譜系數其實(shí)是復倒譜。復倒譜是信號通過(guò)z變換以后取對數,再求反G變換而得到的。線(xiàn)性預測分析方法是一種譜估計的方法,而且其聲道模型系統函數H(z)反映了聲道的頻率響應和原始信號的譜包絡(luò ),因此用lgH(z)做反Z變換即可求出其復倒譜系數。該復倒譜系數是根據線(xiàn)性預測模型直接得到的,因此又稱(chēng)之為L(cháng)PC倒譜系數。
4.3 模式匹配
模板匹配法是多維模式識別系統中最常用的一種相似度計算方法。在訓練過(guò)程中,經(jīng)過(guò)特征提取和特征維數的壓縮,并采用聚類(lèi)方法,針對每個(gè)模式類(lèi)各產(chǎn)生一個(gè)或幾個(gè)模板,識別階段將待識別模式的特征矢量與各模板進(jìn)行相似度計算,然后判別它屬于哪個(gè)類(lèi)。語(yǔ)音識別也可以用模板匹配法進(jìn)行相似度計算,但它在特征維數方面存在一個(gè)時(shí)間對準問(wèn)題,是通常模式識別匹配計算時(shí)不具備的一些特殊情況。孤立詞識別時(shí),每個(gè)類(lèi)是一個(gè)詞,每個(gè)詞由一個(gè)或多個(gè)音素或類(lèi)音素構成。在訓練或識別過(guò)程中,每次說(shuō)同一個(gè)詞時(shí),其持續時(shí)間長(cháng)度和各個(gè)詞的各音素或類(lèi)音素的相對時(shí)長(cháng)都會(huì )隨機地改變。因此在匹配時(shí)如果只對特征矢量序列進(jìn)行線(xiàn)性時(shí)間規整,其中的音素或類(lèi)音素就可能對不準。而應該采用某種非線(xiàn)性時(shí)間對準算法。動(dòng)態(tài)時(shí)間規整(DTW)就是效果最好的一種非線(xiàn)性時(shí)間規整模板匹配算法。
不同的人所發(fā)的語(yǔ)音信號,其模式有很大的差異,即使是同一個(gè)人,在不同的時(shí)間由于方法不同,其語(yǔ)音特征參數也有變化。在模式匹配時(shí),由于這些變化會(huì )影響測度的估計,從而識別率降低。為了提高識別率,首先要把語(yǔ)音信號的起始點(diǎn)檢測出來(lái);其次,為了克服兩次同樣的語(yǔ)音而發(fā)音時(shí)間長(cháng)短的不同,采用對標準模式的語(yǔ)音信號均勻地伸長(cháng)或縮短直到它與未知語(yǔ)音信號長(cháng)度相一致。這種方法能達到的識別精度完全取決于端點(diǎn)檢測的精度。
5 結語(yǔ)
本系統主要工作是服務(wù)于實(shí)驗室智能機器人的孤立詞語(yǔ)音控制。實(shí)踐證明,本系統能夠對機器人常用的一些命令詞進(jìn)行識別,并且比實(shí)驗室的傳統機器人的控制方式方便得多,經(jīng)過(guò)改進(jìn)可以用到工業(yè)機器人的控制系統中去。
本文作者創(chuàng )新點(diǎn)是利用DSP對A/D采集來(lái)的語(yǔ)音信號進(jìn)行處理,然后和計算機通信,同時(shí)將處理結果送給單片機實(shí)現LCD顯示。
存儲器相關(guān)文章:存儲器原理
矢量控制相關(guān)文章:矢量控制原理
評論