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