基于非特定人语音识别芯片的技术方案

发布者:心愿实现最新更新时间:2014-05-06 来源: 21ic关键字:ATmega168  语音识别  MCU 手机看文章 扫描二维码
随时随地手机看文章
0 引言

随着高新技术在军事领域的广泛运用,武器装备逐步向高、精、尖方向发展。传统的军事训练由于训练时间长、训练费用高、训练空间窄,常常不能达到预期的训练效果,已不能满足现代军事训练的需要。为解决上述问题,模拟训练应运而生。

为进一步提高训练效果,本文利用智能语音交互芯片设计了某模拟训练器的示教与回放系统。示教系统为操作人员生动的演示标准操作流程及相应的操作现象,极大地缩短了对操作人员的培训时间,提高了培训效果。回放系统通过记录操作训练过程中各操作人员的口令、声音强度、动作、时间、操作现象等,待操作训练结束后通过重演训练过程,以便操作者及时纠正自己的问题。示教系统也可理解为对标准操作训练过程的回放。该系统不需要虚拟现实技术的支持,在小型的嵌入式系统上就可以实现。

1 系统原理

该模拟训练器由一台测控计算机和多台从设备组成。如图1所示。在此仅对一台从设备进行介绍,其硬件系统主要由测控计算机、Arduino mega2560 控制器、语音识别单元、声强检测单元、语音合成单元、面板控制单元、仪器面板等组成。面板控制单元较为复杂,包含多种控制电路,在模拟训练中负责该从设备在Arduinomega2560 控制器的控制下完成整个训练过程,在示教与回放系统中完成对刚才操作训练操作现象的重演,其具体电路设计在此不做介绍。

系统硬件结构框图

语音识别单元负责识别操作人员的操作口令;声强检测单元负责检测声强大小并以此作为判断是哪台从设备操作人员口令的依据;Arduino mega2560控制器负责监视仪器面板各元件的状态来识别操作人员的动作,从而完成对操作训练过程的记录。各仪器的操作现象根据操作动作事先编制无需记录。在操作回放过程中,测控计算机根据所记录的数据,通过控制相应从设备的Arduino mega2560控制器重现所记录的操作过程。

2 单元系统设计

2.1 语音识别单元设计

目前,语音识别技术的发展十分迅速,按照识别对象的类型可以分为特定人和非特定人语音识别。特定人是指识别对象为专门的人,非特定人是指识别对象是针对大多数用户,一般需要采集多个人的语音进行录音和训练,经过学习,从而达到较高的识别率。

本文采用的LD3320语音识别芯片是一颗基于非特定人语音识别(Speaker?Independent Automatic SpeechRecognition,SI?ASR)技术的芯片。该芯片上集成了高精度的A/D 和D/A 接口,不再需要外接辅助的FLASH 和RAM,即可以实现语音识别、声控、人机对话功能,提供了真正的单芯片语音识别解决方案。并且,识别的关键词语列表是可以动态编辑的。其语音识别过程如图2所示。

语音识别过程

语音识别单元采用ATmega168 作为MCU,负责控制LD3320完成所有和语音识别相关的工作,并将识别结果通过串口上传至Arduino mega2560 控制器。对LD3320芯片的各种操作,都必须通过寄存器的操作来完成,寄存器读写操作有2种方式(标准并行方式和串行SPI方式)。在此采用并行方式,将LD3320的数据端口与MCU的I/O口相连。其硬件连接图如图3所示。[page]

LD3320与ATmega168连接图

语音识别流程采用中断方式工作,其工作流程分为初始化、写入关键词、开始识别和响应中断等。MCU的程序采用ARDUINO IDE编写[5],调试完成后通过串口进行烧录,控制LD3320完成语音识别,并将识别结果上传至Arduino mega2560控制器。其软件流程如图4所示。

软件流程图

2.2 声强检测单元设计

在进行语音识别时需要判断是某一台从设备操作人员的口令,为此设计声强检测单元电路,该电路仅需能够判断出相对声强的大小,无需检测声级,对检测精度要求较低。

电容式MIC声音传感器将外部声音信号转换成电信号,经NE5532放大电路进行放大,将输入的微弱音频信号转换为具有一定幅值的电压信号,该电压信号经AC/DC有效值转换电路进行装换后进行再次放大,最终由Arduino mega2560控制器的A/D进行采样。图5给出了声强检测单元的电路原理图,其中D1 端接Arduinomega2560控制器的A/D,INT1端接Arduino mega2560控制器的外部中断1.当外界声音信号大于预设的阈值时,三极管导通INT1端由高电平变为低电平产生外部中断,控制器响应中断并进行A/D 采样,采样数据经均值滤波后保存,待测控计算机查询时上传该声强数据。

声强检测电路原理

2.3 语音合成单元设计

TTS(Text To Speech)文本转语音技术是人机智能对话发展的趋势。基于TTS技术的语音系统无需事先录音就能够随时根据查询条件查出并合成语音进行播报,从而大大减少了系统维护的工作量。利用此技术,通过MCU或者PC机就能控制语音芯片发音[4]。

