鄭苑丹 陳志生 肖來勝
關鍵詞: 語音識別; 科大訊飛開放平臺; Android; WiFi網(wǎng)絡通信; WiFi模塊; 嵌入式控制模塊
中圖分類號: TN912.34?34 ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼: A ? ? ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2019)04?0085?04
Research and implementation of a voice control audio system
based on Android speech recognition
ZHENG Yuandan1, CHEN Zhisheng2, XIAO Laisheng2,3
(1. School of Mathematics and Computer, Guangdong Ocean University, Zhanjiang 524088, China;
2. School of Electronics and Information Engineering, Guangdong Ocean University, Zhanjiang 524088, China;
3. Educational Information Center, Guangdong Ocean University, Zhanjiang 524088, China)
Abstract: A voice control audio system which conducts speech recognition by collecting speech instructions on the APP of the mobile phone terminal, and controls the work of audio equipment by means of the WiFi network and embedded control module is implemented on the basis of the speech recognition technology of the Android platform, and combining with the WiFi network communication technology and embedded control system. The mobile speech terminal SDK provided by the iFLYTEK open platform is used for speech recognition. The WiFi network is provided by the WiFi router. The embedded control module takes the STC15F204EA as the controller, and is cooperated with the NL6621?M3 WiFi module, so as to receive processing instructions. The results of the experimental test show that the audio system can effectively conduct voice control, which can meet the intelligence requirement of the modern audio equipment.
Keywords: speech recognition; iFLYTEK open platform; Android; WiFi network communication; WiFi module; embedded control module
隨著電子技術的發(fā)展,人們對于音響系統(tǒng)的要求不再局限于使用遙控器進行控制,希望控制更自由更舒適更便利。同時,隨著智能手機高速發(fā)展,手機已經(jīng)普及到人們的生活中,越來越多的功能集成到智能手機中[1]。在家庭住宅范圍內,依靠WiFi通信技術,將手機APP和音響設備聯(lián)系起來,通過手機控制音響設備,構建高效便捷的音響控制系統(tǒng),方便人們對音響設備的操作和管理。語言識別技術作為一種新興的智能信息技術已經(jīng)引起了廣泛的關注和高度的重視[2],它可以讓機器聽懂人的話。人可以用語音對設備進行控制,使人機交互更加方便直接[3]。語音控制代替了手動控制,可以解放人的雙手,讓人們可以在做其他事情的同時控制音響系統(tǒng)。本文結合Android平臺的語音識別技術、WiFi網(wǎng)絡通信和嵌入式技術,提出一種基于Android語音識別的音響聲控系統(tǒng)。該系統(tǒng)可以在手機端通過WiFi網(wǎng)絡和嵌入式控制模塊對音響設備進行語音控制,能滿足現(xiàn)代音響設備智能化的要求,具有很好的應用前景。
1.1 ?整體方案
整個音響聲控系統(tǒng)由手機控制端、WiFi路由器、嵌入式家庭網(wǎng)關和音響設備組成。手機端基于Android平臺開發(fā)APP,具有語音指令控制和界面指令控制功能。語音指令控制基于科大訊飛開放平臺提供的語音識別功能實現(xiàn)。嵌入式家庭網(wǎng)關即嵌入式控制模塊,采用STC15F204EA單片機芯片作為微控制器,采用集成Cortex?M3的NL6621芯片作為WiFi通信模塊。WiFi路由器提供WiFi通信網(wǎng)絡,連接手機與家庭網(wǎng)關,并提供手機到Internet的聯(lián)網(wǎng)。音響設備從嵌入式家庭網(wǎng)關接收指令并執(zhí)行。系統(tǒng)總體結構如圖1所示。
手機端APP將接收到的語音通過WiFi路由器發(fā)送至Internet上的訊飛語音云服務進行語音識別,將云端返回的數(shù)據(jù)與本地指令進行匹配,找到匹配的指令通過WiFi路由器向家庭網(wǎng)關發(fā)送指令。家庭網(wǎng)關接收到指令后向音響設備發(fā)送控制信號,音響設備按照控制信號執(zhí)行對應動作。語音識別如果在本地進行,則不需要連接Internet。手機端如果采用界面指令控制,則不需要進行語音識別,直接發(fā)送指令。
1.2 ?語音識別處理
語音識別技術本質上是一種模式識別匹配的過程,是機器通過識別和理解過程把語音信號轉變成相應的文本或命令的技術[4]??拼笥嶏w開放平臺提供多種語音識別功能[5],其中語音聽寫是基于自然語言處理,將一段語音轉換成文本,把語音中包含文字信息提取出來。語音聽寫包括在線引擎和離線引擎兩種。在線引擎需要使用網(wǎng)絡,速度稍慢,并產(chǎn)生一定流量,但有更好的識別效果。離線引擎不需要使用網(wǎng)絡,且識別的速度更快,但需要使用離線的SDK包[6]。本系統(tǒng)手機端語音識別采用科大訊飛開放平臺提供的移動語音終端SDK,將本地采集的語音通過網(wǎng)絡交給訊飛語音云進行識別,或交給離線的訊飛本地語音識別SDK包進行識別,再根據(jù)返回的識別結果與系統(tǒng)相關指令匹配,執(zhí)行對應指令。軟件工作流程如圖2所示。
從圖2可以看出,手機端語音識別支持在線引擎和離線引擎兩種模式。在線引擎必須確保手機連接網(wǎng)絡,以便把語音發(fā)送至訊飛語音云服務,云服務端識別后返回識別結果。本地引擎在使用前必須預安裝本地語音識別包,使用識別包進行語音識別。移動語音終端SDK提供SpeechUtility類進行軟件初始化,SpeechRecognize類實現(xiàn)語音聽寫功能,RecognizerDialog類實現(xiàn)語音聽寫UI功能。移動語音終端SDK提供的功能大多使用接口和回調的方式返回結果和狀態(tài)。語音識別結果在回調函數(shù)中返回,系統(tǒng)對識別結果的處理也在回調函數(shù)中進行[7]。語音識別的識別正確率是系統(tǒng)功能的核心指標??拼笥嶏w開放平臺提供的語音識別功能識別正確率比較高[8]。但從多次測試中發(fā)現(xiàn),對于連續(xù)的有上下文語義的句子,識別率比較高,對于一些音響指令,如“停止”“菜單三”等沒有上下文聯(lián)系的單個詞組,識別率有所下降。為了使有所下降的識別率不影響系統(tǒng)的匹配率,系統(tǒng)加入指令相似音節(jié)列表。如“停止”指令對應的相似音節(jié)列表包括“亭子”“聽著”“挺直”“金子”等相似音節(jié)詞組,只要語音識別結果含有指令相似音節(jié)列表中的其中一個詞組,則認為匹配。對加入相似音節(jié)列表前后進行測試,測試結果如表1和表2所示。其中識別正確次數(shù)指能正確識別出原指令詞組的次數(shù),匹配次數(shù)則是識別正確次數(shù)加上識別結果與相似音節(jié)列表里任一詞組匹配的次數(shù)。從測試結果可以看出,單個指令語音識別的正確率較低,但增加指令相似音節(jié)列表后,匹配的范圍增大,能很好地提高系統(tǒng)的語音識別匹配率。
1.3 ?嵌入式家庭網(wǎng)關
嵌入式家庭網(wǎng)關以STC15F204EA微控制器為核心,連接音響設備,配合NL6621?M3 WiFi模塊,接收WiFi網(wǎng)絡傳輸?shù)闹噶?,控制音響設備工作。嵌入式家庭網(wǎng)關硬件結構如圖3所示。
STC15F204EA為高速51單片機芯片,單周期指令,主頻33 MHz,2 KB FLASH,1 KB E2PROM,W/R周期10K+,256 B RAM[9]。STC15F204EA微控制器主要工作是連接WiFi網(wǎng)絡和從串口中接收指令信號并處理,工作流程如圖4所示。STC15F204EA微控制器初始化完畢后連接WiFi網(wǎng)絡,連接的命令包括設置WiFi模式、填寫WiFi id和密碼、設置波特率、設置幀長度和設置幀間隔。完成WiFi連接后,控制器從串口中接收WiFi模塊傳送過來的指令信號,根據(jù)指令信號轉到對應的子程序處理。
1.4 ?WiFi網(wǎng)絡通信
WiFi是一種短程無線傳輸技術,能夠在數(shù)百英尺(約合100 m)范圍內支持互聯(lián)網(wǎng)接入的無線信號[10]。系統(tǒng)采用WiFi網(wǎng)絡通信技術實現(xiàn)控制指令信號的無線傳輸。WiFi路由器作為無線信號發(fā)送端,手機和嵌入式家庭網(wǎng)關均作為AP接入[11]。因此手機和嵌入式家庭網(wǎng)關均被分配動態(tài)IP地址,雙方在通信前必須識別對方的IP地址,才能進行后續(xù)的控制指令傳輸。網(wǎng)絡通信流程如圖5所示。
手機端在剛接入網(wǎng)絡時,首先通過綁定的端口號廣播發(fā)送探測數(shù)據(jù)包,綁定相應端口號的嵌入式家庭網(wǎng)關接收到探測包后,回復一個回應包。回應包中包含家庭網(wǎng)關的IP地址。手機端通過回應包可以獲得家庭網(wǎng)關的IP地址,之后可以向家庭網(wǎng)關單播地發(fā)送控制指令包。
音響聲控系統(tǒng)開發(fā)調試完成后,手機端控制界面如圖6所示。手機端包括語音指令控制和界面指令控制兩種方式。使用語音指令控制方式,用戶只需點擊語音按鈕,然后說出指令。手機端采集語音指令,控制音響系統(tǒng)的操作。使用界面指令控制方式,用戶則需要點擊對應指令按鈕來控制音響工作。
系統(tǒng)測試分別對在線引擎和離線引擎兩種方式進行語音識別測試,記錄匹配率和平均響應時延。測試結果如表3所示。
從測試結果可以看出,在線引擎和離線引擎經(jīng)過增加指令相似音節(jié)列表處理后,均能獲得較好的匹配率。在線引擎的平均響應時延比離線引擎的評價響應時延低,因為在線引擎需要將數(shù)據(jù)發(fā)送到云端處理。不管使用哪種識別方式,均能滿足系統(tǒng)對語音識別的要求。
本文基于科大訊飛開發(fā)平臺提供的移動語音終端SDK,結合WiFi網(wǎng)絡通信技術和嵌入式系統(tǒng),開發(fā)通過語音進行控制的音響控制系統(tǒng)。該系統(tǒng)以手機語音識別作為控制端,通過WiFi網(wǎng)絡向嵌入式家庭網(wǎng)關發(fā)送控制指令,從而達到語音控制音響設備操作的效果。目前本系統(tǒng)已經(jīng)通過實驗測試,能良好地控制音響設備工作。今后將進一步研究把系統(tǒng)架構擴展到智能家居控制和其他嵌入式設備控制。
參考文獻
[1] YE G, RAN B. Design and implementation of smart home system based on Internet of Things [J]. Journal of computer applications, 2014(S1): 323?324.
[2] 唐貴堯,萬鑫.語音識別技術的研究及基本實現(xiàn)[J].電子技術與軟件工程,2015(15):128.
TANG Guiyao, WAN Xin. Research and basic realization of speech recognition technology [J]. Electronic technology & software engineering, 2015(15): 128.
[3] 楊葉芬,葉成景.基于GSM的智能家居語音控制系統(tǒng)[J].計算機系統(tǒng)應用,2017,26(2):68?72.
YANG Yefen, YE Chengjing. Intelligent home voice control system based on GSM [J]. Computer systems & applications, 2017, 26(2): 68?72.
[4] 王愛蕓.語音識別技術在智能家居中的應用[J].軟件,2015,36(7):104?107.
WANG Aiyun. Intelligent home speech recognition system based on NL6621 [J]. Computer engineering & software, 2015, 36(7): 104?107.
[5] 于亦瀟,鄭其林,成欣雨.基于語音識別和MQTT協(xié)議的智能家居系統(tǒng)實現(xiàn)[J].物聯(lián)網(wǎng)技術,2017,7(11):97?99.
YU Yixiao, ZHENG Qilin, CHEN Xinyu. Implementation of intelligent home system based on speech recognition and MQTT protocol [J]. Internet of Things Technologies, 2017, 7(11): 97?99.
[6] 科大訊飛.科大訊飛MSC開發(fā)指南:引擎類型[EB/OL].[2018?06?19].https://doc.xfyun.cn/msc_android/%E5%BC%95%E6%
93%8E%E7%B1%BB%E5%9E%8B.html.
iFLYTEK. Development guide of iFLYTEK MSC: engine type [EB/OL]. [2018?06?19]. https://doc.xfyun.cn/msc_android/%E5%BC%95%E6%93%8E%E7%B1%BB%E5%9E%8B.html.
[7] 科大訊飛.科大訊飛MSC開發(fā)指南:概述[EB/OL].[2017?07?04].https://www.kancloud.cn/iflytek_sdk/msc_manual_andorid/299547.
iFLYTEK. Development guide of iFLYTEK MSC: outline [EB/OL]. [2017?07?04]. https://www.kancloud.cn/iflytek_sdk/msc_manual_andorid/299547.
[8] 魏思.科大訊飛最新語音識別系統(tǒng)和框架深度剖析[EB/OL].[2016?08?25].http://www.sohu.com/a/112088969_114877.
WEI Si. Deep analysis of iFLYTEK latest speech recognition system and its framework [EB/OL]. [2016?08?25]. http://www.sohu.com/a/112088969_114877.
[9] 百度百科.STC15F204EA[EB/OL].[2018?05?10].https://baike.baidu.com/item/STC15F204EA/6902552?fr=aladdin.
Baidu Baike. STC15F204EA [EB/OL]. [2018?05?10]. https://baike.baidu.com/item/STC15F204EA/6902552?fr=aladdin.
[10] 李慶,張婭.家居無線語音控制系統(tǒng)[J].制造業(yè)自動化,2011,33(3):218?220.
LI Qing, ZHANG Ya. System of wireless voice?controlled house [J]. Manufacturing automation, 2011, 33(3): 218?220.
[11] YAN W, WANG Q, GAO Z. Smart home implementation based on Internet and WiFi technology [C]// Proceedings of 34th Chinese Control Conference. Hangzhou: IEEE, 2015: 9072?9077.