徐國成
摘 要:本系統(tǒng)設(shè)計的智能家居系統(tǒng),是基于LD3320語音識別芯片的非特定人識別的功能而設(shè)計的,實現(xiàn)語音控制設(shè)計了了兩級語音指令來控制,控制電位器打開與關(guān)閉,進而來控制與之相連的電器,實現(xiàn)用戶發(fā)出語音指令后精確控制電器開、關(guān)的功能,可以給我們的生活帶來極大的便利。
關(guān)鍵詞:語音識別;單片機
0 引言
語音處置和分辨技術(shù)始于1950年以后,經(jīng)過70年科研人員的不斷摸索和鉆研,已趨于成熟,從孤立、單一詞組的識別到非固定人、大詞匯量的連續(xù)語音識別甚至固定人的語音識別,一系列的創(chuàng)新使得人類與計算機之間的溝通橋梁增加了一個人類語音。近年來,作為直接有效的人與機器之間的交互方式,語音識別在工業(yè)制造過程、現(xiàn)代化居家生活和醫(yī)療衛(wèi)生體系等方面應用逐漸增加,在嵌入式系統(tǒng)領(lǐng)域中,具有很高研究價值及發(fā)展?jié)摿Α?/p>
讓機械理解聽懂人類的聲音,這是我們長期以來求之不得的事情。語音識別是一個復雜有深度的學科,涉及到多學科、多領(lǐng)域的研究分析,語音識別的發(fā)展與其他領(lǐng)域密不可分,依賴于眾多領(lǐng)域上的研究成果。語音識別技術(shù)就是讓機器通過分辨和聽懂人們的語言,把聲音信號轉(zhuǎn)換為對應的機械動作或者指令的一種高新技術(shù)。
語音識別系統(tǒng)的分類方式及依據(jù)是根據(jù)對說話人說話方式的要求,可以大致分為兩類,一類是:單個字(詞)語音識別系統(tǒng),另一類是:多個字語音識別系統(tǒng),以及多個詞組語音識別系統(tǒng)。深一步可以分為兩個方向:一是根據(jù)對說話人的關(guān)聯(lián)程度可以劃分為固定人和非固定人語音識別系統(tǒng);二是根據(jù)字詞數(shù)量的多少,可以分為小詞組系統(tǒng)、中等詞組系統(tǒng)、大詞組系統(tǒng),以及無限詞組系統(tǒng)。不同的語音識別系統(tǒng),每種系統(tǒng)的實現(xiàn)方式可能不一樣,單是所用的基礎(chǔ)處理方式大致都一樣。
1 系統(tǒng)方案設(shè)計
此次設(shè)計制作的語音控制系統(tǒng),語音識別部分核心原件使用的LD3320芯片,控制系統(tǒng)的單片機用的是STC89C52單片機。通過主控單片機控制LD3320語音芯片內(nèi)部寄存器以此達到實現(xiàn)語音識別控制的效果。通過聲音采集器將聲音信息采集傳送到LD3320進行頻譜解析,解析后將獲取到的語音特點和自定義的識別詞組列表中的關(guān)鍵詞組進行對比匹配,找出關(guān)鍵詞組作為語音識別結(jié)果輸出給主控單片機,單片機根據(jù)不同的語音輸入情況改變P1端口的電頻實現(xiàn)對家用電器的智能控制。
2 硬件電路設(shè)計
2.1 控制模塊設(shè)計
系統(tǒng)主控單元采用是STC89C52型單片機。與其他單片機相比STC89C52具有較強的數(shù)據(jù)處理功能,且I/O口控制靈活。
2.2 語音識別模塊設(shè)計
采用LD3320 芯片作為語音識別芯片,該芯片之所以不需要接外部存儲設(shè)備,是因為它內(nèi)部已經(jīng)集成了大量的簡便算法,識別起來快速并且穩(wěn)定性很高,因此廣受設(shè)計者的使用,在完成非特定人的語音識別時,使用LD3320芯片就不需要使用者在使用前來錄取聲音作為標本,語音識別率波動性一直都較小,誤差率要比較低。
2.3語音識別原理
語音識別主要原理是:先分析語音特征,建立起合理的需要識別的語言模型,再將這些模型轉(zhuǎn)化為語音指令詞語列表,寫入LD3320芯片內(nèi),然后通過聲音采集器獲取語音特征樣本,將采集到的聲音信號送入芯片內(nèi)部,然后芯片將收到的信息進行分析,提取特征,并根據(jù)它內(nèi)部的特殊算法和編輯好的關(guān)鍵詞列表一一匹配,將匹配結(jié)果一串口的形式發(fā)給單片機。
3 系統(tǒng)軟件設(shè)計
3.1 系統(tǒng)初始化
在開始識別之前,需要你對系統(tǒng)進行初始化操作。接通好電源后,給單片機提供電源,程序開始執(zhí)行,調(diào)用初始化函數(shù)對單片機進行初始化處理,然后指示燈是否正常量滅,以此來驗證單片機是否工作。緊接著對LD3320其進行初始化,再對串口進行初始化,設(shè)置語音模塊寄存器對其識別指令、ASR進行初始化操作。
3.2 指令設(shè)置
為降低其他音源影響,減小識別誤差,本系統(tǒng)使用兩級指令進行控制。在程序中定義多個維度的數(shù)組的寫入我們需要識別的關(guān)鍵詞,設(shè)置開始時的語音指令為“智能家居”,第二次語音指令為“開燈”、“關(guān)燈”,“開空調(diào)”、“關(guān)空調(diào)”、“開窗簾”、“關(guān)窗簾”、“開電視”、“關(guān)電視”等;所有的指令,都是以漢字拼音的方式添加數(shù)組中,作為識別關(guān)鍵字,例如添加“智能家居”命令,則寫入其漢字拼音“zhi neng jia ju”,漢字拼音之間需要用空格隔開。當語音模塊采集到語音指令“智能家居”時,提示燈閃爍一下,表示采集到聲音,然后接收到語音指令“開空調(diào)”時,空調(diào)自動打開,接收語音指令“關(guān)空調(diào)”時,空調(diào)自動關(guān)閉。
3.3 中斷處理
當語音模塊采集到音頻信號時,返回語音模塊內(nèi)部寄存器的識別狀態(tài)碼,進入到單片機中斷處理函數(shù),開始執(zhí)行識別驗證,如果讀取到的識別狀態(tài)碼在寄存器中有相應的存儲值與其匹配,那么可以認為語音指令正確,將數(shù)據(jù)通過串口串口傳送給主控單片機,單片機接收到語音模塊的信號后控制相應的引腳進行高低電平輸出,進而控制燈泡量滅。
4 系統(tǒng)測試
4.1? 綜合調(diào)試
把硬件系統(tǒng)和軟件系統(tǒng)進行整合,對期間出現(xiàn)的故障進行排除,使兩者融合,實現(xiàn)完整的系統(tǒng)功能。選取了不同的人來進行測試,以此來驗證系統(tǒng)的對非特定人的語音識別效果,判定系統(tǒng)功能的穩(wěn)定性,每個人都進行了20次測試,本語音識別對于非特定人的識別誤差率控制在10%以內(nèi),識別正確率達到設(shè)計預期要求。
5 結(jié)論
本語音識別控制系統(tǒng)用的是價格較低廉LD3320語音識別芯片作為識別主要部件而設(shè)計、制作的。芯片LD3320擁有強大的非特定人語音識別能力,能夠?qū)崟r修改編寫識別詞組列表,使用者只需要把要識別的語音關(guān)鍵字的拼音,寫入到LD3320芯片就可以進行識別。某種意義上說做到了單個芯片的語音識別,大量的語音識別搜索引擎以及海量的語音記錄都被集成在芯片里面,內(nèi)部配置完整高效的模數(shù)/數(shù)模轉(zhuǎn)換電路,用52級別的單片機采用并口連接的方式與LD3320相連,就可以實現(xiàn)語音識別功能。
參考文獻
[1]十六位單片機未處理器原理及應用.張培仁等編著.清華大學出版社2005.05
[2]實用語音識別基礎(chǔ).王炳錫等編著,國防工業(yè)出版社.2005.01
[3]單片機語音技術(shù)及凌陽16位51單片機應用.李晶皎編著.北京航空社.2003.11
[4]數(shù)字語音處理.姚天任主編,華中工學院出版社,1992.04
[5]胡光銳,語音處理與識別,上??茖W技術(shù)文獻出版社,1994.
[6]趙立,語音信號處理,機械工業(yè)出版社,2003.
[7]全國大學生電子設(shè)計競賽組委會.全國大學生電子設(shè)計競賽獲獎作品選編.北京:北京理工大學出版社,2005.