语音控制原理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
语音控制原理
办公电器语音控制系统总体架构框图如图1所示,它由语音采集模块、语音前级处理模块、语音训练模块、语音识别模块、语音提示模块和输出控制模块组成。
(一)语音采集模块
语音采集模块主要完成信号调理和信号采集等功能,它将原始语音信号转换成语音脉冲序列,因此该模块主要包括声/电转换、信号调理和采样等信号处理过程。
(二)语音前级处理模块
语音前级处理模块的主要功能是滤除干扰信号、提取语音特征矢量,并将提取的语音特征矢量量化成标准语音特征矢量,因此该模块主要包括语音预处理、特征提取、矢量量化等语音信号处理过程。
(三)语音训练模块
语音训练模块的主要功能是将多次采集、提取的语音特征标准矢量进行概率统计,提取说话人的最佳语音特征标准矢量,防止因说话人心情、环境等因数引起提取特征参数不准确而影响语音识别效果,因此该模块主要包括概率统计、参数评估等处理过程,用隐马尔可夫模型(HMM模型)实现。
图1 语音控制系统总体设计框图
(四)语音识别模块
语音识别模块的主要功能是将重新采集的标准语音特征矢量与语音模板库中的语音模型进行比较,判断当前语音命令功能,因此该模块主要包括矢量比较与参数评估两个过程。(五)语音提示模块
语音提示模块的主要功能是根据语音识别的结果提示用户进行相关操作或说明当前完成的功能,因此该模块主要包括调用提示语音资源文件、D/A转换、信号放大等语音处理过程。
(六)输出控制模块
输出控制模块的主要功能是根据语音识别的结果输出相应的控制信号,实现电灯、电视、风扇等办公电器的语音控制功能,因此该模块主要包括信号驱动、输出控制器和被控对象。(七)语音模板库
语音模板库的主要功能是存储训练后的最佳标准语音特征矢量。
三、系统平台构建
本设计以办公电器为控制对象,充分利用凌阳单片机SPCE061A提供的内/外部硬件资源、库函数和微机提供的录音机工具,构建了办公电器语音控制的系统平台。
本设计采用的凌阳单片机内部资源丰富,且具有体积小、性能好、可靠性高等特点,在嵌入式语音控制系统得到了广泛应用,尤其是丰富的语音功能库函数,更是开发者的首选[2]。
办公电器语音控制系统硬件构建平台如图2所示。
图2 办公电器语音控制系统硬件构建平台
本设计利用凌阳IDE2.0开发环境及其提供的C语言编写,系统配套的软件构建平台如图3所示。
图3 办公电器语音控制系统软件构建平台
系统软件构建平台主要使用到初始化存储器函数BSR_DeleteSDGroup(0)、播放提示语音函数PlayRespond()、语音训练命令函数TrainWord()、识辨器初始化函数BSR_InitRecognizer(AudioSource)和获取语音识别结果函数BSR_GetResult(void),各函数主要功能如下:
(一)BSR_DeleteSDGroup(0)
该函数的主要功能是初始化存储器SRAM。参数“0”代表选择SRAM,并初始化。其返回值作为判断SRAM初始化成功的标志,返回0代表初始化成功,返回-1代表初始化失败。(二)PlayRespond(RespondID)
该函数的主要功能是播放提示音,“RespondID”代表播放的语音段(用计算机采集)。(三)TrainWord(int WordID,int TrainMode)
该函数的主要功能是语音训练,其中“WordID”表示命令序号,“TrainMode”表示训练次数(有ONCE和TWICE两种选择)。语音训练主要用HMM模型实现。
(四)BSR_InitRecognizer(AudioSource)
该函数的主要功能是初始化语音识别器,“AudioSource”表示语音资源来源,有BSR_MIC(话筒输入)BSR_LINE_IN(模拟电压输出)两种选择,这里选择BSR_MIC。
(五)int BSR_GetResult(void)
该函数的主要功能是获取语音识别结果,若识别成功返回命令序号,否则返回0(无法识别)、-1(识别器为未初始化)或-2(识别不合格)。该函数的本质是一个比较、判断器,即将重新采集的语音标准特征矢量与训练产生的最佳标准特征矢量进行比较,并根据比较结果输出相应的控制信号。