基于非特定人車(chē)載音響語(yǔ)音控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
隨著現(xiàn)代電子技術(shù)的發(fā)展,越來(lái)越多的車(chē)載電器被加入到車(chē)身電子行列中,其在使得汽車(chē)性能改善的同時(shí),增加了汽車(chē)駕駛操作的復(fù)雜度,也給行車(chē)過(guò)程帶來(lái)了不安全的隱患。隨著語(yǔ)音識(shí)別算法的改進(jìn)和新一代專(zhuān)用語(yǔ)音處理芯片的問(wèn)世,出現(xiàn)了使用語(yǔ)音控制代替手動(dòng)控制的車(chē)載電器,從而減輕駕駛員手動(dòng)操作負(fù)擔(dān),大大提高行車(chē)安全系數(shù)。
目前我國(guó)的車(chē)身電子語(yǔ)音控制主要集中在汽車(chē)導(dǎo)航系統(tǒng)的應(yīng)用上,沒(méi)有充分發(fā)揮語(yǔ)音識(shí)別技術(shù)在車(chē)身電子中的應(yīng)用價(jià)值。本文首次提出了一種的以專(zhuān)用語(yǔ)音處理芯片UniSpeech-SDA80D51為核心組成非特定人車(chē)載音響語(yǔ)音控制系統(tǒng)的設(shè)計(jì)方案,并實(shí)現(xiàn)了系統(tǒng)樣機(jī)的研制。該系統(tǒng)在江淮同悅SL1102C1型車(chē)載音響上進(jìn)行了語(yǔ)音控制實(shí)驗(yàn),實(shí)驗(yàn)數(shù)據(jù)表明系統(tǒng)語(yǔ)音識(shí)別率可達(dá)到95%,為下一步項(xiàng)目產(chǎn)品化開(kāi)發(fā)奠定了基礎(chǔ)。
1 車(chē)載音響語(yǔ)音控制系統(tǒng)
非特定人車(chē)載音響語(yǔ)音控制系統(tǒng)結(jié)構(gòu)框圖如圖1 所示。
系統(tǒng)的主要功能是:語(yǔ)音采集模塊(由定向拾音器組成)用于采集駕駛員發(fā)出的語(yǔ)音命令信號(hào),由語(yǔ)音識(shí)別模塊實(shí)現(xiàn)信號(hào)的A/D轉(zhuǎn)換,并對(duì)轉(zhuǎn)換的數(shù)字信號(hào)進(jìn)行語(yǔ)音識(shí)別處理,最終輸出與語(yǔ)音命令相對(duì)應(yīng)的詞條編碼信息??刂颇K對(duì)接收的詞條編碼信號(hào)進(jìn)行邏輯分析與處理并產(chǎn)生對(duì)應(yīng)的控制信號(hào),通過(guò)系統(tǒng)I/O接口驅(qū)動(dòng)車(chē)載音響動(dòng)作,完成駕駛員的語(yǔ)音命令。
1.1 語(yǔ)音識(shí)別模塊
語(yǔ)音識(shí)別模塊主要由UniSpeech-SDA80D51芯片及外圍電路組成。
SDA80D51是德國(guó)Infineon公司專(zhuān)為語(yǔ)音識(shí)別和語(yǔ)音處理應(yīng)用領(lǐng)域新推出的專(zhuān)用芯片,采用高集成度的SoC系統(tǒng)結(jié)構(gòu),以0.18 μm半導(dǎo)體工藝制造,SDA80D51的基本結(jié)構(gòu)如圖2所示。
SDA80D51片內(nèi)集成了直接雙訪問(wèn)快速SRAM、2路ADC和2路DAC、多種通信接口和通用GPIO等部件。SDA80D51工作方式以M8051為主控制芯片,主要完成系統(tǒng)配置和SPI、PWM、I2C、GPIO等接口的控制以及語(yǔ)音數(shù)據(jù)的傳輸工作;DSP核心OAK為協(xié)處理器,完成語(yǔ)音識(shí)別算法、語(yǔ)音編解碼算法等語(yǔ)音處理工作。
非特定人語(yǔ)音信號(hào)由定向拾音器輸入,經(jīng)過(guò)SDA80D51內(nèi)部的數(shù)據(jù)采集模塊進(jìn)行A/D轉(zhuǎn)換,再經(jīng)過(guò)識(shí)別程序的預(yù)處理、端點(diǎn)檢測(cè)、特征參數(shù)提取、模板匹配等處理,選擇識(shí)別詞表中最接近的詞條序號(hào)作為識(shí)別結(jié)果,識(shí)別結(jié)果通過(guò)GPIO口輸出。
1.2 控制模塊
控制模塊由MCU和模擬開(kāi)關(guān)電路構(gòu)成,本模塊主要完成對(duì)語(yǔ)音識(shí)別模塊輸出的詞條編碼信號(hào)進(jìn)行邏輯分析和處理,通過(guò)模擬開(kāi)關(guān)電路產(chǎn)生對(duì)應(yīng)功能的控制信號(hào)控制音響的動(dòng)作。其中MCU選用美國(guó)ATMEL公司產(chǎn)品AT89S51,綜合AT89S51輸出I/O信號(hào)電壓特性和SL1102C1音響控制面板電阻式分流鍵盤(pán)電路的特點(diǎn),確定使用繼電器模擬SL1102C1控制面板按鍵的閉合和斷開(kāi)動(dòng)作。AT89S51和繼電器模擬開(kāi)關(guān)電路原理圖如圖3所示。
1.3 音響模塊
本設(shè)計(jì)是基于SL1102C1型汽車(chē)音響。SL1102C1是專(zhuān)門(mén)為中檔轎車(chē)設(shè)計(jì)的汽車(chē)音響,具有MP3播放、收音機(jī)和顯示時(shí)間等功能,目前大量使用在江淮同悅轎車(chē)上。SL1102C1前板共有開(kāi)關(guān)機(jī)/靜音、音效、播放/暫停等15個(gè)按鍵和一個(gè)用來(lái)調(diào)節(jié)音量的編碼開(kāi)關(guān)。
SL1102C1前板上的按鍵為電壓采樣識(shí)別方式,按鍵包含短按和長(zhǎng)按兩種動(dòng)作,AT89S51輸出電壓為T(mén)TL電平,直接采用I/O信號(hào)驅(qū)動(dòng)音響按鍵動(dòng)作容易引起誤識(shí)別,造成系統(tǒng)誤操作,因此本文采用圖3所示的模擬開(kāi)關(guān)電路,很好地解決了上述問(wèn)題。當(dāng)AT89S51接收到語(yǔ)音編碼信號(hào)后,立即進(jìn)行邏輯分析并輸出對(duì)應(yīng)的控制信號(hào)驅(qū)動(dòng)相應(yīng)繼電器吸合模擬按鍵動(dòng)作,按鍵的短按和長(zhǎng)按功能是通過(guò)軟件實(shí)現(xiàn)的。
模擬開(kāi)關(guān)電路還適用于SL1102C1前板上的編碼開(kāi)關(guān),編碼開(kāi)關(guān)具有音量調(diào)節(jié)功能,其工作原理如圖4所示。
由圖4可知,編碼開(kāi)關(guān)上有A、B、C三個(gè)端子,開(kāi)關(guān)旋鈕左、右旋轉(zhuǎn)時(shí),A、B端子輸出對(duì)應(yīng)的脈沖信號(hào)。當(dāng)MCU收到操作編碼開(kāi)關(guān)的語(yǔ)音命令信號(hào)后,驅(qū)動(dòng)繼電器動(dòng)作,控制端子A、B輸出信號(hào),模擬開(kāi)關(guān)旋鈕功能。
2 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)的軟件包括非特定人語(yǔ)音識(shí)別模塊和邏輯控制模塊。
2.1 非特定人語(yǔ)音識(shí)別模塊
非特定人語(yǔ)音識(shí)別模塊基于HMM模型算法。該算法通過(guò)對(duì)大量語(yǔ)音數(shù)據(jù)進(jìn)行數(shù)據(jù)統(tǒng)計(jì),建立識(shí)別詞條的統(tǒng)計(jì)模型語(yǔ)音庫(kù),然后從待識(shí)別語(yǔ)音中提取特征,與模型庫(kù)進(jìn)行匹配,由比較匹配分?jǐn)?shù)得到識(shí)別結(jié)果,并通過(guò)SDA80D51的GPIO口輸出識(shí)別結(jié)果對(duì)應(yīng)的詞條編碼信號(hào)。語(yǔ)音識(shí)別模塊主要由信號(hào)預(yù)處理、特征參數(shù)提取、模型匹配和Viterbi算法部分組成,非特定人語(yǔ)音識(shí)別模塊框圖如圖5所示。
2.1.1 信號(hào)預(yù)處理
信號(hào)預(yù)處理部分主要完成輸入語(yǔ)音信號(hào)的采樣、 模/數(shù)轉(zhuǎn)換功能。A/D變換由SDA80D51內(nèi)嵌12位A/D變換器實(shí)現(xiàn),采樣頻率固定為8 kHz。
2.1.2 特征參數(shù)提取
特征參數(shù)提取基于語(yǔ)音幀,采用分幀提取特片。先對(duì)語(yǔ)音信號(hào)進(jìn)行重疊分幀,前一幀和后一幀重疊一半(幀信號(hào)重疊是體現(xiàn)相鄰兩幀數(shù)據(jù)之間的相關(guān)性),幀長(zhǎng)為25 ms,對(duì)每幀提取一次語(yǔ)音特片。
語(yǔ)音信號(hào)是聲道響應(yīng)和聲門(mén)激勵(lì)信號(hào)的卷積。分別求聲道傳輸函數(shù)和聲門(mén)激勵(lì)信號(hào)的對(duì)數(shù)頻率響應(yīng),由于聲門(mén)激勵(lì)信號(hào)的頻率響應(yīng)和聲道傳輸函數(shù)在頻譜的變化快慢不同,如將頻率軸視為時(shí)間軸,則聲門(mén)激勵(lì)信號(hào)的頻率響應(yīng)對(duì)應(yīng)于“高頻”區(qū);而聲道傳輸函數(shù)對(duì)應(yīng)于“低頻”區(qū),處在不同區(qū)域就易于分辨。
MFCC參數(shù)屬于感知頻域倒譜參數(shù),反映了語(yǔ)音信號(hào)短時(shí)幅度譜的特征。p維MFCC參數(shù)的具體計(jì)算提取過(guò)程如下:
(1)用DFFT對(duì)每幀s(n:m)計(jì)算線性頻譜,計(jì)算頻譜模的平方為功率譜;
(2)功率譜經(jīng)過(guò)Mel濾波器組獲得D個(gè)參數(shù)X(i),D是Mel濾波器組中三角形濾波器的數(shù)量;
(3)對(duì)X(i)做對(duì)數(shù)運(yùn)算和離散余弦變換,余弦變換計(jì)算公式如下:
式中的Y(i)是第i個(gè)Mel濾波器的對(duì)數(shù)能量輸出,i=1,2,…,D。
2.1.3 HMM語(yǔ)音識(shí)別算法
隱馬爾可夫采用概率統(tǒng)計(jì)模型描述語(yǔ)音信號(hào),HMM模型建立在Markov鏈基礎(chǔ)上,使用Markov鏈來(lái)模擬語(yǔ)音信號(hào)統(tǒng)計(jì)特性的變化。HMM模型為雙重隨機(jī)過(guò)程,其一是Markov鏈,由(π,A)描述狀態(tài)的轉(zhuǎn)移,輸出為狀態(tài)序列;另一個(gè)是隨機(jī)過(guò)程,由B描述,在統(tǒng)計(jì)意義上B反映了狀態(tài)和觀察值之間的對(duì)應(yīng)關(guān)系,輸出為觀察值矢量序列。Markov鏈中狀態(tài)和時(shí)間參數(shù)都是離散的Markov過(guò)程。
Viterbi算法是一種幀同步動(dòng)態(tài)規(guī)整算法,在給定觀察值序列和模型時(shí),Viterbi算法給出了一個(gè)概率密度P(Q,O|λ)最大的狀態(tài)序列。Viterbi算法包括初始化、遞推、終止、路徑回溯和確定最佳狀態(tài)序列。
對(duì)于語(yǔ)音處理而言,因Q的變化,P(Q,O|λ)取值范圍很大,而P(Q,O|λ)的最大值占了全部P(Q,O|λ)的很大的成分,所以可以用Viterbi算法來(lái)計(jì)算P(O|λ)。
2.2 控制模塊
控制模塊的主要功能是:在AT89S51查詢到語(yǔ)音詞條信號(hào)后,查表獲得詞條編碼,根據(jù)編碼判斷對(duì)應(yīng)按鍵是長(zhǎng)按或短按,分別進(jìn)入相應(yīng)的子程序處理。在子程序中,輸出語(yǔ)音命令所對(duì)應(yīng)的I/O控制信號(hào)驅(qū)動(dòng)繼電器吸合模擬按鍵或編碼開(kāi)關(guān)動(dòng)作,并及時(shí)復(fù)位I/O口。控制模塊還具有完全兼容手動(dòng)控制的功能,在語(yǔ)音控制操作的同時(shí)也可以進(jìn)行手動(dòng)操作,手動(dòng)的優(yōu)先級(jí)高于語(yǔ)音命令,這樣可以避免語(yǔ)音控制和手動(dòng)控制之間發(fā)生沖突。
控制模塊部分程序代碼如下:
3 系統(tǒng)實(shí)測(cè)結(jié)果
本系統(tǒng)在江淮同悅SL1102C1型車(chē)載音響上進(jìn)行了非特定人語(yǔ)音識(shí)別率和模擬開(kāi)關(guān)動(dòng)作準(zhǔn)確率測(cè)試。由于汽車(chē)音響的語(yǔ)音詞條為2到4個(gè)字,語(yǔ)音識(shí)別率實(shí)驗(yàn)內(nèi)容為車(chē)載音響常用2字詞條指令18條、3字詞條指令12條、4字詞條指令10條,實(shí)驗(yàn)對(duì)象為6人(4男、2女,普通話和方言),實(shí)驗(yàn)環(huán)境為實(shí)驗(yàn)室環(huán)境。為了提高系統(tǒng)的識(shí)別率,系統(tǒng)采用奧林巴斯ME52定向麥克,提高了麥克接收范圍,系統(tǒng)測(cè)試結(jié)果如表1所示。
由表1可知,系統(tǒng)的識(shí)別率與語(yǔ)音指令詞條字?jǐn)?shù)、麥克接收距離、說(shuō)話人方言有關(guān)。男聲和女聲的識(shí)別率接近。
在系統(tǒng)控制電路實(shí)驗(yàn)中,模擬開(kāi)關(guān)動(dòng)作達(dá)到了較高的準(zhǔn)確率,測(cè)試結(jié)果為98%以上,只要控制程序運(yùn)行正常,各路繼電器就能按照程序安排執(zhí)行閉合和斷開(kāi)模擬手動(dòng)開(kāi)關(guān)操作。
實(shí)現(xiàn)汽車(chē)電器的語(yǔ)音控制是未來(lái)車(chē)載電器的發(fā)展趨勢(shì),越來(lái)越多的解決方案被提出和驗(yàn)證。本文設(shè)計(jì)在SL1102C1型車(chē)載音響上使用SDA80D51芯片,實(shí)現(xiàn)了車(chē)載音響非特定人的語(yǔ)音識(shí)別與控制。由于該芯片集成度高,需要外圍模塊少,所以設(shè)計(jì)的硬件電路簡(jiǎn)單,便于調(diào)試檢測(cè)。該設(shè)計(jì)得到的樣機(jī),有較高的識(shí)別率,工作穩(wěn)定、可擴(kuò)展性強(qiáng),達(dá)到預(yù)期的設(shè)計(jì)目標(biāo),整個(gè)設(shè)計(jì)方案和實(shí)現(xiàn)方法是可行的。由于語(yǔ)音識(shí)別率隨著環(huán)境、說(shuō)話人不同而變化,雖然HMM算法在噪聲很小的環(huán)境下可以獲得很高的識(shí)別率,但當(dāng)測(cè)試語(yǔ)音或者環(huán)境中含有不同程度的噪聲污染時(shí),語(yǔ)音識(shí)別系統(tǒng)的性能會(huì)有所下降。提高系統(tǒng)的抗噪性和魯棒性是語(yǔ)音識(shí)別系統(tǒng)走向?qū)嵱没年P(guān)鍵之一。
參考文獻(xiàn)
[1] 楊行峻,遲惠生.語(yǔ)音信號(hào)數(shù)字處理[M].北京:電子工業(yè)出版社,1995.
[2] Inifneon. UniSpeech2V2.0 Functional Specification [Z]. Infineon Technologies AG, 2002.
[3] 韓紀(jì)慶,張磊,鄭鐵然.語(yǔ)音信號(hào)處理[M].北京:清華大學(xué)出版社,2004.
[4] 王海青.基于CDHMM的口令式語(yǔ)音識(shí)別系統(tǒng)及其DSP實(shí)現(xiàn)[D]. 合肥:中國(guó)科學(xué)技術(shù)大學(xué),2003.
[5] BURCHARD B, ROMER R, FOX O. A single chip phoneme based HMM speech recognition system for consumer applications[J]. Consumer Electronics, IEEE Transactions on, 2000, 46(3): 914-919.
[6] Masao Namiki, Takayuki Hamamoto, Seiichiro Hangai.Spoken word recognition with digital cochlea using 32 DSP-boards, IEEE Trans. on Acoust, Speech, Signal Processing, 2001,2:969-972.