基于arduino的语音控制系统

2016-05-30 03:23林敏李强
科技资讯 2016年15期
关键词:家用电器

林敏 李强

摘 要:随着科技的进步,家用电器逐步走向智能化、人性化。不同的家用电器便利了我们的家庭。但是随着人们对生活要求的提高,总会发现便中还有着不便,而面对着这些新的不便,创客们正在用自己的智慧改造他们。而我们就打算利用语音控制使我们的生活走向新的科技生活,让我们“靠嘴生活”。该项目主要利用arduino结合语音控制模块以及相关的继电器等器件,实现语音控制电灯、插座等家用电器的目标。

关键词:arduino 语音控制 家用电器

中图分类号:TP271 文献标识码:A 文章编号:1672-3791(2016)05(c)-0038-02

1 项目简介

1.1 项目名称

基于arduino的语音控制系统。

1.2 项目含义

近年来, 随着语音识别与确认技术的逐渐成熟,基于语音识别技术的对话控制系统受到了越来越多的关注。现有的语音技术有些是要先录入声音,然后采用对照的方式进行识别,这样一来,不同的人说同样的话,可能识别结果不一样,该系统采用专门的控制板,不需要事先录入,只需设置相应的关键词,就可以进行识别,配合arduino控制器,从而进行相应的执行动作。

1.3 项目产生的背景及原因

语音识别技术,也被称为自动语音识别(Automatic Speech Recognition,ASR),其目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列。与说话人识别及说话人确认不同,后者尝试识别或确认发出语音的说话人而非其中所包含的词汇内容。

语音识别技术的应用包括语音拨号、语音导航、室内设备控制、语音文档检索、简单的听写数据录入等。语音识别技术与其他自然语言处理技术如机器翻译及语音合成技术相结合,可以构建出更加复杂的应用,例如语音到语音的翻译。

语音识别技术所涉及的领域包括:信号处理、模式识别、概率论和信息论、发声机理和听觉机理、人工智能等等。

1960年代,人工神经网络被引入了语音识别。这一时代的两大突破是线性预测编码Linear Predictive Coding (LPC)和动态时间规整Dynamic Time Warp技术。

1.4 项目实施的必要性

语音识别一直是人类的梦想,故事“阿里巴巴和四十大盗”里面的“芝麻开门”便反映了古人对语音产品的一个构想。科技发展到今天,人类对语音识别的研究工作始于20世纪50年代。经过50多年的努力和积淀,尤其进入90年代后,语音识别技术进一步成熟,开始向市场提供商业化运作比较成熟的产品。许多发达国家如美国、日本、韩国以及IBM、Apple、 Nuance 、Microsoft等公司都为语音识别系统的实用化开发研究投以巨资,但在生活中,语音识别似乎应用的不太多,该项目采用简单的结构,以语音识别模块为核心,实现简单的语音控制应用,是语音识别技术在生活中的一个应用实例。

语音识别技术发展到今天,特别是中小词汇量非特定人语音识别系统识别精度已经大于98%,对特定人语音识别系统的识别精度就更高。这些技术已经能够满足通常应用的要求。

2 项目实现的目标及实现方法

2.1 项目目标

该项目实现的目标为:通过语音识别模块,识别人说话的意思,并发送信号给arduino,由arduino程序去控制相应的执行机构动作,例如:开灯,关灯,打开或者关闭风扇等等。从而实现人机互动。语音模块具备以下性能。

(1)高准确度和实用的语音识别效果。

(2)非特定人语音识别技术:不需要用户进行录音训练。

(3)可动态编辑的识别关键词列表:只需要把识别的关键词以字符串的形式传送进芯片,即可以在下次识别中立即生效。比如,用户在51等MCU的编程中,简单地通过设置芯片的寄存器,把诸如“你好”这样的识别关键词的内容动态地传入芯片中,芯片就可以识别这样设定的关键词语了。

(4)支持用户自由编辑50条关键词:在同一时刻,最多在50条关键词语中进行识别,终端用户可以根据场景需要,随时编辑和更新这50条关键词语的内容。

2.2 实现方法

该项目采用现成的语音控制模块,但是模块本身有局限性,就是只有2个控制引脚,只能控制2个外部器件。大大限制了其实用性,好在其自带串口通信引脚,我们就用arduino(arduino本质上是一种AVR单片机,开发者对其进行了二次开发,大大降低了使用的难度)和其进行串口通信,arduino本身自带50多个控制引脚并且还可以扩展以获得更多引脚,这样,通过对语音控制模块编程,语音控制模块负责将声音转换为相应的代码(例如语音“打开电灯”对应“001”,“关闭电灯”对应“002”),并通过串口发送给arduino,然后再对arduino编程,使其接受到相应的代码后,能执行相关操作(例如将arduino的13号输出脚通过继电器控制电灯,当arduino接受到“001”时候,使得13号输出脚输出高电平从而点亮电灯,接受到“002”时候,使得13号输出脚输出低电平从而关闭电灯)。这样,需要控制多种电器的话,只需要依次对应在语音模块和arduino里增加程序即可!

3 结语

该项目是南京机电职业技术学院2015年度三创大赛决赛的入围作品,通过近一个月的努力,我们最终调试完成,并在决赛中获得了二等奖的好成绩!

“车到山前必有路”并不是自我安慰,而是真实的心理现象。每个人都有一些创意,但是当这些创意真正需要实现的时候,往往觉得无从下手。其实,当你真想完成这个项目的时候,通过查阅资料、请教他人、相互讨论等方式,是可以克服这些困难的。

当你敢想、敢做的时候,哪怕最终失败,你也是最优秀的创客!

参考文献

[1] Simon Monk,著.创客电子电子制作DIY指南[M].孙宇,译.人民邮电出版社,2014.

[2] Simon Monk,著.arduino编程从零开始[M].刘椮楠,译.科学出版社,2013.

[3] 陈吕洲.arduino程序设计基础[M].北京航空航天大学出版社,2015.

猜你喜欢
家用电器
2019年8-12月全国主要家用电器产品产量
远程控制家用电器系统的设计与研究
2018年5-7月全国主要家用电器产品产量
数据
2014年8月全国主要家用电器产品产量
谈谈家用电器的安全使用