邓雅琪, 徐承韬, 宋禹辉, 高鹏飞, 韩国良, 高 宁
(沈阳化工大学 信息工程学院, 辽宁 沈阳 110142)
一种便携式语音提示器的设计
邓雅琪, 徐承韬, 宋禹辉, 高鹏飞, 韩国良, 高 宁
(沈阳化工大学 信息工程学院, 辽宁 沈阳 110142)
设计一种基于语音识别技术的便携式语音提示器,采用STC90LE52系列单片机作为核心处理器,采用ICRoute公司生产研发的LD3320语音识别芯片实现语音识别功能.该系统属于非特定人语音识别,识别关键词列表可以由用户自己进行动态编辑.并对该语音识别系统的总体结构、主控制模块和语音识别模块的软硬件设计进行详细阐述.实验结果表明:该系统识别准确率高,结构简单,性价比高,具有较高的推广应用价值.
语音识别; 单片机; 提示器
近几年,随着科技的发展,语音识别技术应用日渐广泛,方便了人们的生产和生活.本文提出一种基于语音识别技术的语音提示器,采用STC90LE52单片机作为核心处理器,使用ICRoute公司的LD3320语音识别芯片实现语音识别功能.经过合理的软硬件设计,该语音提示系统可以很好地实现对输入语音信号的接收、识别与判断,并在此基础上正确地发出提示信息.与很多既定语音指令的产品相比,该语音识别系统属于非特定人语音识别系统,语音识别列表关键词可以由用户进行动态编辑,使其使用更加人性化.同时,该语音提示器体积小、功耗低,因此,有着很好的应用前景.
语音识别过程包括训练和识别两个阶段[1-2].训练阶段是由用户输入若干次训练语音,经过语音预处理和特征提取后得到该语音的特征参数,建立语音的参考模型库.识别阶段是将使用时用户再次输入的语音和参考模型库相比较,把相似度最高的语音作为识别结果输出,从而完成语音识别的过程.上述过程的工作原理如图1所示.
图1 语音识别原理
Fig.1 Speech recognition theory
自动语音识别技术[3](ASR,Auto Speech Recognition)是一种基于“关键词”的语音识别技术,首先需要采集大量不同人群的语音数据,统一在一起建立数学模型,进行模型分析,提取语音的细节特征及特征差异,得到最优化意义上的每个基元语音的音节特征,最后将建立好的识别语音库集成在硬件芯片上并加以应用.而基于ASR技术的语音识别芯片所完成的工作过程是:用户发出语音信号,由麦克风接收信号,并对接收到的语音信号进行分析,提取其语音特征,再与之前已经设定好的关键词一一进行匹配,最后找出相似度最高的一个作为其识别结果输出.
现以STC90LE52单片机为核心,外围加非特定人语音识别芯片LD3320及相关电路构成语音识别系统.提示器工作时,麦克接收外界语音信号(主人的呼唤),送入LD3320进行识别处理,然后根据识别结果,由单片机控制扬声器及指示灯输出,使主人能够寻找到所寻物品的位置.
2.1 语音识别部分
提示器采用的LD3320语音芯片,不需要FLASH、RAM 等外部储存器,也不需要用户提前录音训练语音关键词,芯片内部集成的已建立好的语音库可以完成语音的处理和识别工作.自带的完整模型库和算法使外接的硬件结构更加简洁,并且识别准确率也更高[4].
硬件电路设计如图2所示.LD3320数据线P0~P7引脚均采用并行传输方式直接与STC90LE52相接,并用1 kΩ上拉电阻进行上拉.引脚RSTB用于接收复位信号,引脚INTB用于接收中断返回信号,引脚A0用于判断传输的信号是数据段还是地址段,RDB、WRB、CSB用于接收控制信号,它们都与STC90LE52直接相连,并采用10 kΩ电阻上拉,其他语音播放功能的管脚暂时不使用.LD3320语音芯片和STC90LE52采用的是同一个12 MHz的晶振提供的外部时钟,发光二极管D1、D2用作复位后系统的通电指示灯.引脚MBS为麦克风偏置,与麦克风相连,以获取外界的语音信号[5].
图2 语音识别电路原理图
2.2 单片机主控模块
设计思路:将语音识别模块和单片机控制模块相结合,却又相互独立,使得语音的接收和识别过程与提示器的提示工作过程同时工作且互不干扰,最终使复杂的语音识别控制功能转化为简单的通过单片机I/O口接收语音识别处理结果,再输出控制外设工作的过程,使设计简洁精致,并且功能也易于实现[6].硬件电路设计如图3所示.单片机的P1口与LD3320相连,用来做数据的并行传输;P2.2~P2.5连接一组LED小灯,P2.7连接一个蜂鸣器,当语音识别结果传送到单片机时,提示器可以从声和光两个方面对用户进行提示.
图3 单片机主控模块电路原理图
语音识别程序的运行顺序是:首先进行芯片的初始化,LD3320芯片工作检查,当确定LD3320语音芯片正常工作后,写入语音片段的识别列表,即用户“关键词”.关键词用汉语拼音表示,每个关键词对应一个编号.LD3320语音芯片最多能够写入50个用户关键词.然后系统开始语音识别阶段.此时打开中断,等待语音识别的结果.在语音识别的过程中,间断地读取寄存器B2H的值,如果寄存器B2H的值为21H,表示LD3320语音芯片有识别结果产生.将读取出来的识别结果与之前设定的每个关键词相互比对,选出相似度最高的关键词作为最终的识别结果,单片机读取识别结果对应的特定编号,并通过I/O口输出控制提示器作出相应的提示动作,具体过程如图4、图5所示.
图4 语音识别系统主程序流程
图5 中断服务程序流程
通常,LD3320语音识别芯片能在以下两种情况给出识别结果:
(1) 用户向LD3320芯片送入预定时间的语音数据,芯片接收数据并对其进行处理和识别,最后给出识别结果;
(2) 用户向LD3320芯片送入语音数据,语音识别芯片通过端点检测技术检测用户说话的停止点,接收到完整的语音数据并对其进行处理和识别,最后给出识别结果.
由于设计是由使用环境和工作原理所决定,所以该系统主要是通过端点检测技术来截取用户说话.为了检验语音提示器语音识别正确率、识别结果的稳定性和识别响应时间,分别在安静的实验室和嘈杂的街道两种环境下对其工作进行测试.选择“开灯”、“音响”、“你在哪儿”3条语音指令,每个环境下每个特定人分别对3条指令共进行100次测试,记录成功识别的次数,计算识别率[7].测试结果如表1所示.
表1 测试结果
由表1中数据可以很明显地看出:在安静环境下识别率可达到95 %以上,在嘈杂环境下也可达85 %以上.实验室比街道上对语音识别的正确率更高,系统的稳定性也比较高;实时性方面,在安静环境下,响应时间较短,一般不超过2 s,在噪声环境下的响应时间更长一些.
当然,这种便携式语音提示器的语音识别也有一定误差.有时用户说关键词列表之外的话也会影响提示器的语音识别过程,甚至可能会产生误判.针对这种情况,可以在原基础上优化设置.例如使用触发识别模式,即先用某个词作为识别的一级指令,在一级指令的基础上再发出二级指令,这样可以有效避免无关词语对识别的干扰;也可以在需要的指令关键词中再增加一些与其读音相似的关键词,用来过滤可能会干扰语音识别的相似指令.
该语音提示系统设计中以LD3320为语音识别芯片、STC90LE52系列单片机作为主控芯片,两个模块相互协调工作,使得整个设计具有结构简洁经典、识别准确、性价比高等优点.基于LD3320设计的独立语音识别模块可以由市场上很多种类的核心处理器控制,具有很强的通用性和移植性;其指令识别的关键词列表可以由用户自己随时随地进行动态编辑,因此,它的使用范围更大更广,能够满足各类语音识别和控制类工作的要求.由于其成本低,因此,有着很广泛的市场应用前景.
与市场上现有的语音提示系统相比,该便携式语音提示器填补了智能提示功能语音产品的空白.实际应用中可以将该语音提示器制成小饰物等便携形式,挂接在诸如手机、钥匙、钱包等生活必须物品上,以帮助老年人群、健忘人群及生活工作快节奏人群通过发出语音呼唤快速便捷地找到物品.该语音提示器还可以嵌入盲人使用的物品或家居中,为盲人提供便利.此外,经进一步设计,该语音提示系统还可具有防盗、解锁、控制等衍生功能,具有很高的实际应用价值.
[1] 苏鹏,周风余,陈磊.基于STM32的嵌入式语音识别模块设计[J].单片机与嵌入式系统应用,2011,11(2):42-45.
[2] 金鑫,田犇,阙大顺.基于LD3320的语音控制系统设计实现[J].电脑与信息技术,2011,19(6):22-25.
[3] 洪家平.LD3320的嵌入式语音识别系统的应用[J].单片机与嵌入式系统应用,2012,12(2):47-49.
[4] 乔琳,邓彦松,田晓亮.基于AVR和51单片机的机器鱼语音控制系统设计与实现[J].电子元器件应用,2011,13(12):29-32.
[5] ICRoute.LD332X数据手册[EB/OL].[2010-03-10].http://www.icroute.com/web_cn/Download.html.
[6] 张戟,杨腾飞.车载自动语音识别系统设计[J].佳木斯大学学报:自然科学版,2011,29(2):201-205.
[7] 苏宝林.基于AVR单片机的语音识别系统设计[J].现代电子技术,2012,35(11):136-138.
Design of a Portable Intelligent Voice Prompter
DENG Ya-qi, XU Cheng-tao, SONG Yu-hui, GAO Peng-fei, HAN Guo-liang, GAO Ning
(Shenyang University of Chemical Technology, Shenyang 110142, China)
The design of a portable intelligent voice prompter based on STC90LE52 microcontroller as the core processor is being proposed,and its speech recognition function is introduced by the single chip LD3320 from the ICRoute Corporation.In this paper,the design involving the software and hardware includes the overall structure in voice control system and the main control module,and also the speech recognition module is invented.The target of this system belongs to the speaker independent speech recognition.What’s more,the key words in the identifying list can also be edited dynamically by the customers.After a large amount of experiments validated,it has a simple structure and a fantastic recognition accuracy rate as high as 99 %.Meanwhile,it can produce high quality at low cost,so it’s convenient to popularize and apply.
speech recognition; single chip microcomputer; prompter
2013-12-19
邓雅琪(1995-),女,安徽滁州人,本科生在读,主要从事测控技术与仪器仪表的研究.
徐承韬(1977-),男,吉林延边人,讲师,硕士,主要从事电气传动与电磁应用的研究.
2095-2198(2015)04-0358-05
10.3969/j.issn.2095-2198.2015.04.013
TN912.34
A