语音机器人.docx
《语音机器人.docx》由会员分享,可在线阅读,更多相关《语音机器人.docx(58页珍藏版)》请在冰豆网上搜索。
![语音机器人.docx](https://file1.bdocx.com/fileroot1/2023-2/23/adeb28a8-3a70-44e1-aab1-0f21efd19d19/adeb28a8-3a70-44e1-aab1-0f21efd19d191.gif)
语音机器人
语音识别机器人
方案简介说明书
1方案概述...................................................................................1
1.1设计要求.................................................................................1
1.2技术要求.................................................................................1
1.3备注.....................................................................................1
2方案设计简介...............................................................................2
2.1硬件框图.................................................................................2
2.2功能框图.................................................................................3
1方案概述
语音识别机器人可以充分发挥学生的创新能力,增加学生的动手实践能力,增加学生学习单片机的
兴趣爱好。
本方案以SPCE061A单片机为核心,改装市场上的玩具机器人,使改装后的机器人具有
语音识别能力,根据识别的语音完成跳舞等动作,这也是智能机器人的一个方面。
1.1设计要求
利用SPCE061A单片机、机器人机体(包括2个用于走路的电机、1个用于头部旋转的电机、1个用
于加速1个用于弹射的电机等),要求语音识别机器人具有下述功能:
1.通过语音命令对其进行控制。
2.两种跳舞模式。
3.走步功能、转向功能、转头功能。
4.发射飞盘功能。
1.2技术要求
1.要求语音识别机器人可以识别15条命令。
2.要求语音识别机器人具有2种跳舞模式。
1.3备注
2方案设计简介
2.1硬件框图
系统以SPCE061A为核心,结合机器人机体,如下图所示。
2.2功能框图
SPCE061A应用方案
1引言...............................................................................2
2设计要求...............................................................................3
2.1设计要求.............................................................................3
2.2技术要求.............................................................................3
3模组特性简介...........................................................................4
3.1SPCE061A特性简介....................................................................4
3.2芯片特性简介.........................................................................4
3.3SPCE061A精简开发板..................................................................5
3.4机器人模组简介.......................................................................6
3.4.1机器人驱动电路图...................................................................6
3.4.2主要功能...........................................................................7
3.4.3机器人实物图.......................................................................8
3.4.4注意事项...........................................................................8
4系统总体方案介绍.......................................................................9
5系统的硬件设计........................................................................11
5.1SPCE061A周边模块...................................................................11
5.1.1SPCE061A最小系统.................................................................11
5.1.2电源模块..........................................................................11
5.1.3放音模块..........................................................................12
5.1.4机器人硬件驱动电路................................................................12
6所用语音算法介绍......................................................................14
6.1语音识别算法简介....................................................................14
6.1.1语音识别概述:
...................................................................14
6.1.2语音识别原理......................................................................14
6.1.3SPCE061A实现语音识别的步骤:
......................................................14
6.1.4语音识别API介绍..................................................................15
6.2凌阳音频概述........................................................................16
6.2.1凌阳音频压缩算法的编码标准........................................................16
6.2.2压缩分类..........................................................................16
6.2.3凌阳常用的音频形式和压缩算法......................................................16
6.2.4凌阳语音的播放、录制、合成和辨识..................................................17
6.2.5常用的应用程序接口API的功能介绍及应用............................................17
7系统软件设计..........................................................................19
7.1擦除FLASH模块:
...................................................................21
7.2位操作模块:
........................................................................21
7.3语音播放函数........................................................................22
7.4走路、跳舞等其他函数模块:
..........................................................23
8应用方案的验证步骤:
.................................................................24
9结语..................................................................................26
SPCE061A在语音识别机器人中的应用
摘要:
在现代社会机器人这个词语已经不再新鲜,而且形形色色的机器人出现在我们的日常生活中。
为了提高广大单片机爱好者学习单片机的兴趣与爱好,凌阳科技大学计划教育推广中心推出了应用
SPCE061A控制的兴趣产品语音识别机器人,本文对语音识别机器人的软硬件制作进行介绍。
关键词:
SPCE061A;凌阳单片机;特定人语音识别;智能机器人;语音识别机器人
1引言为了提高广大单片机爱好者学习单片机的兴趣,凌阳科技大学计划教育推广中心推出了应用
SPCE061A作为主控制器,外加电机驱动电路制作的语音识别机器人。
该机器人采用特定人语音识别对机
器人进行控制,可以完成向前走、倒退、左转、右转、跳两首舞曲、向左瞄准、向右瞄准、发射、连续发
射等功能。
该语音识别机器人可以大大提高在校学生学习单片机的兴趣。
2设计要求
2.1设计要求
利用SPCE061A单片机、机器人机体(包括2个用于走路的电机、1个用于头部旋转的电机、1
个用于加速1个用于弹射的电机等),要求语音识别机器人具有下述功能:
1.通过语音命令对其进行控制。
2.两种跳舞模式。
3.走步功能、转向功能、转头功能。
4.发射飞盘功能。
2.2技术要求
1.要求智能机器人可以识别15条命令。
2.要求智能机器人具有2种跳舞模式。
3模组特性简介
3.1SPCE061A特性简介
SPCE061A是凌阳科技研发生产的性价比很高的一款十六位单片机,使用它可以非常方便灵活的实现
语音的录放系统,该芯片拥有8路10位精度的ADC,其中一路为音频转换通道,并且内置有自动增益电
路。
这为实现语音录入提供了方便的硬件条件。
两路10精度的DAC,只需要外接功放(SPY0030A)即
可完成语音的播放。
另外凌阳十六位单片机具有易学易用的效率较高的一套指令系统和集成开发环境。
在
此环境中,支持标准C语言,可以实现C语言与凌阳汇编语言的互相调用,并且,提供了语音录放的库函
数,只要了解库函数的使用,就会很容易完成语音录放,这些都为软件开发提供了方便的条件:
SPCE061A片内还集成了一个ICE(在线仿真电路)接口,使得对该芯片的编程、仿真都变得非常方
便,而ICE接口不占用芯片上的硬件资源,结合凌阳科技提供的集成开发环境(unSPIDE)用户可以利用
它对芯片进行真实的仿真;而程序的下载(烧写)也是通过该接口进行下载。
下图为SPCE061A单片机的内部结构框图:
3.2芯片特性简介
SPCE061A性能简介:
&1048698;16位u’nSP微处理器
&1048698;工作电压(CPU)VDD为3.0~3.6V,(I/O)VDDH为3.0~5.5V
&1048698;CPU时钟:
0.32~49.152MHz
&1048698;内置2K字SRAM
&1048698;内置32K字FLASH
&1048698;可编程音频处理
&1048698;晶体振荡器
&1048698;系统处于备用状态下(时钟处于停止状态),耗电仅为2uA/3.6V
&1048698;2个16位可编程定时器/计数器(可自动预置初始计数值)
&1048698;2个10位DAC(数/模转换)输出通道
&1048698;32位通用可编程输入/输出通道
&1048698;14个中断源可来自定时器A/B、时基、2个外部时钟源输入和键唤醒
&1048698;具备触键唤醒的功能
&1048698;使用凌阳音频编码SACM_S480可以播放压缩的语音资源
&1048698;锁相环PLL振荡器提供系统时钟信号
&1048698;32768Hz实时时钟
&1048698;7通道10位电压模/数转换器(ADC)和单通道声音模/数转换器
&1048698;声音模/数转换器输入通道内置麦克风放大器,并具有自动增益控制(AGC)功能
&1048698;具备串行设备接口
&1048698;具备低电压复位功能和低电压检测功能
&1048698;内置在线仿真电路接口
&1048698;具有WatchDog功能
3.3SPCE061A精简开发板
SPCE061A精简开发板(简称61板),是以凌阳16位单片机SPCE061A为核心的精简开发-仿真-
实验板,大小相当于一张扑克牌,是“凌阳科技大学计划”专为大学生、电子爱好者等进行电子实习、课
程设计、毕业设计、电子制作及电子竞赛所设计的,也可作为单片机项目初期研发使用。
61板除了具备单
片机最小系统电路外,还包括有电源电路、音频电路(含MIC输入部分和DAC音频输出部分)、复位电
路等,采用电池供电,方便学生随身携带!
!
!
使学生在掌握软件的同时,熟悉单片机硬件的设计制作,
锻炼学生的动手能力,也为单片机学习者和开发者创造了一个良好的学习条件和开发新产品的机会!
61板上有调试器接口(Probe接口)以及下载线(EZ_Probe)接口,分别可接凌阳科技的在线调试器、
简易下载线,配合unSPIDE,可方便地在板上实现程序的下载、在线仿真调试。
61板上的主要功能模块如下:
&1048715;SPCE061A单片机最小系统外围电路模块;
&1048715;电源输入模块;
&1048715;音频电路(包含MIC输入、DAC音频功放输出)模块;
&1048715;按键模块;
&1048715;I/O端口接口模块;
&1048715;调试、下载接口模块;
下图为61板的实物图:
3.4机器人模组简介
3.4.1机器人驱动电路图
机器人驱动电路图如所示:
机器人驱动电路采用功率较大的三极管搭成H桥来驱动电机,可以实现电机的正向旋转与电机的反向
旋转。
这些电机包括2个用于走路的电机与一个头部转向的电机。
另外用了一个三极管驱动单向旋转的电
机,包括加速电机与发射电机,驱动电路比较简单。
3.4.2主要功能
&1048715;通过语音命令对其进行控制;
&1048715;可以跳两首舞曲;
&1048715;走步功能、转向功能、转头功能;
&1048715;发射飞盘功能;
3.4.3机器人实物图
3.4.4注意事项
&1048715;机器人在发射飞盘时不要面向人,避免受伤
&1048715;机器人要轻拿轻放应该避免摔打
&1048715;在安装电池时注意正负极,否则容易烧坏机器人电机或主控制板
4系统总体方案介绍
用61板来控制机器人,使用了IOB7-IOB15资源,另外使用了扬声器。
如图4-1所示:
61板与机器人连线图,如图4-2所示:
系统主要由61板与机器人驱动电路构成。
61板作为整个系统的主控板,驱动电路驱动电机。
在主控板61板的控制下完成各个动作。
另外增加了特定人语音识别的功能,通过命令来控制机器人,使机器人
智能化.
5系统的硬件设计
5.1SPCE061A周边模块
5.1.1SPCE061A最小系统
SPCE061A最小系统当中,包括SPCE061A芯片外围的基本模块,有:
晶振输入模块(OSC)、锁相
环外围电路(PLL)、复位电路(RESET)、指示灯(LED)等,如下图所示。
本系统,有关SPCE061A单片机的最小系统的各个模块都做在61板当中,读者可以查阅61板的电路
原理图。
5.1.2电源模块
SPCE061A的内核供电为3.3V,而I/O端口可接3.3V也可以接5V,所以在电源模块(61板上)中有
一个端口电平选择跳线,如图中的J5,下图为61板上的电源模块图。
由于本系统需要的端口高电平为5V,所以图图5-2当中的J5跳线需要跳到1和2上。
5.1.3放音模块
交通灯换向时有语音提示。
放音利用的是SPCE061A内部的DAC,电路如图5-3所示。
图中的SPY0030
是凌阳公司的产品。
和LM386相比,SPY0030还是比较有优势的,比如LM386工作电压需在4V以上,
而SPY0030仅需2.4V(两颗电池)即可工作;LM386输出功率100mW以下,SPY0030约700mW。
其他特
性请参考SPY0030的数据手册。
5.1.4机器人硬件驱动电路
机器人硬件原理图如图5-4所示:
机器人驱动电路采用功率较大的三极管搭成H桥来驱动电机,可以实现电机的正向旋转与电机的反向
旋转。
这些电机包括2个用于走路的电机与一个头部转向的电机。
另外用了一个三极管驱动单向旋转的电
机,包括加速电机与发射电机,驱动电路比较简单。
6所用语音算法介绍
6.1语音识别算法简介
6.1.1语音识别概述:
根据对说话人的依赖程度,分为:
&1048698;特定人语音识别(SD):
只能辨认特定使用者的语音,训练->使用
&1048698;非特定人语音识别(SI):
可辨认任何人的语音,无须训练
根据对说话方式的要求,分为:
&1048698;孤立词识别:
每次只能识别单个词汇
&1048698;连续语音识别:
用者以正常语速说话,即可识别其中的语句
6.1.2语音识别原理
语音识别原理参看下图:
6.1.3SPCE061A实现语音识别的步骤:
SPCE061A实现语音识别的步骤,分为训练部分与识别部分,以及在训练、识别过程中中断的情况,
参考下图:
6.1.4语音识别API介绍
BSR_InitRecognizer(intAudioSource);
初始化识别器
BSR_Train(intWordID,intTrainMode);
语音训练
BSR_DeleteSDGroup(intSDGroupNo);
清除内存
BSR_PauseRecognizer()
暂停识别,但不释放中断等资源
BSR_ResumeRecognizer()
恢复被暂停的识别
BSR_GetRecognizerScore()
获得识别结果的可信度,返回值从-4096到4096,数值越大表示输入语音与特征模型的匹配度越高。
BSR_EnableCPUIndicator()
开启CPU状态监测功能。
开启该功能后,IOA0和IOA1将发出每16ms电平变化一次的方波。
BSR_DisableCPUIndicator()
关闭CPU状态监测功能。
BSR_ExportSDWord(intCommandID)
使用函数库时,会自动创建一个100Word的数组BSR_SDModel[100],可以把某条训练命令的特征模
型数据导出到这个数组中。
BSR_ImportSDWord(intCommandID)
可以把BSR_SDModel数组中的数据导入为某条语音命的特征模型。
unsignedintBSR_SDModel[];
配合BSR_ExportSDWord(intCommandID)与BSR_ImportSDWord(intCommandID)函数使用,此数组的作用相当于一个暂时的存储区。
6.2凌阳音频概述
语音处理大致可以分为A/D采样输入、编码处理、存储、解码处理以及D/A等;
SPCE061解决方案:
将A/D、编码算法、解码算法、存储及D/A作成相应的模块,对于每个模块都有其应用程序接口API,
用户只需了解每个模块所要实现的功能及其参数的内容,然后调用该API函数即可实现语音处理功能。
6.2.1凌阳音频压缩算法的编码标准
表6-1是不同音频质量等级的编码技术标准(频响):
凌阳音频压缩算法处理的语音信号的范围是200Hz-3.4KHz的电话话音。
6.2.2压缩分类
压缩分无损压缩和有损压缩。
无损压缩一般指:
磁盘文件,压缩比低:
2:
1~4:
1。
而有损压缩则是指:
音/视频文件,压缩比可高达100:
1。
凌阳音频压缩算法根据不同的压缩比分为以下几种(具体可参见语音压缩工具一节内容):
SACM-A2000:
压缩比为8:
1,8:
1.25,8:
1.5
SACM-S480:
压缩比为80:
3,80:
4.5
SACM-S240:
压缩比为80:
1.5
按音质排序:
A2000>S480>S240
6.2.3凌阳常用的音频形式和压缩算法
1)波形编码:
sub-band即SACM-A2000
特点:
高质量、高码率,适于高保真语音/音乐。
2)参数编码:
声码器(vocoder)模型表达,抽取参数与激励信号进行编码。
如:
SACM-S240。
特点:
压缩比大,计