语音识别MFCC系列(四)——MFCC特征参数提取

本文详细介绍了MFCC(梅尔频率倒谱系数)在语音识别中的提取过程,包括数据准备、预加重、分帧、加窗、离散傅里叶变换、梅尔滤波器、能量特征参数提取、离散余弦变换、升倒谱运算,以及计算一阶和二阶微分,最终得到MFCC参数,用于语音识别和声纹识别技术。
摘要由CSDN通过智能技术生成

最好先看下下面三篇(其中系统的讲述了离散傅里叶变换,能量密度谱为什么是DFT系数的平方除以总点数,为什么512点的离散傅里叶变换只选前257个分量,离散余弦变换,为什么采样频率要大于真实信号最大频率的两倍,频谱混叠,频谱泄露,为什么要用窗函数等等),做知识储备,如果上述问题不懂,一定要去看哦,都可以找到答案。然后MFCC的提取过程就特别好理解。因为我就是这么学过来的!本文是我看了代码以后做的总结,我觉得这篇总结有些东西写的不清楚,就参考这个改的。

语音识别MFCC系列(一)——连续信号、傅里叶变换

语音识别MFCC系列(二)——离散信号、离散傅里叶变换

语音识别MFCC系列(三)——离散余弦变换DCT

 

                                  

 一、数据准备

格式为.wav的音频文件,可以从这里下载,.wav文件存储的是录音设备按固定频率采取的真实声波的某个点。

                             

采样频率一般为8000Hz和16000Hz,采样频率需要大于真实信号最大频率的2倍,才不会导致频谱混叠。比如声卡采样率是8000HZ,那么可以认为原始信号的最大频率处是4000HZ,注意,原始信号的源头是声带一张一合把肺部气体排出,这一张一合的频率叫做基音频率(声音波由3个阶段,声带发出的基音频率是第一阶段;第二阶段是气体声波经过长约17cm的声道,据说第二阶段作为声音音色音质以及文本无关声纹识别中的重要部位,也是共振峰产生的场所;第三阶段是唇口鼻舌,这些部位影响声音的发音,比如元音辅音等),为了理解清晰,原始信号的频率可以默认为是声带一张一合的频率,而声卡采样频率则是1秒钟采取多少个点,所以这两者有本质的区别,但都是频率。

使用python(scipy和numpy库)的(rate,signal) = scipy.io.wavfile.read("Ansel.wav"),读取信号signal = [ 0 0 -1 ..., 627 611 702],这是个含有107000个元素的数组,还可以得到该声音文件的采样频率,此处频率rate=8000Hz。

二,预加重,{A(1*107000)}

个人理解为,由于声带和嘴唇的效应,人的发音系统会抑制语音信号的高频部分,那么低频段能量大,高频段能量小,高频部分的幅值会比较小,高频部分的信噪比(信号幅值/噪音幅值)比较小,换言之,你能从一堆茂密高大的杂草里找到你种的那根正品草吗!预加重就是解决这些问题的,相当于高通滤波器,提高高频部分啦。

                                                                s _ { 2 } ( n ) = s ( n ) - \alpha s ( n - 1 )

一般\alpha取值为0.95/0.97。

做法:signal = [ 0 0 -1 ..., 627 611 702]含有107000个点,针对这些点,套用公式signal[i]=signal[i+1]-0.97*signal[i],得到一个新的数组A=[ 0. 0. -1. ..., -40.36 2.81 109.33],数组大小还是107000。

三,分帧,

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值