1引言语音识别是机器通过识别和理解过程把人类的语音信号转变为相应的文本或命令的技术[1],属于多维模式识别和智能计算机接口的范畴。这是一门交叉学科。近年来,语音识别技术取得显著进步,开始从实验室走向市场。人们预计,未来10年内,语音识别技术将进入工业、家电、通信、汽车电子、医疗、家庭服务、消费电子产品等各个领域。可以说语音识别技术已经发展的相对成熟。本文提出一种基于基于Matlab的语音识别系统,通过实验验证其基本能够实现识别简单语音的任务。2系统功能介绍及设计实现本文系统以Matlab软件为平台,主要功能有录制语音、播放语音、预处理、分段滤波、特征提取和最后的识别语音。本系统的开发流程如图1所示。图1语音识别系统流程图根据本文系统的各个功能,将其分成三个大的核心模块。分别是采集模块、处理模块和识别模块。2.1采集模块1)录音语音Matlab软件应用waverecord函数可以实现录音功能。2)播放语音播放前面的语音WAVE文件,并生成其波形图和语谱图,为后续处理提供依据。2.2处理模块1)预处理对前面录制的语音信号进行预处理工作,包括:对语音信号去噪和端点检测处理。(1)去除噪声:就是尽量去除语音信号中无用信息(噪声),而保留其中的有用信息(语音)。(2)语音的端点检测就是确定语音的起点和终点,从语音信号中排除无声段[2],为后续处理工作提供操作对象。2)分段滤波滤波器[34]是对输入信号的频率具有选择性的一个二端口网络,它允许某些频率段(通常是某个频率范围)的信号通过,而其他频率的信号幅值均要受到衰减,从而将不同频率的语音信号分离开,使得识别器能够更好的识别语音信号。3)特征提取提取语音信号的MFCC参数作为特征参数[5]。其计算流程如下:(1)预加重滤波器在语音参数计算之前,一艘要将其通过一个预加重滤波器。在这通过传递函数为H(z)=1-0.95z-1的数字滤波器对语音信号进行预加重滤波。其调用格式为:x=filter([1-0.95],1,x)其中,x为要加重的语音信号。(2)倒谱提升窗口在为每帧数据计算出K阶MFCC参数后,通常还要为这K个系数分别乘以不同的权系数。实际上是一个短的窗口:c珋m=wmcm(1)wm=1+K2sin(m)K,1mK(2)(3)差分倒谱参数可以用下面的公式来求得差分参数:d(n)=ki=-k槡i2ki=-kic(n+i)(3)上面式中,k为常数,c和d为一帧语音信号参数。按此公式计算一次将得到一阶MFCC参数,计算两次得到二阶差分参数,依次类推,计算n次,将得到n阶差分参数。为了计算方便和相对准确,本文分别计算语音信号MFCC参数及其一阶差分参数,再将二者合并,构成一个特征向量,作为语音信号的最终特征参数。2.3识别模块1)模式匹配建好数据库后,对待识别的语音信号提取特征参数后,将其特征参数[6]与库中数据按照DTW算法进行匹配,如果找到相似度最接近的模板,则该模板就是待识别的语音,并在下面窗口中输出语音信号;否则,将该特征参数存入数据库,并输出“库中无此语音!”。2)输出结果按“输出结果”按钮,输出前面的识别结果。输出结果有两种,待识别语音特征参数与数据库中模板特征参数的相似度符合条件,则可以识别,输出识别结果,如:待识别语音为“1”;否则,输出“库中无此语音!”。2.4后台数据库1)数据库的任务:根据工作需求存储语音信号特征参数,并提供后续的查询、输出工作。2)数据库中基本表的功能:根据数据库所要完成的功能建立相应的表。在本系统中,后台数据库有两个基本表:语音表和特征参数表,前者存储语音参考模板,后者存储
Labview实现智能语音识别
转载文章标签 Labview实现智能语音识别 基于matlab的语音识别系统 语音信号 数据库 语音识别 文章分类 NLP 人工智能