LD3320嵌入式語(yǔ)音識(shí)別系統(tǒng)應(yīng)用
1 概述
本文引用地址:http://www.ex-cimer.com/article/201609/303656.htm語(yǔ)音交互系統(tǒng)是比較人性化的人機(jī)操作界面,它需要語(yǔ)音識(shí)別系統(tǒng)的支持。LD3320就是這樣一款語(yǔ)音識(shí)別芯片。介紹了該芯片的工作原理及應(yīng)用,給出了LD3320與微處理器的硬件接口電路及軟件程序。隨著高檔MCU的不斷出現(xiàn),以MCU為核心的嵌入式語(yǔ)音交互系統(tǒng)會(huì)有非常好的應(yīng)用前景。
2 特定人語(yǔ)音識(shí)別技術(shù)及原理
特定人語(yǔ)音識(shí)別(ASR,Auto Speech RecognitiON)技術(shù)是基于關(guān)鍵詞語(yǔ)列表的識(shí)別技術(shù),它是對(duì)大量的語(yǔ)音數(shù)據(jù)(相當(dāng)于對(duì)數(shù)千人采集的數(shù)萬(wàn)小時(shí)的有效聲音數(shù)據(jù))經(jīng)語(yǔ)言學(xué)家語(yǔ)音模型分析,建立數(shù)學(xué)模型,并經(jīng)過(guò)反復(fù)訓(xùn)練提取基元語(yǔ)音的細(xì)節(jié)特征,以及提取各基元間的特征差異,得到在統(tǒng)計(jì)概率最優(yōu)化意義上的各個(gè)基元語(yǔ)音特征,最后才由資深工程師將算法以及語(yǔ)音模型轉(zhuǎn)換成硬件芯片并應(yīng)用在嵌入式系統(tǒng)中。
ASR技術(shù)每次識(shí)別的過(guò)程就是把用戶說(shuō)出的語(yǔ)音內(nèi)容,通過(guò)頻譜轉(zhuǎn)換為語(yǔ)音特征,再將這個(gè)轉(zhuǎn)換后的語(yǔ)音特征和關(guān)鍵詞語(yǔ)列表中的條目一一進(jìn)行匹配,最優(yōu)匹配的一條即作為識(shí)別結(jié)果。比如ASR技術(shù)在語(yǔ)音控制的手機(jī)應(yīng)用中,這個(gè)關(guān)鍵詞語(yǔ)列表的內(nèi)容就是電話本中的人名、手機(jī)的菜單命令或手機(jī)存儲(chǔ)卡中的歌曲名字。不論這個(gè)列表的條目?jī)?nèi)容是什么,只需要用戶設(shè)置相關(guān)的寄存器,就可以把相應(yīng)的待識(shí)別條目?jī)?nèi)容以字符形式傳遞給識(shí)別引擎。
由此可見(jiàn),語(yǔ)音識(shí)別芯片完成的工作就是:把MIC(麥克風(fēng))輸入的聲音進(jìn)行頻譜分析后提取語(yǔ)音特征,再和關(guān)鍵詞語(yǔ)列表中的關(guān)鍵詞語(yǔ)進(jìn)行對(duì)比匹配,最后找出得分最高的關(guān)鍵詞語(yǔ)作為識(shí)別結(jié)果輸出。
通常基于ASR技術(shù)的語(yǔ)音識(shí)別芯片能在兩種情況下給出識(shí)別結(jié)果:
①外部送入預(yù)定時(shí)間的語(yǔ)音數(shù)據(jù)(比如5 s的語(yǔ)音數(shù)據(jù)),芯片對(duì)這些語(yǔ)音數(shù)據(jù)運(yùn)算分析后,給出識(shí)別結(jié)果。
②外部送入語(yǔ)音數(shù)據(jù)流,語(yǔ)音識(shí)別芯片通過(guò)端點(diǎn)檢測(cè)(VAD,Voice Activity Detection)技術(shù)檢測(cè)出用戶停止說(shuō)話,把用戶開(kāi)始說(shuō)話到停止說(shuō)話之間的語(yǔ)音數(shù)據(jù)進(jìn)行運(yùn)算分析后,給出識(shí)別結(jié)果。
對(duì)于第一種情況,可以理解為設(shè)定了一個(gè)定時(shí)錄音(如5 s的語(yǔ)音數(shù)據(jù)),芯片在5 s后會(huì)停止把聲音送入識(shí)別引擎,并且根據(jù)已送入引擎的語(yǔ)音數(shù)據(jù)計(jì)算出識(shí)別結(jié)果。
對(duì)于第二種情況,需要了解VAD的工作原理:VAD技術(shù)是在一段語(yǔ)音數(shù)據(jù)流中,判斷出哪個(gè)時(shí)間點(diǎn)是人聲音的開(kāi)始,哪個(gè)時(shí)間點(diǎn)是人聲音的結(jié)束。判斷的依據(jù)是,在背景聲音的基礎(chǔ)上有了語(yǔ)音發(fā)音,則視為聲音的開(kāi)始。而后,檢測(cè)到一段持續(xù)時(shí)間的背景音(比如600 ms),則視為人聲說(shuō)話結(jié)束。通過(guò)VAD判斷出人聲說(shuō)話的區(qū)域后,語(yǔ)音識(shí)別芯片會(huì)把這期間的聲音數(shù)據(jù)進(jìn)行識(shí)別處理,計(jì)算出識(shí)別結(jié)果。
除了以上兩種情況外,語(yǔ)音識(shí)別算法無(wú)法主動(dòng)地判斷出是否識(shí)別出了一個(gè)結(jié)果。這是因?yàn)?,在?jì)算過(guò)程中的任何時(shí)刻,語(yǔ)音識(shí)別器都會(huì)對(duì)已送人識(shí)別芯片的聲音數(shù)據(jù)進(jìn)行分析,并根據(jù)匹配程度為識(shí)別列表中的關(guān)鍵詞語(yǔ)進(jìn)行打分,最匹配的打分最高。但是,由于識(shí)別算法不知道用戶后面是否還繼續(xù)說(shuō)話,所以無(wú)法主動(dòng)地判斷已經(jīng)識(shí)別出的結(jié)果。
3 語(yǔ)音識(shí)別芯片LD3320的工作原理
3.1 語(yǔ)音識(shí)別系統(tǒng)原理結(jié)構(gòu)
LD3320語(yǔ)音識(shí)別芯片采用的就是ASR技術(shù),圖1就是由LD3320和單片機(jī)(或嵌入式系統(tǒng))組成的語(yǔ)音識(shí)別系統(tǒng)原理框圖。圖中給出了LD3320的內(nèi)部原理結(jié)構(gòu),本文中選用的MCU是STC10L08XE單片機(jī)。
圖1 語(yǔ)音識(shí)別系統(tǒng)原理框圖
語(yǔ)音識(shí)別芯片LD3320是ICRoute公司的產(chǎn)品,它采用ASR技術(shù),提供了一種脫離按鍵、鍵盤(pán)、鼠標(biāo)、觸摸屏等GUI操作方式且基于語(yǔ)音的用戶界面VUI(Voice User Interface),使得用戶對(duì)該系統(tǒng)的操作更簡(jiǎn)單、快速和自然。
用戶只需要把識(shí)別的關(guān)鍵詞語(yǔ)以字符串的形式傳送進(jìn)芯片,即可以在下次識(shí)別中立即生效。比如,用戶在51等主控MCU的編程中,簡(jiǎn)單地通過(guò)設(shè)置芯片的寄存器,把諸如你好這樣的識(shí)別關(guān)鍵詞語(yǔ)的內(nèi)容動(dòng)態(tài)地傳入芯片中,芯片就可以識(shí)別所設(shè)定的關(guān)鍵詞語(yǔ)了。每個(gè)關(guān)鍵詞語(yǔ)可以是單字、詞組、短句或者任何的中文發(fā)音的組合?;贚D3320的語(yǔ)音識(shí)別系統(tǒng)可以隨著使用流程,在運(yùn)行時(shí)動(dòng)態(tài)地更改關(guān)鍵詞語(yǔ)列表的內(nèi)容,這樣可以用一個(gè)系統(tǒng)支持多種不同的場(chǎng)景,同時(shí)也不需要用戶作任何的錄音訓(xùn)練。
3.2 LD3320的用戶使用模式
LD3320有兩種用戶使用模式,即觸發(fā)識(shí)別模式和循環(huán)識(shí)別模式.用戶可以通過(guò)編程,設(shè)置兩種不同的用戶使用模式。
觸發(fā)識(shí)別模式:系統(tǒng)的主控MCU在接收到外界一個(gè)觸發(fā)后(比如用戶按動(dòng)某個(gè)按鍵),啟動(dòng)LD3320芯片的一個(gè)定時(shí)識(shí)別過(guò)程(比如5 s),要求用戶在這個(gè)定時(shí)過(guò)程中說(shuō)出要識(shí)別的語(yǔ)音關(guān)鍵詞語(yǔ)。這個(gè)過(guò)程結(jié)束后,需要用戶再次觸發(fā)才能再次啟動(dòng)一個(gè)識(shí)別過(guò)程。
循環(huán)識(shí)別模式:系統(tǒng)的主控MCU反復(fù)啟動(dòng)識(shí)別過(guò)程。如果沒(méi)有人說(shuō)話就沒(méi)有識(shí)別結(jié)果,則每次識(shí)別過(guò)程的定時(shí)到時(shí)后再啟動(dòng)一個(gè)識(shí)別過(guò)程;如果有識(shí)別結(jié)果,則根據(jù)識(shí)別作相應(yīng)處理后(比如播放某個(gè)聲音作為回答)再啟動(dòng)一個(gè)識(shí)別過(guò)程。
4 語(yǔ)音識(shí)別系統(tǒng)軟硬件設(shè)計(jì)
4.1 硬件系統(tǒng)設(shè)計(jì)
由圖l可知,由LD3320組成的語(yǔ)音識(shí)別系統(tǒng)硬件有單片機(jī)(或嵌入式系統(tǒng))及LD33202.圖2和圖3分別是由單片機(jī)STC10L08XE構(gòu)成的主控芯片和由LD3320A構(gòu)成的語(yǔ)音識(shí)別主系統(tǒng)。
圖2 STC10L08XE構(gòu)成的主控芯片
圖3 LD3320A構(gòu)成的語(yǔ)音識(shí)別主系統(tǒng)
4.2 軟件系統(tǒng)設(shè)計(jì)
語(yǔ)音識(shí)別的操作順序是:先進(jìn)行語(yǔ)音識(shí)別的初始化,然后寫(xiě)入識(shí)別列表,系統(tǒng)即開(kāi)始進(jìn)行語(yǔ)音識(shí)別,并準(zhǔn)備好中斷響應(yīng)函數(shù),打開(kāi)中斷允許位。這里如果不用中斷方式,也可以通過(guò)查詢方式工作。在開(kāi)始識(shí)別后,讀取寄存器B2H的值,如果為21H就表示有識(shí)別結(jié)果產(chǎn)生。
評(píng)論