當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]語音識別片上系統(tǒng)可以實現(xiàn)簡單的人機(jī)交互和語音控制,在家電、玩具及各種人機(jī)交互系統(tǒng)中有著廣泛的應(yīng)用前景

摘要:語音識別片上系統(tǒng)可以實現(xiàn)簡單的人機(jī)交互和語音控制,在家電、玩具及各種人機(jī)交互系統(tǒng)中有著廣泛的應(yīng)用前景。本文結(jié)合漢語語音特點,在TMS320VC5507芯片上實現(xiàn)了高性能特定人與非特定人中小詞匯量孤立詞識別系統(tǒng)。采用基于循環(huán)緩沖區(qū)的端點檢測算法,雙緩沖區(qū)的傳輸方式用于語音錄制和回放,分別采用降低特征維數(shù)的DTW算法和基于連續(xù)隱含馬爾可夫模型(CDHMM)的多級搜索算法作為核心識別算法,并給出實驗結(jié)果。 
關(guān)鍵詞:特定人;非特定人;片上系統(tǒng);德州儀器;直接存儲訪問 

1 語音識別片上系統(tǒng)概述

隨著數(shù)字信號處理技術(shù)的發(fā)展,語音識別片上系統(tǒng)已成為人們研究的熱點。然而,復(fù)雜的系統(tǒng)與硬件需求的矛盾,一定程度上限制了它的應(yīng)用和推廣。本文針對上述問題,采用相應(yīng)的識別策略[1],合理安排算法流程,完成了高性能特定人與非特定人識別系統(tǒng)的片上實現(xiàn)。

2 硬件平臺

DSP選型時需綜合考慮運(yùn)算速度、成本、功耗、硬件資源和程序可移植性等因素。本系統(tǒng)采用美國德州儀器(TI)生產(chǎn)的TMS320VC5507定點DSP作為核心處理器[2],并配合使用PLL時鐘發(fā)生器、JTEG標(biāo)準(zhǔn)測試接口、異步通信串口、DMA控制器、通用輸入輸出GPIO端口以及多通道緩沖串口(McBSPs)等主要片內(nèi)外設(shè)。系統(tǒng)硬件平臺如圖1所示。

VC5507 DSP芯片采用先進(jìn)的多總線結(jié)構(gòu),內(nèi)含64 K×16 bit的片上RAM和64 KB的ROM;片內(nèi)可屏蔽ROM固化有引導(dǎo)轉(zhuǎn)載程序(Bootloader)和中斷向量表等;采用流水線結(jié)構(gòu)提高指令執(zhí)行的整體速度。與C54x系列DSP不同的是,VC5507DSP的存儲空間包括統(tǒng)一的數(shù)據(jù)、程序空間和I/O空間,尋址空間可達(dá)16 MB;片內(nèi)包含兩個算術(shù)邏輯單元(ALUs),在最高時鐘頻率200 MHz下,指令周期可達(dá)5 ns,最高速度可達(dá)400 MIPS。

存儲器采用三菱公司生產(chǎn)的M5M29GB/T320VP系列Flash芯片。全片容量2 MW,分為128個扇區(qū),通過外部存儲器接口(EMIF)方式與讀寫時序接入DSP;采用2.7 V~3.6 V單電源供電。該系列Flash支持塊編程操作[3],讀寫速度要快得多,有利于實時性的改善。

基金項目:國家自然科學(xué)基金資助項目60572083

圖1  語音識別系統(tǒng)硬件框圖

A/D、D/A轉(zhuǎn)換器采用英國Wolfson公司生產(chǎn)的WM8973L芯片。該芯片支持16位A/D、D/A轉(zhuǎn)換,具有可編程輸入輸出增益控制,可通過軟件設(shè)置8~96 KHz的多種采樣頻率[4]。

3 軟件結(jié)構(gòu)

3.1 系統(tǒng)概述

特定人識別系統(tǒng)采用12維MFCC參數(shù)作為識別引擎的特征參數(shù),訓(xùn)練與識別都是在片上實時實現(xiàn)的,系統(tǒng)框架如圖2(a)所示。在訓(xùn)練階段,由片上實時提取每個詞條的特征參數(shù)存放到Flash中作為模板庫。在識別階段,將待識別詞條實時提取特征參數(shù)、端點檢測以后,利用動態(tài)時間規(guī)整(DTW)算法與模板庫中的所有模板進(jìn)行匹配,選擇失真度最小的模板作為識別結(jié)果。當(dāng)詞表改變時,只需調(diào)整Flash存儲方式,算法本身無需改動。

(a)  特定人系統(tǒng)

(b) 非特定人系統(tǒng)

圖2  識別系統(tǒng)框架

非特定人識別系統(tǒng)的輸入特征矢量為27維,包括12維MFCC、12維MFCC一階差分、一階對數(shù)能量、一階差分能量以及二階差分能量。系統(tǒng)以基于因素的CDHMM模型為基本識別框架,采用Viterbi解碼的幀同步搜索算法進(jìn)行識別。HMM模型訓(xùn)練事先在PC機(jī)上進(jìn)行,而Viterbi搜索則在DSP芯片上實時實現(xiàn),整個系統(tǒng)為雙層結(jié)構(gòu),如圖2(b)所示。

