听话小精灵智能玩具的开发.doc_第1页
听话小精灵智能玩具的开发.doc_第2页
听话小精灵智能玩具的开发.doc_第3页
听话小精灵智能玩具的开发.doc_第4页
听话小精灵智能玩具的开发.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

听话小精灵智能玩具的开发计算机科学与技术专业 学生:张瑜 指导教师:陈坚祯摘 要:设计基于凌阳16位spce061a单片机,采用语音识别技术,设计完成了一款能够执行语音指令,并能够与人进行简单语音对话的交互式智能语音处理系统听话小精灵智能玩具。系统的设计主要包括硬件和软件两个方面,系统硬件部分基于凌阳spce061a精简开发板;而软件方面主要包括语音资源库的建立和系统的程序设计包括语音辨识和中断技术。系统在事先通过训练之后能够实现唱歌、背诵唐诗、简单特定对话等交互功能,富含趣味性。spce061a单片机还可按要求实现内部资源的更新具有较大的灵活性和软硬件可扩展性。关键词:语音识别;单片机;spce061a1 引言随着全球经济和科技的迅猛发展,玩具市场的玩具也越来越智能化、人性化。而且语音识别技术日趋成熟,使用语音识别技术便可以实现人与玩具的互动。机器通过识别和理解把语音信号转变为相应的命令的技术为语音识别技术,通过语音命令人们能够对其进行操作。语音识别技术和处理软硬件技术的快速发展, 使得智能玩具的开发技术更加成熟。凌阳公司提供的spce061a单片机具有十六位单片机的所有特征,又有语音处理技术方面的独特优势,所以设计以凌阳spce061a精简开发板为控制核心实现了智能玩具听话小精灵的设计。2 设计技术基础2.1硬件平台spce061a精简开发板,是以凌阳16位spce061a单片机为核心的精简开发仿真实验板,其体积小、集成度高、性价比极高、资源丰富、可靠性好且易于扩展。它将各功能部件模块化地集成在一个芯片里,内部采用总线结构,减少了各功能部件之间的连线。其处理速度较高,能够快速地处理复杂的数字信号,且中断处理能力较强。 spce061a含2k字的sram和32k字闪存容量。闪存在cpu正常运行状态下均可通过程序擦除或写入,可用来存储程序与数据。spce061a单片机为音频输出提供两个dac通道:dac1和dac2,分别经由dac1和dac2引脚输出。61单片机的a/d转换器有8个通道,其中有1个是mic-in输入,它专门用于语音信号采样。还含2路10位精度的d/a只需要外接功放lm386电路,即可完成语音的播放。硬件框图如图2-1所示: 图2-1 spce061a结构图2.2软件开发环境nsp ide是凌阳公司提供的一种支持16位系列单片机的集成开发环境。它既支持c语言、汇编语言又支持c语言和汇编混合编程,而且还提供了语音录放、识别的库函数。nsp ide集项目管理、程序编辑、编译、链接、调试和仿真等功能为一体。此外,它所提供的软件仿真功能,可以在不连接仿真板的情况下模拟硬件的各项功能来调试程序,它大大降低了开发难度。开发界面如图2-2所示:图2-2 nsp ide开发界面2.3听话小精灵音频资源系统2.3.1语音录制及语音压缩分类玩具的开发,首先是语音资源的建立,第一步便是语音文件的录制,用windows xp自带的录音机进行语音的录制,录制时wav文件的属性必须为“8k 16位 单声道”。凌阳音频压缩算法根据不同的压缩比分为以下几种,如表2-1所示:表2-1语音压缩算法分类音频压缩算法压缩比资料采样率语音质量sacm-a20008:1,8:1.25,8:1.516khz好sacm-s48080:3,80:4.516khz中sacm-s24080:1.516khz差2.3.2语音压缩工具录制的语音资源内存较大,而61板内存小。所以必须对语音进行压缩。凌阳公司专门提供了一款语音压缩工具compress tool(如图2-3所示),这是一款界面简单、操作方便、实用的语音压缩软件,其压缩比较大,压缩格式多样,而且语音压缩后的效果比较好。图2-3语音压缩工具compress tool2.4语音识别原理小精灵的语音识别由特定人语音识别sd(speaker dependent)技术实现,分为训练和识别两个阶段,借助于凌阳提供的api语音函数来实现。语音的识别取材于凌阳语音库bsrv222sdl.lib及相关头文件,如bsrsd.h等。语音辨识原理参看图2-4: 图2-4语音辨识原理框图2.5语音处理函数库凌阳公司提供了一系列的音频函数库,函数库是由一组或多组函数集组成的文件。函数库是二进制文件,程序代码是不可见的。在使用函数库时,只有被使用的函数集才会真正与工程连接,而函数库中的其他函数集不会占用硬件资源。函数库组织结构如图2-5所示: 图2-5函数库组织结构图设计所用的sacmv26e.lib函数库包括语音录制、播放函数集;语音识别函数库bsrv222sdl.lib则包括包含特定人语音训练、识别,语音特征模型的导入、导出函数函数集。3 听话小精灵系统硬件设计及实现3.1 spce061a小精灵硬件系统spce061a最小系统中,包括spce061a芯片外围的基本模块,有:晶振输入模块、锁相环外围电路、复位电路、指示灯等,有关spce061a 单片机的最小系统的各个模块都做在61板当中。最小系统如图3-1所示:图3-1 spce061a最小系统图3.2听话小精灵系统硬件外围设备(1)电源模块spce061a的内核供电为3.3v,而i/o端口可接3.3v也可以接5v,所以在电源模块中有一个端口电平可选择。图3-2 电源电路原理图(2)键盘输入模块键盘输入电路如图3-3所示,当有键按下时对应的io口被拉到低电平,spce061a处理后做相应操作。 图3-3键盘输入电路图(3)音频输出模块spce061a内置2路10位精度的d/a转换器,只需要外接功放电路即可完成语音的播放。音频输出电路图如图3-4所示: 图3-4音频输出电路图(4)麦克模块麦克采来的语音信号经agc(自动增益控制放大)后进入mic-in通道进行a/d转换。麦克输入电路原理图如图3-5所示: 图3-5麦克输入电路原理图4 听话小精灵系统软件设计及实现4.1播放语音的设计及录制播放语音的建立包括语音的录制、处理以及压缩。语音资源的录制和处理,力求语音简短、清晰。语音压缩时选用sacm_s480的格式进行压缩。压缩后生成xx*.48 k文件将会通过nsp ide以资源文件的形式导入闪存。4.2软件项目的建立4.2.1新建项目的步骤 单击file下拉菜单new弹出对话框(如图4-1所示)。选project标签并在file的文本框中键入项目名称。在location下的文本框中输入存 取路径或利用该文本框右端的浏览按钮设定项目的存储位置。最后点击ok按钮,完成项目建立。 图4-1新建项目界面图4.2.2在项目中新建文件在项目下,点击菜单file下拉菜单new弹出对话框如图4-2所示,点击sp ide c file,在file下的文本框内键入文件名称,单击ok;点击sp ide asm file、sp ide h file同样方法建立汇编文件和头文件。图4-2新建文件界面图4.2.3在项目中添加资源文件添加资源文件:单击project菜单add to project选项中的files或resources子项,激活add files对话框,如图4-3所示。其中files是用来添加函数或函数库文件,如:bsrsd.asm、bsrv222sdl.lib等;而resources是用来添加语音资源文件,如:1.48k。 图4-3文件的添加4.3训练模块的设计4.3.1初始化ram语音命令的特征模型被保存在spce061a的内部ram中,如果所需的ram存储空间被旧的特征模型数据占满,那么新建的特征模型将无法保存,此时利用int bsr_deletesd-group(0)函数删除ram空间中所有的特征模型,释放ram空间。 图4-4训练部分流程图4.3.2调用训练模块训练过程即提取语音样本的特征参数过程,通过调用int bsr_train (int command id, int traindmode)函数来进行训练,训练部分流程图如下图4-4所示: 4.4语音播放语音播放模块主要用来完成语音播放,用语音播放电路,通过软件编程来实现此部分功能。采用凌阳压缩算法中sacm_s480的自动播放,自动播放流程见图4-5: 图4-5 sacm_s480自动方式主程序流程图4.5语音识别模块语音识别模块主要用来完成语音辨识,采用语音识别电路,通过软件编程来实现此部分功能。语音识别的流程和函数调用如图4-6: 图4-6语音识别函数调用图4.6中断服务模块中断采用汇编语言进行编写,asm:_bsr_initrecognizer在中断fiq_timera时调用,并通过中断将语音信号送dac通道播放。当主程序调用此函数时,辨识器便打开fiq_timera中断,并开始将采样的语音数据填入辨识器的数据队列中。语音识别中断流程图如图4-7所示: 图4-7语音识别中断流程图5 听话小精灵系统运行训练与测试5.1程序的下载程序编写好之后,通过编译(build)运行确定没有错误之后就可以下载到61板上面进行调试了,通过ez-probe线来进行程序的烧写和在线调试。点击菜单project selete body,或者点击图标按钮,打开对话框如图5-1所示:图5-1 selete body对话框将设置selete body属性为如图5-1所示。点击下载按钮(download)或者按f8进行下载,下载时nsp ide界面如图5-2所示: 图5-2 程序下载时nsp ide界面5.2程序的在线调试及运行下载完成之后,ide便进入了调试状态,采用断点调试的方法进行调试,通过view菜单中的下拉菜单列表可以选择打开所要调试的窗口,调试窗口主要用来显示有关的调试信息。通过调试运行就能知道程序是否正确,是否符合设计要求。通过ez-probe下载线可以在线运行,选择运行(快捷键全速运行f5,单步运行f10),程序在线运行调试时对61板进行训练、识别,当运行成功就表明设计成功。结 束 语spce061a是一款集成度很高的语音识别系统级芯片。本设计基于此芯片实现了非特定人声语音识别的系统的设计,设计完成的听话小精灵实现了唱儿歌、背唐诗、完成简单对话和英语学习等功能达到了预期的目的。spce061a芯片所采用的面向特定说话人,小词汇量的语音识别系统具有较高的识别率与专用的语音处理芯片相比结构简单、成本低。唯一的缺点就是指令功能和语音资源的更新受到硬件限制,需按要求手动完成。设计编程采用c和汇编语言混合编程来实现,集两种语言之优点于一体,它们的完美结合极大限度地简化了编程过程,给开发者带来了莫大的方便。【参考文献】1 罗亚非等编著 凌阳16位单片机应用基础m. 北京:北京航空航天大学出版社,2003 2 凌阳大学计划网站()3(美)里 科 著,徐波 译. c和指针m. 北京:人民邮电出版社,2008.4,58-448.4(美)福伊尔 著,杨涛 等译.c语言解惑m.北京:人民邮电出版社,2007.7,50-154.5(美)霍 顿 著,杨浩 译. c语言入门经典(第4版)m.北京:清华大学出版社,2008.4,40-5716 戴建华. c语言开发技术详解m.北京:电子工业出版社,2009.6,45-541.7 雷思孝,李伯成,雷向莉. 单片机原理及实用技术凌阳16位单片机原理及应用m.陕西:西安电子科技大学出版社,2004.18 王 茜,姚娅川. 基于 spce061a 单片机的语音识别系统开发j. 四川理工学院学报,2005.3,18 (1):26-289 薛钧义,张彦斌,虞鹤松等. 凌阳十六位单片机原理及应用m. 北京: 北京航空航天大学出版社,2003,1:17-48.10 王和顺,黄惟公,邓成中. 基于spce061a的语音识别系统的研究j. 计算机工程与设计,2004,25(12):2222-2223.11 杨 帅,薛 岚 等. 基于spce061a智能小车机器人语音辨识系统的研究j. 山西电子技术,2009,(4):5-6. the development of intelligent toys of obedient elfcomputer science & technology specialty student: yu zhang tutor: jianzhen chenabstract: design is based on sunplus 16 spce061a,using voice recognition technology, design a model to perform voice commands, and can carry on the simple voice conversations with people in the interactive intelligent speech processing system, obedient little smart toys. system mainly includes two aspects of hardware an

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论