基于Arduino的语音识别系统设计
2018-05-14郑斯琦
摘要:为了探索基于Arduino平台的智能硬件设计方法,本文设计了一套基于Arduino的语音识别系统。首先,本文搭建了硬件平台,核心模块为Arduino和一款语音识别芯片LD3320。然后,利用Arduino的软件编程环境实现了本文的软件算法。实验结果表明,本系统能实现智能语音识别的功能,可推广到其他智能平台。
关键词: Arduino;语音识别; LD3320
随着科技的不断进步,人们的生活水平也大大的提高,智能家电开始逐步实现。在智能家电的时代,我们想开灯,想打开电视,想看哪个台,哪个节目等等,无需去找开关,遥控器,只需要大声地说出我们的想法,就能如我所愿。现在移动终端的使用大大方便了我们的生活,我们设想,将所有家电(电扇,电视,冰箱,空调,微波炉,电饭煲,洗衣机),以及门、灯等都可以安装上一些相应的传感器,在移动终端(如手机,平板)上安装一个自己开发的APP,然后通过语音识别技术就可以控制这些电器,实现更智能、更方便的家居生活。因此,基于这些设想,本文设计了一套基于Arduino+LD3320语音识别系统,用户可以通过语音控制LED灯的打开与熄灭,也可以控制流水灯以及全彩灯等的熄灭。本系统简便流畅,可以推广到其他智能交互系统中。
1 语音识别原理
语音识别的研究可以追溯到1952年,当时世界上的第一个语音识别系统是可识别到10个英语数字的 Audry 系统。后来,随着语音识别技术的发展,在提高小词汇量的语音识别系统的性能之后,研究人员们开始有更大目标,将研究方向转到了非特定人、大词汇量的语音识别系统上,其中最具突破性意义的是CMU大学研发的SPHINX系统,它成功解决了非特定人、大词汇量以及连续语音的三大难题,曾被一致定义为语音识别技术发展中的奠基石。
上述语音识别系统的关键就是语音识别技术,而语音识别技术可以定义为让机器通过识别和理解,把人类的语音信号转变为相应的文本信号的技术。本文所采用的LD3320芯片利用了这些语音识别技术,并将非特定人的语音信号转换为了文本信号。
2 系统软件及硬件设计
2.1 系统硬件平台搭建
本文所设计的基于Arduino 的语音识别系统,是一个以Arduino为处理器平台的并依托语音识别技术对输入作出响应的智能系统。系统主要包括以下几部分:以Arduino为核心的处理器模块,以LD3320为核心的语音识别模块以及各种接口部件。平台组织结构如图1所示。系统的工程流程如下:首先用户通过麦克风将语音信号输入到语音识别模块中,语音识别模块将语音信号转换为特定的信号,然后在Arduino的控制下,将识别出的信号转换为指令输出,然后控制LED灯的开启与熄灭。
2.2 Arduino开发板
Arduino是2005 年1 月由意大利米兰交互设计学院的两位教师David Cuartielles 和Massimo Banzi联合开发的开源硬件平台。本文采用的产品型号为Arduino UNO R3,该款开发板提供了丰富的硬件接口资源,包括0~13共计14个数字输入/输出口以及A0~A5共计6个模拟输入接口。因此,用户可以根据需要很方便的进行二次开发。
2.3 语音识别模块
本文采用安然之家智能工作室开发的LPICR V1.4 免编程(IO 版)非特定人语音识别模块,该语音模块以LD3320位核心,当麦克风采集到语音信号时,LD3320发送低电平请求中断,然后MCU执行相应的识别流程序。语音识别模块的引脚定义如下图3所示。
在语音识别系统实现之前,首先需要将待识别语句烧写到语音识别模块中。语音识别模块与电脑连接进行命令的输入过程比较简单,可以用如下图3以及图4进行说明,其分别是语音识别模块与电脑连接的示意图和实物图。
2.4 系统软件设计实现
接下来是系统的软件设计部分,Arduino采用类似于Java和C语言的Processing/Wiring 开发环境。测试开灯关灯命令的时候,只需要利用digitalWrite函数把相应的引脚拉高或者拉低,然后就可以实现LED的打开和熄灭。而测试流水灯时,只需要按一定的延迟拉高或者拉低相应的引脚。语音识别芯片识别到的结果会转换为十六进制信号,Arduino会利用这些识别的结果做出相应的操作。
3 实验结果
搭建完硬件平台以后,然后将编写的声控程序编译、烧写至开发板。接下来对系统进行声控测试。首先,对系统的麦克风正确说出“开灯”、“关灯”、“打开流水灯”等预先设置的命令,系统识别出了预先设置的命令,然后,面包板上的LED灯也做出了相应的反应。多次测试发现系统的识别率在90%以上,说明系统是可靠的,并且也是比较稳定的。
最终的测试结果表明,该系统在无噪或低噪环境下运行良好,识别精度非常高,能实现语音控制LED灯的开与关的要求。
4 结语
本文主要对基于Arduino的语音识别系统的设计及实现进行了阐述。系统的设计工作主要包括了硬件平台的搭建及软件的实现。测试结果表明,本系统能够通过语音识别芯片实现开灯关灯等操作,说明本系统是可靠的,智能的,并且也是有效的。此外,由于本系统具有体积小、功耗低、通用性强等优势,因此,可推广到各种智能应用领域,如智能家居、智能家电、智能交通等。
参考文献:
[1]赵璐,吴蒙.基于Arduino的语音识别与控制系统实现[J].微型机与应用,2015 (21).
[2]黄丽雯,韩荣荣,宋江敏.基于Arduino /Android 的语音控制小车设计[J].实验室研究与探索,2015,34(12).
[3]郑昊,钟志峰,郭昊,许骏.基于Arduino/Android的蓝牙通信系统设计[J]. 物联网技术,2012(5) .
[4]刘楚红,董镇,钱宇捷,陶立,柳盛东.基于Arduino 的倒车雷达系统设计[J].现代电子技术,2014,37(17).
作者简介:郑斯琦(2001),女,四川省成都市第七中學高新校区高2016级级9班。积极参加20162017年度两期“成都七中创客集合”活动,开展了C、C++等编程语言的研究性学习,初步学习了MFC、Arduino。