基于Android语音识别的音响声控系统的研究与实现
郑苑丹 陈志生 肖来胜
關键词: 语音识别; 科大讯飞开放平台; Android; WiFi网络通信; 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 module0 ?引 ?言
随着电子技术的发展,人们对于音响系统的要求不再局限于使用遥控器进行控制,希望控制更自由更舒适更便利。同时,随着智能手机高速发展,手机已经普及到人们的生活中,越来越多的功能集成到智能手机中[1]。在家庭住宅范围内,依靠WiFi通信技术,将手机APP和音响设备联系起来,通过手机控制音响设备,构建高效便捷的音响控制系统,方便人们对音响设备的操作和管理。语言识别技术作为一种新兴的智能信息技术已经引起了广泛的关注和高度的重视[2],它可以让机器听懂人的话。人可以用语音对设备进行控制,使人机交互更加方便直接[3]。语音控制代替了手动控制,可以解放人的双手,让人们可以在做其他事情的同时控制音响系统。本文结合Android平台的语音识别技术、WiFi网络通信和嵌入式技术,提出一种基于Android语音识别的音响声控系统。该系统可以在手机端通过WiFi网络和嵌入式控制模块对音响设备进行语音控制,能满足现代音响设备智能化的要求,具有很好的应用前景。1 ?系统设计
1.1 ?整体方案
整个音响声控系统由手机控制端、WiFi路由器、嵌入式家庭网关和音响设备组成。手机端基于Android平台开发APP,具有语音指令控制和界面指令控制功能。语音指令控制基于科大讯飞开放平台提供的语音识别功能实现。嵌入式家庭网关即嵌入式控制模块,采用STC15F204EA单片机芯片作为微控制器,采用集成Cortex?M3的NL6621芯片作为WiFi通信模块。WiFi路由器提供WiFi通信网络,连接手机与家庭网关,并提供手机到Internet的联网。音响设备从嵌入式家庭网关接收指令并执行。系统总体结构如图1所示。
手机端APP将接收到的语音通过WiFi路由器发送至Internet上的讯飞语音云服务进行语音识别,将云端返回的数据与本地指令进行匹配,找到匹配的指令通过WiFi路由器向家庭网关发送指令。家庭网关接收到指令后向音响设备发送控制信号,音响设备按照控制信号执行对应动作。语音识别如果在本地进行,则不需要连接Internet。手机端如果采用界面指令控制,则不需要进行语音识别,直接发送指令。
1.2 ?语音识别处理
语音识别技术本质上是一种模式识别匹配的过程,是机器通过识别和理解过程把语音信号转变成相应的文本或命令的技术[4]。科大讯飞开放平台提供多种语音识别功能[5],其中语音听写是基于自然语言处理,将一段语音转换成文本,把语音中包含文字信息提取出来。语音听写包括在线引擎和离线引擎两种。在线引擎需要使用网络,速度稍慢,并產生一定流量,但有更好的识别效果。离线引擎不需要使用网络,且识别的速度更快,但需要使用离线的SDK包[6]。本系统手机端语音识别采用科大讯飞开放平台提供的移动语音终端SDK,将本地采集的语音通过网络交给讯飞语音云进行识别,或交给离线的讯飞本地语音识别SDK包进行识别,再根据返回的识别结果与系统相关指令匹配,执行对应指令。软件工作流程如图2所示。从图2可以看出,手机端语音识别支持在线引擎和离线引擎两种模式。在线引擎必须确保手机连接网络,以便把语音发送至讯飞语音云服务,云服务端识别后返回识别结果。本地引擎在使用前必须预安装本地语音识别包,使用识别包进行语音识别。移动语音终端SDK提供SpeechUtility类进行软件初始化,SpeechRecognize类实现语音听写功能,RecognizerDialog类实现语音听写UI功能。移动语音终端SDK提供的功能大多使用接口和回调的方式返回结果和状态。语音识别结果在回调函数中返回,系统对识别结果的处理也在回调函数中进行[7]。语音识别的识别正确率是系统功能的核心指标。科大讯飞开放平台提供的语音识别功能识别正确率比较高[8]。但从多次测试中发现,对于连续的有上下文语义的句子,识别率比较高,对于一些音响指令,如“停止”“菜单三”等没有上下文联系的单个词组,识别率有所下降。为了使有所下降的识别率不影响系统的匹配率,系统加入指令相似音节列表。如“停止”指令对应的相似音节列表包括“亭子”“听着”“挺直”“金子”等相似音节词组,只要语音识别结果含有指令相似音节列表中的其中一个词组,则认为匹配。对加入相似音节列表前后进行测试,测试结果如表1和表2所示。其中识别正确次数指能正确识别出原指令词组的次数,匹配次数则是识别正确次数加上识别结果与相似音节列表里任一词组匹配的次数。从测试结果可以看出,单个指令语音识别的正确率较低,但增加指令相似音节列表后,匹配的范围增大,能很好地提高系统的语音识别匹配率。
1.3 ?嵌入式家庭网关
嵌入式家庭网关以STC15F204EA微控制器为核心,连接音响设备,配合NL6621?M3 WiFi模块,接收WiFi网络传输的指令,控制音响设备工作。嵌入式家庭网关硬件结构如图3所示。STC15F204EA为高速51单片机芯片,单周期指令,主频33 MHz,2 KB FLASH,1 KB E2PROM,W/R周期10K+,256 B RAM[9]。STC15F204EA微控制器主要工作是连接WiFi网络和从串口中接收指令信号并处理,工作流程如图4所示。STC15F204EA微控制器初始化完毕后连接WiFi网络,连接的命令包括设置WiFi模式、填写WiFi id和密码、设置波特率、设置帧长度和设置帧间隔。完成WiFi连接后,控制器从串口中接收WiFi模块传送过来的指令信号,根据指令信号转到对应的子程序处理。
1.4 ?WiFi网络通信
WiFi是一种短程无线传输技术,能够在数百英尺(约合100 m)范围内支持互联网接入的无线信号[10]。系统采用WiFi网络通信技术实现控制指令信号的无线传输。WiFi路由器作为无线信号发送端,手机和嵌入式家庭网关均作为AP接入[11]。因此手机和嵌入式家庭网关均被分配动态IP地址,双方在通信前必须识别对方的IP地址,才能进行后续的控制指令传输。网络通信流程如图5所示。
手机端在刚接入网络时,首先通过绑定的端口号广播发送探测数据包,绑定相应端口号的嵌入式家庭网关接收到探测包后,回复一个回应包。回应包中包含家庭网关的IP地址。手机端通过回应包可以获得家庭网关的IP地址,之后可以向家庭网关单播地发送控制指令包。
2 ?系统测试
音响声控系统开发调试完成后,手机端控制界面如图6所示。手机端包括语音指令控制和界面指令控制两种方式。使用语音指令控制方式,用户只需点击语音按钮,然后说出指令。手机端采集语音指令,控制音响系统的操作。使用界面指令控制方式,用户则需要点击对应指令按钮来控制音响工作。
系统测试分别对在线引擎和离线引擎两种方式进行语音识别测试,记录匹配率和平均响应时延。测试结果如表3所示。
从测试结果可以看出,在线引擎和离线引擎经过增加指令相似音节列表处理后,均能获得较好的匹配率。在线引擎的平均响应时延比离线引擎的评价响应时延低,因为在线引擎需要将数据发送到云端处理。不管使用哪种识别方式,均能满足系统对语音识别的要求。3 ?结 ?语
本文基于科大讯飞开发平台提供的移动语音终端SDK,结合WiFi网络通信技术和嵌入式系统,开发通过语音进行控制的音响控制系统。该系统以手机语音识别作为控制端,通过WiFi网络向嵌入式家庭网关发送控制指令,从而达到语音控制音响设备操作的效果。目前本系统已经通过实验测试,能良好地控制音响设备工作。今后将进一步研究把系统架构扩展到智能家居控制和其他嵌入式设备控制。
参考文献
[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] 唐贵尧,万鑫.语音识别技术的研究及基本实现[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的智能家居语音控制系统[J].计算机系统应用,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协议的智能家居系统实现[J].物联网技术,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开发指南:引擎类型[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开发指南:概述[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] 魏思.科大讯飞最新语音识别系统和框架深度剖析[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] 李庆,张娅.家居无线语音控制系统[J].制造业自动化,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.
關键词: 语音识别; 科大讯飞开放平台; Android; WiFi网络通信; 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 module0 ?引 ?言
随着电子技术的发展,人们对于音响系统的要求不再局限于使用遥控器进行控制,希望控制更自由更舒适更便利。同时,随着智能手机高速发展,手机已经普及到人们的生活中,越来越多的功能集成到智能手机中[1]。在家庭住宅范围内,依靠WiFi通信技术,将手机APP和音响设备联系起来,通过手机控制音响设备,构建高效便捷的音响控制系统,方便人们对音响设备的操作和管理。语言识别技术作为一种新兴的智能信息技术已经引起了广泛的关注和高度的重视[2],它可以让机器听懂人的话。人可以用语音对设备进行控制,使人机交互更加方便直接[3]。语音控制代替了手动控制,可以解放人的双手,让人们可以在做其他事情的同时控制音响系统。本文结合Android平台的语音识别技术、WiFi网络通信和嵌入式技术,提出一种基于Android语音识别的音响声控系统。该系统可以在手机端通过WiFi网络和嵌入式控制模块对音响设备进行语音控制,能满足现代音响设备智能化的要求,具有很好的应用前景。1 ?系统设计
1.1 ?整体方案
整个音响声控系统由手机控制端、WiFi路由器、嵌入式家庭网关和音响设备组成。手机端基于Android平台开发APP,具有语音指令控制和界面指令控制功能。语音指令控制基于科大讯飞开放平台提供的语音识别功能实现。嵌入式家庭网关即嵌入式控制模块,采用STC15F204EA单片机芯片作为微控制器,采用集成Cortex?M3的NL6621芯片作为WiFi通信模块。WiFi路由器提供WiFi通信网络,连接手机与家庭网关,并提供手机到Internet的联网。音响设备从嵌入式家庭网关接收指令并执行。系统总体结构如图1所示。
手机端APP将接收到的语音通过WiFi路由器发送至Internet上的讯飞语音云服务进行语音识别,将云端返回的数据与本地指令进行匹配,找到匹配的指令通过WiFi路由器向家庭网关发送指令。家庭网关接收到指令后向音响设备发送控制信号,音响设备按照控制信号执行对应动作。语音识别如果在本地进行,则不需要连接Internet。手机端如果采用界面指令控制,则不需要进行语音识别,直接发送指令。
1.2 ?语音识别处理
语音识别技术本质上是一种模式识别匹配的过程,是机器通过识别和理解过程把语音信号转变成相应的文本或命令的技术[4]。科大讯飞开放平台提供多种语音识别功能[5],其中语音听写是基于自然语言处理,将一段语音转换成文本,把语音中包含文字信息提取出来。语音听写包括在线引擎和离线引擎两种。在线引擎需要使用网络,速度稍慢,并產生一定流量,但有更好的识别效果。离线引擎不需要使用网络,且识别的速度更快,但需要使用离线的SDK包[6]。本系统手机端语音识别采用科大讯飞开放平台提供的移动语音终端SDK,将本地采集的语音通过网络交给讯飞语音云进行识别,或交给离线的讯飞本地语音识别SDK包进行识别,再根据返回的识别结果与系统相关指令匹配,执行对应指令。软件工作流程如图2所示。从图2可以看出,手机端语音识别支持在线引擎和离线引擎两种模式。在线引擎必须确保手机连接网络,以便把语音发送至讯飞语音云服务,云服务端识别后返回识别结果。本地引擎在使用前必须预安装本地语音识别包,使用识别包进行语音识别。移动语音终端SDK提供SpeechUtility类进行软件初始化,SpeechRecognize类实现语音听写功能,RecognizerDialog类实现语音听写UI功能。移动语音终端SDK提供的功能大多使用接口和回调的方式返回结果和状态。语音识别结果在回调函数中返回,系统对识别结果的处理也在回调函数中进行[7]。语音识别的识别正确率是系统功能的核心指标。科大讯飞开放平台提供的语音识别功能识别正确率比较高[8]。但从多次测试中发现,对于连续的有上下文语义的句子,识别率比较高,对于一些音响指令,如“停止”“菜单三”等没有上下文联系的单个词组,识别率有所下降。为了使有所下降的识别率不影响系统的匹配率,系统加入指令相似音节列表。如“停止”指令对应的相似音节列表包括“亭子”“听着”“挺直”“金子”等相似音节词组,只要语音识别结果含有指令相似音节列表中的其中一个词组,则认为匹配。对加入相似音节列表前后进行测试,测试结果如表1和表2所示。其中识别正确次数指能正确识别出原指令词组的次数,匹配次数则是识别正确次数加上识别结果与相似音节列表里任一词组匹配的次数。从测试结果可以看出,单个指令语音识别的正确率较低,但增加指令相似音节列表后,匹配的范围增大,能很好地提高系统的语音识别匹配率。
1.3 ?嵌入式家庭网关
嵌入式家庭网关以STC15F204EA微控制器为核心,连接音响设备,配合NL6621?M3 WiFi模块,接收WiFi网络传输的指令,控制音响设备工作。嵌入式家庭网关硬件结构如图3所示。STC15F204EA为高速51单片机芯片,单周期指令,主频33 MHz,2 KB FLASH,1 KB E2PROM,W/R周期10K+,256 B RAM[9]。STC15F204EA微控制器主要工作是连接WiFi网络和从串口中接收指令信号并处理,工作流程如图4所示。STC15F204EA微控制器初始化完毕后连接WiFi网络,连接的命令包括设置WiFi模式、填写WiFi id和密码、设置波特率、设置帧长度和设置帧间隔。完成WiFi连接后,控制器从串口中接收WiFi模块传送过来的指令信号,根据指令信号转到对应的子程序处理。
1.4 ?WiFi网络通信
WiFi是一种短程无线传输技术,能够在数百英尺(约合100 m)范围内支持互联网接入的无线信号[10]。系统采用WiFi网络通信技术实现控制指令信号的无线传输。WiFi路由器作为无线信号发送端,手机和嵌入式家庭网关均作为AP接入[11]。因此手机和嵌入式家庭网关均被分配动态IP地址,双方在通信前必须识别对方的IP地址,才能进行后续的控制指令传输。网络通信流程如图5所示。
手机端在刚接入网络时,首先通过绑定的端口号广播发送探测数据包,绑定相应端口号的嵌入式家庭网关接收到探测包后,回复一个回应包。回应包中包含家庭网关的IP地址。手机端通过回应包可以获得家庭网关的IP地址,之后可以向家庭网关单播地发送控制指令包。
2 ?系统测试
音响声控系统开发调试完成后,手机端控制界面如图6所示。手机端包括语音指令控制和界面指令控制两种方式。使用语音指令控制方式,用户只需点击语音按钮,然后说出指令。手机端采集语音指令,控制音响系统的操作。使用界面指令控制方式,用户则需要点击对应指令按钮来控制音响工作。
系统测试分别对在线引擎和离线引擎两种方式进行语音识别测试,记录匹配率和平均响应时延。测试结果如表3所示。
从测试结果可以看出,在线引擎和离线引擎经过增加指令相似音节列表处理后,均能获得较好的匹配率。在线引擎的平均响应时延比离线引擎的评价响应时延低,因为在线引擎需要将数据发送到云端处理。不管使用哪种识别方式,均能满足系统对语音识别的要求。3 ?结 ?语
本文基于科大讯飞开发平台提供的移动语音终端SDK,结合WiFi网络通信技术和嵌入式系统,开发通过语音进行控制的音响控制系统。该系统以手机语音识别作为控制端,通过WiFi网络向嵌入式家庭网关发送控制指令,从而达到语音控制音响设备操作的效果。目前本系统已经通过实验测试,能良好地控制音响设备工作。今后将进一步研究把系统架构扩展到智能家居控制和其他嵌入式设备控制。
参考文献
[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] 唐贵尧,万鑫.语音识别技术的研究及基本实现[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的智能家居语音控制系统[J].计算机系统应用,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协议的智能家居系统实现[J].物联网技术,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开发指南:引擎类型[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开发指南:概述[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] 魏思.科大讯飞最新语音识别系统和框架深度剖析[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] 李庆,张娅.家居无线语音控制系统[J].制造业自动化,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.