当前位置: 首页 » Proe图文教程 » Proe玩具设计师必会 »

电动玩具运用语音识别技术

发布日期:2014-05-31  来源:百佳学习邦  作者:李勇  浏览次数:971
核心提示:语音控制型玩具摩托车是由左右后轮的两个直流电机分别驱动的。由于直流电机的功率 大,单片机不能直接驱动,所以系统加入了驱动电路。左右轮的驱动电路相同。
由于电子技术的迅速发展,几年来语音识别技术及其应用研究越来越受到人们的重视,让机器听懂人的语言已成为可能。在国外,语音拨号手机、语音拨号电话等一些产品已开始问世。目前,在理想的条件下特定人孤立词的识别率能达到95% ,但是对非特定人孤立词的识别率还不高。这使得语音识别技术在很多领域的应用都有很大的局限性。我们将特定人孤立词的识别技术应用到电动玩具摩托车中主要有两方面的原因;一是特定人孤立词的识别率较高,虽然达不到100% ,但偶尔出现误识别,也不会影响玩具车的正常使用;二是玩具本身就是一种个性化产品,自己的玩具宠物最听自己的话,这本身就是玩具的优点之一。我们将特定人孤立词的识别技术应用到电动玩具摩托车中,使得玩具摩托车能比较准确地识别特定人的语音命令,并能完成各种相应的功能,如前进、后退、左转变、右转弯、转圈儿、抬车头、开车灯、放音乐等等。如果对部分电路作一些变动,还能开发出各种各样的语音控制型电动玩具来。下面介绍系统设计。语音控制型玩具摩托车系统结构如图1所示,由单片机模块、语音识别模块、存储模块、键盘与显示模块、驱动电路模块和其他电路模块组成。系统核心是单片机模块,它使各模块能够很好地协调工作。
=更多Proe教程proe培训、Proe结构设计、Proe逆向抄数教程、Proe高级曲面、Proe运动仿真,源自百佳学习邦(www.bjxx8.com)

本文介绍了一种将语音识别技术应用在电动玩具摩托车中的方法,此方法使玩具摩托车能够识别人的语音命令,并能完成各种相应的动作,识别率在92%以上。

1、键盘和显示模块
键盘和显示模块是根据训练的需要而设计的。生成一个正确的语音命令模板应先输入语音命令的序号,然后再进行两次语音信号的输入。键盘用来调整模板的序号和发出输入语音信号的指令,LED显示单元能实时显示训练的状态。进入训练状态后,LED显示单元首先显示“1”,表示可以进入第一次语音输入。如果第一次语音输入正确则显示“2”,表示可以进行第二次语音输入,否则仍显示…1,表示第一次语音输入不正确,需要重新输入。当两次输入都正确后,显示单元回显当前的语音命令序号。使用这种方法,可以随意训练任意序号的语音命令,并且新生成的语音命令模板自动覆盖以前相应序号的旧命夸模板。

2、驱动电路模块
语音控制型玩具摩托车是由左右后轮的两个直流电机分别驱动的。由于直流电机的功率 大,单片机不能直接驱动,所以系统加入了驱动电路。左右轮的驱动电路相同。
 
