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