本文采用SYN6658中文语音合成芯片进行语音合成。SYN6658 通过UART 接口或SPI接口通信方式,接收待合成的文本数据,实现文本到语音(或TTS语音)的转换[6]。控制器和SYN6658 语音合成芯片之间通过UART接口连接,控制器通过串口通信向SYN6658语音合成芯片发送控制命令和文本,SYN6658语音合成芯片把接收到的文本合成为语音信号输出,输出的信号经LM386 功率放大器进行放大后连接到喇叭进行播放。[page]

如图6所示。

语音合成电路原理框图

SYN6658语音合成电路采用芯片硬件数据手册提供的典型应用电路进行设计[5],在此不做介绍,功率放大电路采用美国国家半导体生产的音频功率放大器LM386进行放大。

在进行语音合成时首先进行初始化,包括发音人选择、数字处理策略、语速调节、语调调节、音量调节等。

由于该系统要模拟多人发音,所以不同的从设备设置不同的发音人及语调与语速以便于区分。初始化后等待测控计算机的语音合成命令,待收到命令后芯片会向上位机发送1字节的状态回传,上位机可根据这个回传来判断芯片目前的工作状态。语音合成流程图如图7所示。

语音合成流程图

3 系统软件设计

示教与回放系统的软件设计包括测控计算机的软件设计和各从设备Arduino mega260控制器的软件设计。

测控计算机是整个系统的控制核心,其软件采用C#进行编写,在示教与回放系统中主要是对操作数据的记录以便根据所记录的数据对操作过程进行精确回放,需要记录的数据包括:各从设备操作人员的操作口令,操作动作,口令及动作时间,各操作对应的操作现象。为简化记录数据,事先编制好各事件代码,记录过程只记录代码,大大提高程序效率。建立结构体如下:

结构体程序

在操作训练过程中测控计算机每隔50 ms 对下位机进行控制及轮询,并记录反馈数据,在数据记录时以50 ms 为一个单位。采用定时器对时间进行控制。在回放过程中首先比对当前时间和所记录的时间,当所记录的时间与当前时间吻合时测控计算机控制下位机执行该事件,完成事件回放。

Arduino mega2560控制器负责接收测控计算机的控制指令并执行指令,读取语音识别结果,对声强数据采集和处理,控制语音合成单元进行语音合成等。Arduinomega2560 控制器采用串口中断的方式进行命令接收。

只有正确接收到命令才会执行并回传结果,若测控计算机在限定时间内未收到回传结果则表明发生错误,测控计算机需重新发送。数据接收流程图如图8所示。

数据接收流程图

4 总结

本文利用智能语音芯片设计了某模拟训练器的示教与回放系统,该系统不需要现在流行的虚拟现实技术的支持,仅在MCU 的控制下就可以运行。该系统也可以在小型的便携式设备上实现,具有良好的应用前景。

关键字:ATmega168  语音识别  MCU 引用地址:基于非特定人语音识别芯片的技术方案

上一篇:感应式电能表的智能化改进
下一篇:基于ATmega32的便携式车门压力测试仪的研制

推荐阅读最新更新时间:2024-03-16 13:39

51单片机学习实践:用NTC电阻测温并显示在TM1637数码管
STC15单片机 实验名称:使用NTC电阻测量温度 实验内容: 使用NTC电阻测量温度并显示在数码管上 读取DS18B20模块测量温度作为参考 实验器材: STC15W408AS_DIP16 x1 DS18B20 x1 TM1637数码管 x1 1%精度 热敏电阻NTC-MF52-103/3435 10K 3435±1 x1 金属膜电阻 1/4W 1% 五色环 10千欧 10K x1 在STC15单片机上使用NTC(10K)电阻测量温度的基本方法: 电压-- 电阻-- 温度 1、先有一个准确且稳定的参考电压,外部可以用TL431A,内部可以使用STC15系列芯片自带的
[单片机]
51<font color='red'>单片机</font>学习实践:用NTC电阻测温并显示在TM1637数码管
利用单片机实现极简单的测温电路
   单片机 在电子产品中的应用已经越来越广泛,在很多的电子产品中也用到了温度检测和温度控制,但那些温度检测与控制电路通常较复杂,成本也高,本文提供了一种低成本的利用单片机多余I/O口实现的温度检测电路,该电路非常简单,且易于实现,并且适用于几乎所有类型的单片机。其电路如下图所示:   图中:   P1.0、P1.1和P1.2是单片机的3个I/O脚;   RK为100k的精密电阻;     RT 为100K- 精度 为1%的热敏电阻;   R1为100Ω的普通电阻;   C1为0.1μ的瓷介电容。   其工作原理为:   1.先将P1.0、P1.1、P1.2都设为低电平输出,使C1放电至放完。   2.