3、其他电路模块
在玩具摩托车具有基本行车功能的基础上还添加了其他功能,比如播放音乐、在转弯时自动打开转向灯、车子遇到障碍物时自动后退并调转车头。这部分我们就不再叙述了。VP1002B芯片对特定人孤立词的识别率很高,这是在训练和识别时口和话筒的距离和角度基本不变并且周围环境等因素比较理想的条件下得到的。我们先为12条语音命令各生成一个语音命令模板,然后对玩具摩托车下达语音命令时识别率却只有20%,不能满足玩具的要求。其主要原因是玩具在地上不断跑动,口与话筒的角度和距离不断变化,严重地影响了识别率。针对这一问题,我们对每一条语音命令在较近的距离下训练一次,再在较远的距离下再训练一次。这样,同一指令在VP1002B芯片中产生了两个语音命令模板。识别时,不论玩具摩托车识别到近距离的命令还是远距离的语音命令,我们通过软件都让摩托车完成同样的动作。经过这一改进,玩具摩托车的识别率达到了92% ,基本满足了玩具的使用要求。如果我们在不同的距离做第三次训练,识别率还能有一定提高。但。是VP1002B芯片在任何时刻只能存储20个语音命令模板,不能满足要求。我们利用存储模块有效地扩展了可识别的语音命令数,从而解决了这个问题。VP1002B的
识别率是不可变的,但是利用存储模块,我们提高了玩具摩托车的识别率。如果将遥控功能也加入到这一系统中,不仅会增加人和玩具车的有效距离,而且也能起到提高识别率的作用。主要有两方面的原因:一是增加遥控功能,可以使识别电路和功率较大的驱动电路在物理上完全隔开,使驱动电路对识别电路的影响为零;二是增加遥控功能,可以使口和话筒的距离和角度变化不太,基本维持语音输入的周围环境稳定,这对提高识别率很有利。我们利用语音识别技术、单片机技术和控翩技术研制的语音控制型玩具摩托车在语音命令的控制下,能够实现前进、詹退、左转弯、右转弯、转圈儿、抬车头、放下车头、播放音乐等等功能,在4m内识别率在92%以上。由于人的口与摩托车上的话筒的距离是在不断变化的,所以能达到这一识别率还是比较难得的。此系统电路成本也较低,易于产品化。具有广阔的市场前景。
LabVlEW RT 6i提供更先进的性能,更多的测量选择蔓国National Instruemnts(NI),公司最近发布了LabViEW r6i。工程师们可方便地LabVIEWRT6i下剖建自定jL应用程序井下戴到内存式硬件设备中。在LabVIEW RT6i的图像伴鳊程界面下,结合其他的硬件设备,可以创建完善的、自定艾应用系统。运用更多的测量桌继承设备,可灵活建立一十应用广泛的内嵌式实时系统。由于RT系列PXI控制嚣现在可使用串口和运动控制模块,工程师们就可通过串口连接外围设备,井将实时运动和数据采集、分析覆其他任务集成在一起。此外,LabVIEW RT6i运用高水准、简便易用的网络新技术DataSocket,使网络通信应用更简单。
=更多Proe教程、Proe培训、Proe结构设计、Proe逆向抄数教程、Proe高级曲面、Proe运动仿真,源自百佳学习邦(www.bjxx8.com)
4、语音识别模块
语音识别模块由一片vP1002B芯片、话筒和其他外围电路组成。通过话筒 口语音输入电路将语音信号输入到VP1002B芯片,由VP1002B芯片对语音信号进行处理,将语音命令转化为二进制命令代码,再通过三根控制线R0、R1、R2和四根数据线K0、K1、K2、K3与89C51单片机
的P0口交换数据。VP1002B芯片是一种特定人孤立词的语音识别芯片,它识别率高,响应快,体积小,功耗低。非常适合应用于玩具中。它必须在外部MCU的控制下才能正常工作。外部MCU在R0、R1、R2这三根控制线上建立特定的时序,然后在这个时序的配合下,通过K0、K1、K2、K3这四根双向数据线读取VP1002B芯片状态寄存器的内容或向VP1002B芯片写入命令,每次读出或写入的都是四位数据,如果要写入或读出一个字节的数据,则需要操作两次VP1002B芯片有训练和识别两种工作模式,在进入识别模式之前必须先对它进行训练,只有在VP1002B芯片可以接收命令的时候才能对它下达训练命令,下达训练命令之后应该立即送出即将生成的语音命令模板的序号,并且生成一个语音命令模板必须输入长度不能超过1 l8s的语音命令两次。训练完成后,VP1002B芯片中已经保存了正确的语音命令模板,这时芯片才能进入识别模式,只有在VP1002B芯片可以接收命令的时候才能对它下达识别命令,此时输入的语音命令长度也不能超过1.8s。因为VP1002B芯片采集到语音信号后要对它进行处理,寻找一个匹配的模板,这需要0.5s的时间,所以单片机读取识别结果前必须先延时0.5s。
电动玩具运用语音识别技术
5、存储模块
掉电后VP1002B芯片中保存的语音命令模板会丢失,所以每次上电后都要重新对其进行训练,使用起来很不方便。语音控制型玩具摩托车在训练完每个命令后,都会通过单片机将生成的语音命令模板写入存储模块。重新上电后,单片机首先判断存储模块中是否有已训练的语音命令模板,如果有则将命令模板依次读出并写入VP1002B芯片的相应位置。这样.无需再进行重复训练便可直接进人识别模式。存储模块在实现语音命令掉电保护的同时,也扩展了玩具车可以识别的语音命令数。VP1002B芯片在进入识别模式之前,芯片RAM 中必须保存有现成的语音命令模板。但是在任何时刻VP1002B芯片只能存储加个语音命令模板,这在使用中有一定的局限性。存储模块增加了可以识别的语音命令数。训练时,单片机将生成的语音命令模板读出并写入存储模块。识别时,单片机首先将存储模块中的前20条语音命令模板依次读出并写入VP1002B芯片的相应位置,如果需要下达后20条命令,只需下达一条语音命令让单片机将后20条语音命令从存储模块中读出并写入VP1002B芯片。这样就扩展了可识别的语音命令数。因为最后要将电路板全部装入一个小玩具摩托车中,为了减小体积和减少单片机的I/O开销,我们选用了申行工作的EEPR0M(24Ll 4)芯片作为存储模块的核心。24LCA4芯片的具体使用方法可以查相关资料,这里不再叙述。
=更多Proe教程、Proe培训、Proe结构设计、Proe逆向抄数教程、Proe高级曲面、Proe运动仿真,源自百佳学习邦(www.bjxx8.com)
 
 
[ ]  [ 分享给好友

点击排行榜

百佳学习邦

  • 自学总不见成效
  • 给自己找个老师吧!
  • 百佳学习邦提供
  • 1对1网络培训Creo
  • 李老师
  • 电话:15017888989
  • QQ:773606286