基于BP神经网络的语音识别技术学习资料_第1页
基于BP神经网络的语音识别技术学习资料_第2页
基于BP神经网络的语音识别技术学习资料_第3页
基于BP神经网络的语音识别技术学习资料_第4页
基于BP神经网络的语音识别技术学习资料_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于BP神经网络的语音识别技术目录一.语音识别概述二.语音识别流程三.语音信号预处理四.语音识别特征提取五.BP神经网络原理六.语音识别程序设计三.语音信号预处理1.预加重语音从嘴唇辐射会有6dB/oct的衰减,因此在对语音信号进行处理之前,希望能按6dB/oct的比例对信号加以提升(或加重),以使得输出信号的电平相近似。可采用以下差分方程定义的数字滤波器:( )( )(1)y nx nax n式中,系数常在式中,系数常在0.9至至1之间选取。之间选取。2.语音信号的分帧 语音信号是一种典型的非平稳信号,它的均值函数u(x)和自相关函数R(xl,x2)都随时间而发生较大的变化。但研究发现,语音

2、信号在短时间内频谱特性保持平稳,即具有短时平稳特性。因此,在实际处理时可以将语音信号分成很小的时间段(约1030ms),称之为“帧”。 在语音信号数字处理中常用的窗函数是矩形窗、汉明窗等,它们的表达式如下(其中N为帧长):矩形窗:汉明窗:3端点检测基于短时能量和短时过零率的在该算法中,短时能量检测可以较好地区分出浊音和静音。对于清音,由于其能量较小,在短时能量检测中会因为低于能量门限而被误判为静音,短时过零率则可以从语音中区分出静音和清音。将两种检测结合起来,就可以检测出语音段及静音段。 下图是我本科课程设计中一个关于端点检测的程序GUI界面,其中语音是教材中的示例语音“他去无锡市”,我通过c

3、ooledit在示例语音中加入了白噪音,可以看出清音段混杂在噪音中,如果短时能量的门限值选取过高可能会屏蔽掉清音段,所以加入过零率能更好的识别出清音段。由此图可以看出门限值选取的合不合理很大程度上影响到端点识别的效果四.语音识别特征提取特征提取:即对不同的语音寻找其内在特征,由此来判别出未知语音,所以每个语音识别系统都必须进行特征提取。语音信号的特征主要有时域和频域两种。 时域特征:短时平均能量、短时平均过零率、共振峰、基音周期等; 频域特征:线性预测系数(LPC)、LP倒谱系数(LPCC)、 Mel频率倒谱系数(MFCC)等。 本实验选取MEL频率倒谱系数(MFCC)进行提取特征参数。 通过

4、阅读文献了解到基于DTW算法和MFCC就已经可以做到语音的识别了,但是泛化性比较差,中间测试过一个相关的程序只能识别特定的语音片段,更换说话人后识别效果很差。五.BP神经网络原理 BP神经网络又称误差反向传递神经网络。提取了语音的特征参数后,靠神经网络中大量的连接权对输入模式进行非线性运算,产生最大兴奋的输入点就代表了输入模式对应的分类。神经网络的连接权系数是在使用中根据识别结果的正确与否不断的进行自适应修正。单隐层网络的整个体系结构如图所示,分为输入层、隐藏层和输出层,其中隐藏层根据具体情况的需要,可以是一层结构也可为多层结构。六.语音识别程序设计数字的语音识别数字的语音识别实验目的实验目的

5、:识别1 3 5三个数字(选择135是因为135三个数字的识别率最高)训练样本训练样本:每个数字选取5个样本进行训练(均为同一个人的样本)测试样本测试样本:每个数字选取3个样本进行识别测试(均为同一个人的样本)T1 = 1 0 0 % 代表1T3 = 0 1 0 % 代表3T5 = 0 0 1 % 代表5文件文件内容内容备注备注. /pic该文件夹中保存有实验效果分析结果的图片. /S该文件夹中为所有的训练样本夹内各个文件夹的名字代表其内音频的内容,例如名字为1的文件夹中所有的音频内容均为1的发音. /T该文件夹中为所有的测试样本夹内格式同上. /enframe.m该函数将输入向量分为固定长度

6、固定重叠量的帧Matlab语音工具箱组件. /melbankm该函数为Mel滤波器Matlab语音工具箱组件. /mfcc.m该函数求出输入数据的mfcc系数12维mfcc系数. /MfccProcess.m将多组mfcc系数取平均对mfcc系数的预处理. /SampleCreate.m将取所有音频的mfcc系数处理成神经网络函数所需的输入格式. /Main.c主程序函数,在这里设置参数,控制运行下表格为所用到的matlab程序及其功能:netBP = newff(PR,30,10,3,tansig,tansig,tansig,trainbfg);%使用TRAINSIG,即共轭梯度法,其好处是当训练不收敛时,它会自动停止训练,而且耗时较其他算法(TRAINLM, TRAINGD)少,也就是收敛很快netBP.trainParam.epochs = 100; %设置训练步数 net tr = train(netBP,PS,T); %网络训练 神经网络训练: Y =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论