语音识别(MFCC)
来源:互联网 发布:软件定义世界 编辑:程序博客网 时间:2024/05/01 04:23
Abstract:本文意在讲解语音识别的方法,主要包括语音特征提取(Mel频率倒谱系数的提取),
1.Mel频率倒谱系数的提取
人的听觉系统可以看成一组滤波器族,可以通过这些滤波器得到不同频率的声音,不同的滤波器对不同频率的信号的灵敏程度不一样,Mel频率倒谱系数(MFCC)是一种充分利用人耳感知特性的参数。MFCC和线性频率之间的转换关系如下:
MFCC参数提取如图1所示。该过程分为预加重,分帧,加窗函数,FFT运算,Mel频率滤波器组滤波,取对数能量,DCT求倒谱。
下面来看一段语音信号:
1.1 预加重
预加重是将语音信号
系数其中
这个是为了补偿语音受到发声系统所压抑的高频部分,使高频信号突显出来。
temp=double(signal);x=filter([1 -0.9],1,temp);
可以得到下面经过高通滤波器后的语音信号。
图3为原始语音信号的频谱和经过高通滤波器的语音信号的频谱。
1.2 分帧
分帧是把一段语音信号分成
signal=enframe(signal,256,80);
1.3 加窗函数
窗函数的目的是为了只处理某一段信号,而屏蔽其他的信号,也叫短时信号处理。加窗函数,可以加hamming窗,hanning窗,blackman窗等窗函数,将每一帧的语音信号乘以窗函数,以增加音框左端和右端的连续性。假设一帧信号为256个点,那么窗函数也为256的点。这里我们采用的是hamming窗。那么得到的加窗语音信号为如下:
不同
汉明窗如图4所示:
现在我只取前256个语音信号来加窗函数。
s = y' .* hamming(256);
1.5 Mel频率滤波器组
加窗函数后信号通过FFT得到其能量后进入Mel频率滤波器组再进行
其中
bank=melbankm(24,256,44100,0,0.5,'m');bank=full(bank);bank=bank/max(bank(:));
1.6 DCT求倒谱
对
其中
最终得到的倒谱为:
那么
1.7 求解差分系数
差分系数用
这样倒谱系数和差分系数就组成了
2.Softmax分类
3.GUI
具体程序见资源。
- 语音识别(MFCC)
- 语音识别之MFCC
- 语音识别 之 MFCC
- MFCC语音识别特征
- 语音 识别 MFCC DTW 初谈
- 语音 识别 MFCC DTW 初谈
- 语音识别之----什么是语音识别中的mfcc(包括代码)
- 基于语音信号MFCC的情感识别
- MFCC(语音特征参数)
- 分享使用MFCC和LPC进行语音识别
- HTK语音识别之MFCC参数基本配置参数解释
- 语音识别之——mfcc什么是汉明窗,为什么加汉明窗
- 语音特征提取方法 (二)MFCC
- 语音特征参数MFCC
- MFCC基于语音的求解过程(二)
- WAV音频MFCC参数提取 + DTW语音识别算法 C++代码实现
- 语音特征参数提取--MFCC
- 语音听写(识别)
- C++ 32位系统内存对齐
- 无序数组求两数差的最小绝对值
- 140个Google面试问题
- Cocos2d-3.x_读取json文件
- Power Strings
- 语音识别(MFCC)
- 关于ftp用户连接时出现500 OOPS: cannot change directory的解决办法
- 雪肌源主原料来源的长白山,经济概况及其特产介绍
- LeetCode(088) Merge Sorted Array(Java)
- JDBC连接Oracle的Demo
- ubantu14.0禁用ipv6
- 常用的Linux命令
- LibSVM学习详细说明
- 补水面膜