本来是学习打卡的,一时兴起想听听处理的数据到底是个啥动静。。。遂一顿百度,最终锁定playsound,适用于.wav和.mp3格式,且算上头部声明就两行代码,完美!代码如下
from playsound import playsound
playsound(‘test.mp3’)
结果就报了如下的错误
一顿搜都没找到是为啥,其实只是需要把音频文件和代码放到同个文件夹下,害。真就人工6分钟的事人工智能6小时呗。。。
接下来进入正题。
MFCC特征提取
MFCC即Mel Frequency Cepstral Coefficents,梅尔倒谱系数,在语音识别领域中MFCC特征提取是最常用的方法。
具体步骤如下:
对语音信号进行分帧处理
用周期图(periodogram)法来进行功率谱(power spectrum)估计
对功率谱用Mel滤波器组进行滤波,计算每个滤波器里的能量
对每个滤波器的能量取log
进行离散余弦变换(DCT)变换
保留DCT的第2-13个系数,去掉其它
前两步为短时傅里叶分析,作用是得到声谱图,即频率随时间变化的表示。后几步则和梅尔倒谱有关。
第一步分帧是假设在一个很短的时间内,如20-40ms内为一个稳定系统,即一帧。注意不能简单平均分割语音,相邻的帧之间也要重合。通常以25ms为1帧,帧移为10ms,一秒信号有10帧。
傅里叶分析的东西就不多说了,主要看一下梅尔频谱和梅尔倒谱。
这里忽略不了的一个概念便是梅尔滤波器。梅尔滤波器的目标是模拟人耳对声音的感知,因为人耳对低频感知灵敏一点,高频弱一些,且并不会明显感知到声音频率的成倍或者减倍变化。一组梅尔滤波器通常26个三角滤波器,对上述得到的功率谱估计进行滤波。频率越高,滤波器就越宽。
最终保留这26个滤波器的能量。再对这26个点的信号进行DCT,就可以得到26个倒谱系数啦!