[单片机]
μCOS-II在ATmega128单片机上的移植和开发
引 言 本文介绍μC/OS-Ⅱ移植到ATMEL公司的8位微控制器ATmega128上的过程。所谓移植,就是使一个实时内核可以在某个微处理器上运行,并在此基础上进行驱动程序开发,使之成为一个实用的嵌入式系统。嵌入式系统包括了硬件和软件两部分,由于系统硬件资源的限制和实际应用的要求,应用系统对软件的基本要求是体积小,执行速度快,具有较好的裁减性和可移植性。嵌入式系统的软件一般由嵌入式操作系统和应用软件组成,通过在操作系统之上开发应用软件,可以屏蔽掉很多底层硬件细节,使得应用程序调试方便,移植简单,易维护,同时开发周期也短。多数实时操作系统为用户提供一些标准的API函数,程序开发人员可以利用这些API函数进行应用程序开发。但是现在商用
[单片机]
51单片机实现在在定时中断里动态扫描数码管的程序
一、使用proteus绘制简单的电路图,用于后续仿真 二、编写程序 /******************************************************************************************************************** ---- @Project: LED-74HC595 ---- @File: main.c ---- @Edit: ZHQ ---- @Version: V1.0 ---- @CreationTime: 20200605 ---- @ModifiedTime: 20200605
[单片机]
51<font color='red'>单片机</font>实现在在定时中断里动态扫描数码管的程序
单片机检测交流电掉电程序(数码分段开关)
灯饰配件中有一种控制器叫数码分段开关,基本工作原理是利用墙壁开关通断电来实现对多种负载的轮流亮灭,这其中就涉及到单片机如何检测交流电掉电。首先,要把交流电的同步信号提取出来,形成单片机能识别的低压信号,一般有2中方法,一种是直接利用电阻分压法,把同步信号提取(适合非隔离型电路)。另外一种方法是利用光耦提取隔离的交流信号。2种方法如下所示: 光耦隔离取样电路 电阻分压取样电路 所取得的交流信号如下图: 本程序实现的功能是,第一次打开关,L1亮,L2灭,第二次打开关,L1灭,L2亮,第三次打开关,L1,L2全亮,第四次打开关,L1,L2全灭,如此循环。那么,单片机检测交流电掉电,每隔一定时间检测一次交流信号输入口,如果是
[单片机]
<font color='red'>单片机</font>检测交流电掉电程序(数码分段开关)
在遥控编程系统中应用微控制器实现嵌入式ISP的软硬件设计
测温结果数据比较 1 XC9500系列CPLD器件及其ISP性能 XC9500系列CPLD器件是由多个功能块(FB)和IO块(IOB)组成,可用开关矩阵Fast CONNECT完全互连的子系统,IOB提供输入和输出的缓冲,每个FB提供具有36个输入和18个输出的可编程逻辑容量。Fast CONNECT开关矩阵连接所有的FB的输出和FB的输入,对于每个FB,12至18个(取决于封装的引脚数)输出和有关的输出使能信号直接驱动IOB。 所有XC9500系列CPLD器件都是系统内编程的,最小达一万次编程/擦除次数,支持扩充的IEEE 1149.1边界扫描标准,XC9500的结构特性着重满足系统内编程的要求,增强的引脚锁定能力
[单片机]
在遥控编程系统中应用<font color='red'>微控制器</font>实现嵌入式ISP的软硬件设计
揭晓CES可穿戴创新产品超长电池续航的秘密
可穿戴设备无疑是今年年初美国赌城消费电子展(CES)的重头戏之一,不过有分析人士认为,“CES 2014:智能穿戴有热点无亮点”,原因在于没有一款产品能让消费者一见钟情。这算是给可穿戴设备泼了冷水吗?其实,情况并没有这么糟糕。荣获“CES 2014创新设计与工程奖”的Magellan Echo智能运动手表就是一个亮点,因其创新设计及优异续航力(可以在单节CR2032纽扣电池供电条件下运行长达11个月)而脱颖而出。 这听起来有点不可思议,在单节CR2032纽扣电池供电条件下运行长达11个月!并且性能还远超过其他同类设备,也就意味着Echo并不是通过牺牲性能而换取超低功耗。莫非是能量不守恒了?当然不是!Silicon Lab
[手机便携]
揭晓CES可穿戴创新产品超长电池续航的秘密
Philips推出高速USB微控制器系列产品
Philips公司日前推出基于ARM的高速USB微控制器系列LPC2800系列。LPC2800是首个能提供有最大标准兼容和片内高速480Mbps收发器(PHY)的USB2.0器件,同时是首个用单颗电池工作的器件。这种独特的性能允许嵌入系统设计工程师能在产品中增加新的功能如PC外设,SD存储器卡,智能卡阅读器和其它以电池为能源的USB设备。 LPC2800系列集成了许多其它高性能的外设特性,它简化了系统设计,包括1MB闪存和8KB缓存,使外接存储器能有效地工作,它的带PGA的Sigma-Delta 16位ADC能提高分辨率,LPC2800能用单节AA 1.5V电池供电,或使用USB电缆,或外接电源工作,从而最大化电池寿命和设计灵活
[新品]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved