单片机实现智能家居的远程控制
4 语音识别技术简介
语音识别技术就是一种让机器通过识别和理解过程把语音信号转变成相应的文本或命令的技术。机器对语音进行识别、处理的过程与人对语音进行识别、处理的过程基本上是一致的。目前主流的语音识别技术是基于统计模式识别的基本理论。一个完整的语音识别系统可大致分为语音特征提取、声学模型与模式匹配(识别算法)和语义理解三部分。其基本原理如下图所示。
从图中我们可以看出语音识别一般分为两个步骤:
第一步是系统“学习”或“训练”阶段,这一个阶段的任务是建立识别基本单元的声学模型以及进行文法分析的语言模型, 即构建参考模式库。第二步是“识别”或“测试”阶段,根据识别系统的类型选择能够满足要求的识别方法,采用语音分析方法分析出这种识别方法所要求的语音特征参数,按照一定的准则和测度与参考模式库中的模型进行比较, 通过判决得出结果。
在本应用中,语音识别技术方面采用凌阳SPCE061A作为关键器件,同时凌阳公司提供bsrv222SDL.lib 库函数支持,在使用时通过调用库函数里相关的API 函数来实现所要求的功能。
5 主要硬件模块设计
下面主要对主控制器和语音提示电路作介绍。
5.1 主控制器
系统主控制器主要由MIC 输入模块、控制模块、存储模块、功放和喇叭输出模块四部分组成,其结构如下。
(1) 控制单元与语音识别:由SPCE061A 单片机完成。
(2) MIC 输入模块:SPCE061A 的A/D 转换器有8个通道,其中有一个通道是MIC_IN 输入,专门对语音信号进行采样。选用驻极体话筒,其偏压由SPCE061A 的VMIC 脚提供。该模块电路比较简单,只需外接三个电阻和电容对电流信号进行滤波就可以了。
(3) 功放和喇叭输出模块:SPCE061A 提供双通道10 位的D/A 输出AUD1、AUD2,每个通道的输出能力是30mA。为了能驱动扬声器放音,我们将输出电路设计为由负载电阻和三极管8050 组成的功放电路。
(4) 存储模块:由于芯片内置的存储空间有限,为了运行复杂的识别程序,必须通过扩展必要的存储芯片来完成系统的功能。在本系统中我们采用SPBA01B 和W29C040 来对SPCE061A 进行Memory 扩展。
5.2 语音提示单元
本系统主要由语音识别电路和语音提示电路来完成人机交互,其中语音提示电路的电路原理图如图4 所示。
图4 语音提示电路
数码语音芯片选用的是单片语音录放集成电路ISD25120,它具有抗断电、音质好、使用方便、无需专用的开发系统等优点。录音时间为120s,能重复录放达10 万次。芯片采用多电平直接模拟量存储专利技术,省去了A/D、D/A 转换器。每个采样值直接存储在片内单个存储单元中, 因此能够非常真实、自然地再现语音、音乐、音调和效果声。
SPCE061A的IOA11~IOA15 与ISD25120 的地址线相连,用以设置语音段的起始地址。IOB11 和IOB13 用以控制录放音状态。IOB12 连接一按键,供录放音测试时使用。ANA IN 与ANA OUT 是模拟信号的输入端和输出端,它们之间连接耦合电容,通常取值为0.22~1uF。
语音信号由SP+ 和SP- 端经耦合器耦合到电话线或由扬声器直接播放。录音时,单片机通过口线设置语音段的起始地址,再使端PD 端和P/ R 端和CE 为低电平启动录音。结束时,单片机又让CE 端回到高电平,即完成一段语音的录制。放音时,根据需要播放的语音内容,找到相应的语音段起始地址,并通过口线送出。再将P/ R端设为高电平, PD 端设为低电平,并让CE 端产生一负脉冲启动放音,这时单片机只需等待ISD25120 的信息结束信号,即低电平EOM 的产生。结束信号为一负脉冲,在负脉冲的上升沿, 标志着该段语音播放结束。
6 软件设计
6.1 系统软件结构
软件的设计不仅要考虑到各个模块实现的功能,而且要对整个系统进行有效的管理和协调。在此基础之上,才能够从整个系统的角度全面完善地实现系统所需要的各项功能。本系统的软件主要包括一个主程序和四个子程序, 其总体结构如下图所示。
单片机相关文章:单片机教程
单片机相关文章:单片机视频教程
单片机相关文章:单片机工作原理
评论