訓(xùn)練階段主要完成如下任務(wù):給定一個HMM模型和一組觀察矢量集合,采用迭代算法調(diào)整模型參數(shù),使得新模型和給定的觀察矢量集合的似然度最大。首先用初始模型估計觀察矢量由隱含層所有可能的狀態(tài)序列輸出的后驗概率,然后根據(jù)前一步的估計結(jié)果,利用最大似然準(zhǔn)則估計新的HMM模型,所得到的參數(shù)用作下一次迭代。識別階段采用Viterbi搜索,所構(gòu)建的識別網(wǎng)絡(luò)包括狀態(tài)號和狀態(tài)連接關(guān)系等信息。為了減少網(wǎng)絡(luò)搜索的內(nèi)存占用量,采用每個詞條單獨建立網(wǎng)絡(luò)的方法,使得每個詞條的搜索過程可在內(nèi)存中獨立進(jìn)行[5]。

3.2 語音傳輸與中斷程序設(shè)計

受硬件條件限制,系統(tǒng)的多任務(wù)調(diào)度是由中斷服務(wù)機(jī)制完成的。除了Reset和非屏蔽中斷(NMI)外,還設(shè)置了兩個DMA通道中斷。其中DMA通道2負(fù)責(zé)將麥克風(fēng)錄制的語音數(shù)據(jù)送至DSP內(nèi)核進(jìn)行運(yùn)算處理;DMA通道3負(fù)責(zé)將回放語音數(shù)據(jù)傳送至揚(yáng)聲器輸出。

在內(nèi)存中,分別設(shè)有兩個128 W的接收緩沖區(qū)和發(fā)送緩沖區(qū)。以接收端為例,對于8 kHz采樣語音,每0.125 ms接收一個16 bits的采樣數(shù)據(jù),存入其中一個接收緩沖區(qū)中。16 ms后,該接收緩沖區(qū)滿,由DMA控制器向CPU發(fā)出中斷請求,進(jìn)行VAD、特征提取等操作。與此同時,另一個接收緩沖區(qū)繼續(xù)接收語音數(shù)據(jù)。這種數(shù)據(jù)傳輸方式又稱為Ping-Pong傳輸,接收和發(fā)送分別設(shè)置兩個緩沖區(qū),利用等待時隙,當(dāng)其中一個緩沖區(qū)數(shù)據(jù)傳輸完成,產(chǎn)生中斷時,另一緩沖區(qū)繼續(xù)工作。這種雙緩沖區(qū)傳輸方式可以明顯改善系統(tǒng)實時性能。

3.3 端點檢測

輸入到硬件平臺的語音信號前后經(jīng)常含有大量靜音或噪聲。出于節(jié)省硬件資源的考慮,需要引入端點檢測算法。為了兼顧實時性能和硬件資源占用率,并防止語音切分過嚴(yán)而影響識別性能,采用基于循環(huán)緩沖技術(shù)的四階段語音實時檢測方法,將每幀語音能量與閾值相比較,同時依次存入長度為 的循環(huán)緩沖區(qū)并記錄當(dāng)前位置。算法流程如圖3所示,其中 、 、 、 、 為事先設(shè)定的閾值,它們是通過大量測試得到的。當(dāng)檢測到連續(xù) 幀語音能量高于閾值時,將循環(huán)緩沖區(qū)從當(dāng)前位置斷開,倒退 幀作為語音起始點。

(a) 端點檢測基本流程

(b) 循環(huán)緩沖區(qū)設(shè)計

圖3  基于循環(huán)緩沖區(qū)的端點檢測流程

3.4 特定人識別系統(tǒng)的特征提取與DTW模板匹配

實驗表明,采用12維MFCC系數(shù)作為特征參數(shù),既可以節(jié)省內(nèi)存空間,又不會對識別率造成很大影響。每幀語音特征參數(shù)在內(nèi)存數(shù)據(jù)空間中連續(xù)存放。采取動態(tài)時間規(guī)整(DTW)算法,其本質(zhì)是一種寬度優(yōu)先的模板匹配過程,即將待識別詞條的特征矢量序列與每個模板進(jìn)行比較,找到一條總失真度最小的路徑作為識別結(jié)果[6]。DTW算法簡單,計算量小,占用內(nèi)存小,可以解決語速不均勻的問題,適用于特定人小詞匯量的孤立詞識別系統(tǒng)。

3.5 非特定人識別系統(tǒng)的多級Viterbi搜索與硬件資源消耗分析

非特定人識別基線系統(tǒng)難于在片上實現(xiàn)的瓶頸在于識別時間過長。事實上,如果聲學(xué)模型構(gòu)造合理,絕大多數(shù)錯誤結(jié)果的似然度往往與正確結(jié)果相差較遠(yuǎn)。因此,本系統(tǒng)采用的基于Viterbi解碼的兩階段搜索策略,可以很大程度上緩解識別時間過長的問題。

第一階段為快速匹配階段。利用較為簡單的208個狀態(tài)的單音子聲學(xué)模型,給出匹配程度最高的前Nbest個候選詞條,送入第二階段。第一階段所占用的主要內(nèi)存空間有:詞條的所有特征,在使用27維特征,最大有效語音長度為128幀情況下,需要6.8 KB;輸出分?jǐn)?shù)矩陣,其大小由最大有效語音長度和模型數(shù)量決定,是內(nèi)存開銷最主要的部分,在這里需要占用約62 KB的內(nèi)存;所有詞條的對數(shù)似然度,200詞的情況下為0.8 KB。

第二階段為精確匹配階段,采用較復(fù)雜的358狀態(tài)雙音子模型,根據(jù)第一階段候選詞條構(gòu)建新的識別網(wǎng)絡(luò),進(jìn)行搜索識別。為了節(jié)約內(nèi)存占用量,設(shè)定第一階段候選詞條數(shù)量的上限為8,這樣,第二階段可能出現(xiàn)的有效狀態(tài)數(shù)量不會超過208個,從而可以使占用內(nèi)存最大的輸出概率矩陣復(fù)用第一階段輸出概率矩陣所占用的那段內(nèi)存,提高內(nèi)存使用效率[7]。

4 實驗結(jié)果

錄音環(huán)境為辦公環(huán)境,8 kHz采樣,16 bit量化,每個詞條最大持續(xù)時間為2 s,端點檢測的循環(huán)緩沖區(qū)長度 =7 W。特定人識別系統(tǒng)的測試語音為本實驗室自錄的100個孤立詞人名詞表,識別結(jié)果如表1所示。非特定人識別系統(tǒng)的訓(xùn)練集為863男生連續(xù)語音數(shù)據(jù),測試語音為200詞的人名詞表。第一階段多候選識別結(jié)果如圖4所示??梢姡m然一候選的識別率不足94%,但隨著候選詞條數(shù)的增加,正確識別結(jié)果幾乎都包含在第一階段前幾選的識別結(jié)果中。本文選用的八候選策略的識別率可以達(dá)到99.5%。系統(tǒng)最終識別結(jié)果如表2所示,識別率僅從基線系統(tǒng)的98.5%下降到97.5%,而識別時間僅為基線系統(tǒng)的30%。

表1  特定人系統(tǒng)識別性能

識別率

98.00%

識別時間(倍實時)

0.13

內(nèi)存空間占用

程序空間

39 KB

數(shù)據(jù)空間

22 KB

表2  非特定人系統(tǒng)識別性能

基線系統(tǒng)

識別率

98.50%

識別時間(倍實時)

1.00

本系統(tǒng)識別率

一階段多候選識別率

99.50%

二階段第一選識別率

97.50%

識別時間(倍實時)

0.34

本系統(tǒng)內(nèi)存空間占用

程序空間

29 KB

數(shù)據(jù)空間

94 KB

圖4  非特定人系統(tǒng)第一階段多候選識別率

5 結(jié)論

本文提出了一種基于定點DSP的特定人與非特定人語音識別片上系統(tǒng)的實現(xiàn)方法。通過降低特征維數(shù),改進(jìn)語音預(yù)處理與識別算法等手段,在保證識別性能的前提下,實現(xiàn)了硬件資源的高效率利用。在運(yùn)算速度為288 MIPS,工作時鐘為144 MHz的條件下,特定人與非特定人識別系統(tǒng)識別率分別為98%與97.5%,識別時間分別為0.13倍實時和0.34倍實時。

本文的創(chuàng)新點在于:采用基于循環(huán)緩沖技術(shù)的四階段實時端點檢測算法,以及基于雙緩沖區(qū)的語音傳輸方式,在核心識別算法的處理中,選擇合適的特征維數(shù),合理優(yōu)化識別算法流程,在保證識別性能不受影響的前提下,有效改善了硬件資源占用率與系統(tǒng)實時性能。

參考文獻(xiàn)

[1] Zhu Xuan, Chen Yining, Liu Jia, et al. A Novel efficient decoding algorithm for CDHMM-based speech recognizer on chip [A]. Proceeding of ICASSP [C]. Hong Kong: IEEE Press, 2003, 293-296

[2] SPRS244F. TMS320VC5507 Fixed-Point Digital Signal Processor [S]. Texas: Texas Instruments, 2005

[3] MITSUBISHI LSIs M5M29GB/T320VP-80 BLOCK ERASE FLASH MEMORY [S]. 2001

[4] WM8973L Stereo CODEC for Portable Audio Applications [S]. Edinburgh: Wolfson microelectronics, 2004

[5] 朱璇,陳一寧,劉加,劉潤生. 語音識別片上系統(tǒng)中的多級搜索算法[J]. 電子學(xué)報,2004,32(1):150-153.

[6] 陳立萬. 基于語音識別系統(tǒng)中DTW算法改進(jìn)技術(shù)研究[J]. 微計算機(jī)信息,2006,第5期,267-269

[7] 王瑞. 基于子詞模型的嵌入式語音識別引擎的設(shè)計和實現(xiàn)[D]. 北京:清華大學(xué),2003

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