微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于SPCE061A的语音识别系统的设计

基于SPCE061A的语音识别系统的设计

时间:01-07 来源:互联网 点击:

用矢量量化方法进行数据压缩。语音识别模型采用(DHMM)离散隐马尔可夫模型,利用Baum-welth重估算法、前向后向算法、viterbi算法来完成语音模板的训练和语音识别的任务。

图4 语音识别模块流程图

初始化子程序的作用是将微处理器中与语音识别相关的资源进行参数设置,使其实现为相应的功能,例如自动A/D变换等;

端点检测用来避免不必要的计算量,同时设定语音识别解码的起点和终点,防止无效搜索;预处理用来提高语音识别性能,增强稳健性的重要环节。预处理包括对原始语音信号的滤波、预加重、加窗、分帧等环节。同时还可能包含语音增强、噪声抵消、端点检测等等。预加重主要是为了提升高频部分,以弥补声音在唇部辐射时产生的高频部分的损失,可以使信号的频谱平坦,减少信号的动态范围;

特征提取就是对语音信号进行分析处理,去除对语音识别无关紧要的冗余信息,提取出对语音识别有用的重要信息;

矢量量化(VQ)是一种重要的信号压缩方法,它可以减少语音信号处理中所需要的大量的存储空间,并可以减少识别匹配的计算量;

语音信号本身是一个可观察的序列:它是由大脑中的(不可观察的)、根据言语需要和语法知识(状态选择)所发出的音素(词、句)的参数流,所以用离散隐马尔可夫模型(DHMM)来模拟语音信号。

3.2语音播放的模块设计

为了有一个友好的人机交互的功能,该系统还必须语音回放。语音数据的保存形式是以台湾凌阳公司开发的几种语音压缩编码算法来实现的。同时,凌阳公司还提供了相应的语音压缩与解压算法的API接口,可以方便开发人员进行编程开发工作。

先用凌阳Compress Tool事先把所需要的语音信号录制好,用凌阳压缩工具进行压缩,这样就可以得到所要播报的语音了。语音播放程序调用凌阳提供的音频编码算法库中的API函数,采用凌阳压缩算法中的SACM_S480进行自动放音,其语音自动播放程序流程图如下图5所示。语音播放是在中断服务程序中执行,本系统使用了FIQ_TMA中断源。语音播放通常会出现两种情况:一是系统能正确识别语音,此时的识别后处理是通过语音播报出正确的结果;二是系统不能正确识别语音,则播报出不能识别的原因。语音回放流程图如图5所示。

图5 语音回放流程图

4 总结

本文的创新点是设计的提出的嵌入式非特定人语音识别系统所选用的SPCE061A微处理CPU最高时钟可达到49MHZ,因此在处理复杂的数字信号方面它可以和DSP相媲美,但其价格却要比专用的DSP芯片廉价,并且它具有较强的中断处理能力,系统支持10个中断向量及10余个中断源,适合实时语音处理,并具有双通道10位DAC方式的音频输出功能,配置带自动增益控制功能(AGC)的麦克风输入方式,为语音处理带来了极大便利;其次,采用了离散隐马尔可夫模型来模拟语音信号,并且随着DHMM在语音模板的训练阶段计算复杂度的增加,识别阶段的计算负担相应的大大减少,对于特定人、小词汇量的语音控制系统己能满足要求。此项目投入市场后,半年内产生50余万的经济效益。

参考文献

[1]薛均义,张延斌,虞鹤松等.凌阳16位单片机原理及应用[M].北京航空航天大学出版社2003.72~89

[2]易克初等.语音信号处理.国防工业出版社[M].2000.11-15 ;154-172

[3]胡航.语音信号处理.哈尔滨工业大学出版社[M].2000.88-120

[4]胡凯,张颖超.生化分析仪的设计及与PC机的通信[J].微计算机信息.2006,9-1:20-22

[5]马鸿文.基于AT89C52单片机的自动存取柜的设计与实现[J].微计算机信息,2006,7-2:10-13.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top