黃輝健等
摘 要:本文研究了凌陽SPCE061A的特定人的語音識(shí)別與控制技術(shù),將語音識(shí)別技術(shù)應(yīng)用到家居控制系統(tǒng)中。提出一種操作簡(jiǎn)便、易擴(kuò)展、適用于家庭應(yīng)用的控制方案。分析了系統(tǒng)的硬件組成和軟件設(shè)計(jì)流程。同時(shí)在Google App Inventer平臺(tái)下,介紹了基于藍(lán)牙通信的Android智能手機(jī)控制軟件的搭建。經(jīng)實(shí)際測(cè)試表明,本系統(tǒng)成功地實(shí)現(xiàn)對(duì)家電的聲控技術(shù)和Android智能手機(jī)遠(yuǎn)程控制。
關(guān)鍵詞:凌陽單片機(jī);語音識(shí)別;家居控制;Android;藍(lán)牙通信
Abstract:This paper studied the technology of speaker-dependent recognition based on Sunplus SPCE061A, voice recognition technology will be applied to the home control system. Proposed a control scheme which is convenient operation,easy to expand, and applicable to home applications. The system will be analyzed from the perspective of hardware circuit and software design. Also in the Google App Inventer platform, built out a control software based on Android smartphones Bluetooth communication.The tested results showed that the system has successfully realized the voice technology appliances and Android smartphones remote control technology.
Key words:Sunplus;voice recognition;home control;Android;Bluetooth communication
隨著科技智能化的發(fā)展和社會(huì)生活水平的不斷提高,人們對(duì)家居環(huán)境方便快捷的要求也隨之提高,智能家居的概念成為了一個(gè)熱門話題。在智能家居系統(tǒng)中,語音識(shí)別和遠(yuǎn)程控制的應(yīng)用打破了常規(guī)的家用電器局域性控制局限,已經(jīng)成為了具有競(jìng)爭(zhēng)性的新興高技術(shù)產(chǎn)業(yè),在智能家居控制系統(tǒng)上應(yīng)用非常廣泛。本文研究了基于SPCE061A單片機(jī)的特定人語音識(shí)別技術(shù)以及智能手機(jī)藍(lán)牙通信技術(shù),并將其成功應(yīng)用于家用電器的控制上,用戶可以利用語音命令和Android手機(jī)操作方便快捷地控制電器的開關(guān)動(dòng)作。
1 系統(tǒng)總體設(shè)計(jì)
系統(tǒng)采用凌陽16位SPCE061A單片機(jī)為核心控制器,由藍(lán)牙串口透?jìng)髂KATK-HC05、MIC輸入模塊、揚(yáng)聲器、液晶顯示器、按鍵組成,利用SPCE061A內(nèi)置的語音模塊,將麥克風(fēng)采集到的語音信號(hào)與事先訓(xùn)練好的語音庫的特征語音進(jìn)行對(duì)比,根據(jù)語音辨識(shí)結(jié)果產(chǎn)生控制信號(hào),進(jìn)而控制家用電器[1]。系統(tǒng)還增加了無線藍(lán)牙通信功能,由Android智能手機(jī)發(fā)送事先規(guī)定的指令,藍(lán)牙模塊接收后將數(shù)據(jù)交給控制器處理,產(chǎn)生的控制信號(hào)將發(fā)送給執(zhí)行器對(duì)家電進(jìn)行控制。系統(tǒng)還設(shè)置了人性化的液晶人機(jī)界面和指示燈方便用戶操作。用戶可以通過鍵盤對(duì)系統(tǒng)進(jìn)行復(fù)位、重新學(xué)習(xí)語音命令的操作。系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示。
2 系統(tǒng)硬件設(shè)計(jì)
凌陽16位單片機(jī)SPCE061A在硬件結(jié)構(gòu)和指令系統(tǒng)上都非常適用于語音信號(hào)處理,其主要的特點(diǎn)為:速度快,多中斷,多個(gè)A/D轉(zhuǎn)換器,特別是具有音頻輸出功能的雙通道10位D/A轉(zhuǎn)換器,具有自動(dòng)增益控制功能與內(nèi)置傳聲放大器的A/D轉(zhuǎn)換器[2]。本設(shè)計(jì)采用具有DSP功能并內(nèi)置聲音A/D轉(zhuǎn)換器的凌陽單片機(jī),可以使得系統(tǒng)大大簡(jiǎn)化。
SPCE061A的A/D轉(zhuǎn)換器有8個(gè)通道,其中有一個(gè)是MIC_IN輸入,專門對(duì)語音信號(hào)進(jìn)行采樣。MIC選用駐極體話筒,其偏壓由SPCE061A的VMIC腳提供。MIC輸入模塊電路結(jié)構(gòu)簡(jiǎn)單,只需外接三個(gè)電阻和電容以對(duì)電流信號(hào)進(jìn)行濾波。
SPCE061A提供雙通道10位的D/A輸出AUD1、AUD2,每個(gè)通道的輸出能力是30mA。為了能驅(qū)動(dòng)揚(yáng)聲器放音,將輸出電路設(shè)計(jì)為由負(fù)載電阻和三極管8050組成的功放電路[3]。
2.1 最小系統(tǒng)組成
最小系統(tǒng)接線如下圖2所示,在OSC0、OSC1端接上晶振及諧振電容,在鎖相環(huán)壓控振蕩器的阻容輸入VCP端接上相應(yīng)的電容電阻后即可工作。其它閑置的電源端和地端接上0.1?F的去藕電容以提高抗干擾能力。
2.2 藍(lán)牙通信電路
ATK-HC05是一款高性能的主從一體藍(lán)牙串口模塊,該模塊支持非常寬的波特率范圍:4800~1382400,并且模塊兼容5V或3.3V單片機(jī)系統(tǒng)[4]。
模塊與單片機(jī)連接最少只需要4根線即可:VCC、GND、TXD、RXD。其中VCC和GND用于給模塊供電,RXD和TXD分別為串口接收腳和串口發(fā)送腳,分別連接單片機(jī)的TXD和RXD進(jìn)行通信。
ATK-HC05模塊與單片機(jī)系統(tǒng)的典型連接方式如圖3所示:
3 系統(tǒng)軟件設(shè)計(jì)
本課題的軟件主要包括兩部分:語音控制和藍(lán)牙通信,采用C語言編程。該系統(tǒng)的智能手機(jī)控制軟件是在MIT/Google App Inventer平臺(tái)下搭建的,App Inventor是一個(gè)完全在線開發(fā)的Android編程環(huán)境,拋棄復(fù)雜的程式代碼而使用積木式的堆疊法來完成Android程式。Google App Inventor用戶能夠通過該工具軟件使用谷歌的Android系列軟件自行研發(fā)適合手機(jī)使用的應(yīng)用程序[5]。
3.1 語音控制程序流程圖
語音控制程序流程如圖4所示。該控制程序主要包括兩個(gè)部分,即語音訓(xùn)練和語音識(shí)別。語音識(shí)別部分則實(shí)現(xiàn)對(duì)特定人發(fā)出的語音命令與系統(tǒng)儲(chǔ)存的語音命令比較,并根據(jù)比較結(jié)果產(chǎn)生相應(yīng)的控制信號(hào)。
程序執(zhí)行步驟如下:程序開始運(yùn)行時(shí),首先將RAM中的語音模式擦除,為下面的語音訓(xùn)練的存儲(chǔ)做準(zhǔn)備。然后按照訓(xùn)練提示音依次訓(xùn)練觸發(fā)名稱。每一條語音命令需要訓(xùn)練兩次,這兩次訓(xùn)練會(huì)自動(dòng)作出比較判斷。當(dāng)訓(xùn)練人兩次發(fā)出的語音命令在誤差允許范圍內(nèi)則判斷為訓(xùn)練成功,同時(shí)將訓(xùn)練人的發(fā)音特征儲(chǔ)存到系統(tǒng)中,否則程序返回上一層對(duì)該命令再次進(jìn)行訓(xùn)練,直到語音命令完全訓(xùn)練成功。
當(dāng)系統(tǒng)提示語音訓(xùn)練完畢后,程序隨即進(jìn)入識(shí)別階段。系統(tǒng)首先對(duì)語音識(shí)別器進(jìn)行初始化,同時(shí)麥克風(fēng)會(huì)播放提示音,提示訓(xùn)練人此時(shí)可以對(duì)控制系統(tǒng)發(fā)出語音命令。處理器將采集的語音信號(hào)進(jìn)行處理,并與存儲(chǔ)器中訓(xùn)練人的語音樣本進(jìn)行比較,根據(jù)比較結(jié)果產(chǎn)生相應(yīng)的控制信號(hào)從而驅(qū)動(dòng)設(shè)備動(dòng)作。語音識(shí)別過程循環(huán)進(jìn)行,完成語音命令的控制任務(wù)后系統(tǒng)等待訓(xùn)練人再次語音命令[6]。
3.2 藍(lán)牙通信
由Android移動(dòng)設(shè)備發(fā)送事先規(guī)定好的數(shù)據(jù)指令,系統(tǒng)中的藍(lán)牙模塊接收到后將數(shù)據(jù)交給單片機(jī)處理,單片機(jī)將接收到的指令和預(yù)先規(guī)定好的指令進(jìn)行比較,產(chǎn)生控制信號(hào)傳送給被控對(duì)象,從而實(shí)現(xiàn)Android智能手機(jī)對(duì)電器設(shè)備的控制。藍(lán)牙通信流程圖如圖5所示。
3.3 Android軟件設(shè)計(jì)
App Inventor for Android,它是一個(gè)基于網(wǎng)頁的開發(fā)環(huán)境,即使是沒有開發(fā)背景的人也能通過它輕松創(chuàng)建Android應(yīng)用程序。App Inventor可以讓開發(fā)者拋開復(fù)雜的程序代碼,使用搭積木式的方法來完成Android應(yīng)用程序。
搭建應(yīng)用程序需要準(zhǔn)備以下材料:
⑴Android系統(tǒng)智能型手機(jī)
⑵藍(lán)牙串口透?jìng)髂K(本文使用ATK-HC05)
⑶單片機(jī)系統(tǒng)開發(fā)板(本文使用凌陽SPCE061A)
首先要有一個(gè)谷歌賬戶,并且申請(qǐng)了開發(fā)App inventor的權(quán)限。
登錄到App inventor開發(fā)界面可以看到一個(gè)空頁面,點(diǎn)擊“new”創(chuàng)建一個(gè)新項(xiàng)目,在出現(xiàn)的對(duì)話框中輸入創(chuàng)建的app的名字,便可以開始對(duì)應(yīng)用程序的編輯。
App Inventor由兩個(gè)部分構(gòu)成:設(shè)計(jì)視圖和塊編輯視圖。開發(fā)者可以在設(shè)計(jì)視圖中完成添加按鈕、文本框等程序外觀的設(shè)計(jì),設(shè)計(jì)視圖就是一個(gè)網(wǎng)頁;在塊編輯視圖進(jìn)行真正的代碼編輯,塊編輯視圖就是一個(gè)Java應(yīng)用。如果將Android設(shè)備連接到了電腦上,還可以隨時(shí)在手機(jī)上看到應(yīng)用程序的修改。
Android軟件設(shè)計(jì)結(jié)構(gòu)圖如圖6所示,此程序表示當(dāng)打開Android手機(jī)的藍(lán)牙功能后,獲取可連接設(shè)備的地址。當(dāng)連接成功后按下發(fā)送按鈕,Android手機(jī)會(huì)經(jīng)由藍(lán)牙發(fā)送指令數(shù)據(jù)給當(dāng)前地址的接收端,從而實(shí)現(xiàn)智能手機(jī)對(duì)電器設(shè)備的遠(yuǎn)程控制。
4 結(jié)論
本設(shè)計(jì)采用凌陽單片機(jī)SPCE061A作語音識(shí)別處理器,硬件電路簡(jiǎn)單,控制靈活;選用適合特定人孤立詞識(shí)別的語音特征和識(shí)別方法,處理速度快,識(shí)別率高,可滿足實(shí)時(shí)語音識(shí)別的需要。同時(shí)使用者可以根據(jù)自己的需要改變應(yīng)答反應(yīng)(包括語音輸出和控制輸出),就可以實(shí)現(xiàn)對(duì)多種電器設(shè)備的控制,如電視機(jī)開關(guān)及選臺(tái)、音量調(diào)節(jié)等操作。該系統(tǒng)可擴(kuò)展性和靈活性強(qiáng)、成本低廉,在智能家居方面具有良好的應(yīng)用前景。
[參考文獻(xiàn)]
[1]王中強(qiáng),楊坤,俞一奇,張志美,程立英.基于SPCE061A單片機(jī)的智能小車的設(shè)計(jì)[J].科技資訊,2013,(18):88~89.
[2]陳海宴,呂江濤,李瑞.凌陽16位單片機(jī)經(jīng)典實(shí)戰(zhàn)[M].北京航空航天大學(xué)出版社,2011-7-4:12-13.
[3]李金波,田民.基于單片機(jī)的智能家居系統(tǒng)設(shè)計(jì)[J].自動(dòng)化技術(shù)與應(yīng)用,2010,29(6):125~128,131.
[4]廣州星翼電子.藍(lán)牙串口模塊[EB/OL].[2013-12-25].http://www.alientek.com/product/showproduct.php?lang=cn&id=31.
[5]App InventorTW中文學(xué)習(xí)網(wǎng).有關(guān)App Inventor[EB/OL].[2012-3-4]. http://www.appinventor.tw/whatis/.
[6]邢紹邦,韓曉新,趙宏為.語音識(shí)別無線風(fēng)扇控制器[J].工業(yè)控制計(jì)算機(jī),2011,24(8):86~87.