【神经网络学习笔记】语音识别-matlab语音信号预处理
来源:互联网 发布:复制淘宝口令怎么使用 编辑:程序博客网 时间:2024/06/11 10:01
要让电脑识别语音信号,必须经过一系列的处理。
一.录制一段音频,wav格式
二.用倒谱系数法提取特征值。
MFCC,Mel频率倒谱系数的缩写。Mel频率是基于人耳听觉特性提出来的,它与Hz频率成非线性对应关系。Mel频率倒谱系数(MFCC)则是利用它们之间的这种关系,计算得到的Hz频谱特征,MFCC已经广泛地应用在语音识别领域。
我这里用的是一个语音工具箱voicebox,里面有一个函数melcepst.m可以方便的求MFCC。
关于提取的详细过程:
预滤波:CODEC前端带宽为300-3400Hz的抗混叠滤波器。
A/D变换:8kHz的采样频率,12bit的线性量化精度。
预加重:通过一个一阶有限激励响应高通滤波器,使信号的频谱变得平坦,不易受到有限字长效应的影响。
分帧:根据语音的短时平稳特性,语音可以以帧为单位进行处理,实验中选取的语音帧长为32ms,帧叠为16ms。
加窗:采用哈明窗对一帧语音加窗,以减小吉布斯效应的影响。
快速傅立叶变换(Fast Fourier Transformation, FFT):将时域信号变换成为信号的功率谱。
三角窗滤波:用一组Mel频标上线性分布的三角窗滤波器(共24个三角窗滤波器),对信号的功率谱滤波,每一个三角窗滤波器覆盖的范围都近似于人耳的一个临界带宽,以此来模拟人耳的掩蔽效应。
求对数:三角窗滤波器组的输出求取对数,可以得到近似于同态变换的结果。
离散余弦变换(Discrete Cosine Transformation, DCT):去除各维信号之间的相关性,将信号映射到低维空间。
谱加权:由于倒谱的低阶参数易受说话人特性、信道特性等的影响,而高阶参数的分辨能力比较低,所以需要进行谱加权,抑制其低阶和高阶参数。
倒谱均值减(Cepstrum Mean Subtraction, CMS):CMS可以有效地减小语音输入信道对特征参数的影响。
差分参数:大量实验表明,在语音特征中加入表征语音动态特性的差分参数,能够提高系统的识别性能。在本系统中,我们也用到了MFCC参数的一阶差分参数和二阶差分参数。
短时能量:语音的短时能量也是重要的特征参数,本系统中我们采用了语音的短时归一化对数能量及其一阶差分、二阶差分参数。
关于语音工具箱的使用:
1.首先下载并导入工具箱
2.工具箱里有个叫melcepst的函数,查看帮助发现这么一行
Simple use: (1) c=melcepst(s,fs) % calculate mel cepstrum with 12 coefs, 256 sample frames
s speech signal
fs sample rate in Hz (default 11025)
这里默认的是将音频提取成12维,256个样本每帧,比如我的声音文件是951552*2的矩阵,那生成的就是951552/256 = 3716*12的矩阵。
当然,你也可以在.m文件中改
三.保存为.mat文件
提取好MFCC后我们可以保存文件以便以后使用。
save('zjcvoice.mat','c')
将提取出的c变量保存为zjcvoice.mat
四.学习并识别
请看我上一篇文章。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
总结:
1.语音信息处理应先用MFCC处理。
- 【神经网络学习笔记】语音识别-matlab语音信号预处理
- 【神经网络学习笔记】BP神经网络-语音特征信号分类
- 语音学习笔记9------Matlab R2015a实现BP神经网络的嗓音识别
- 语音信号的预处理
- 语音信号的预处理
- 基于Matlab的BP神经网络在语音特征信号识别中的应用
- 基于matlab的bp神经网络在语音特征信号识别中的应用
- 《语音信号处理》学习笔记
- 语音识别学习笔记汇总
- BP神经网络的数据分类—语音特征信号识别
- 求解matlab语音识别
- BP神经网络 语音信号分类
- 语音信号处理笔记
- 语音识别-信号处理篇
- 语音识别学习笔记(一)【概述】
- Kaldi语音识别学习笔记(一)
- 语音识别的技术路线学习笔记
- 语音学习笔记4------matlab实现逆向生成音频格式的信号audiowrite()函数
- 配置文件HttpHandlers和HttpModules接口详解
- lua gc分析(一)
- STL学习(二)set容器学习(二)-自定义比较函数
- 网络配置之Linux
- 数塔
- 【神经网络学习笔记】语音识别-matlab语音信号预处理
- 猫扑实战分享:如何在预算几乎为0的情况做活动运营
- Spring MVC 入门教程一
- poj 2395 最小瓶颈树(kruskal)
- V4L2文档翻译(一)
- javascript-老毕版
- 将svn的exe服务的启动建立为一个服务
- RK30SDK开发板驱动分析(一):platform device 的概念与注册
- OLAP及Cognos8报表性能调节--网上转载,未经测试