MFCC简易教程

1.声音的来源:

声音被声道的形状过滤,包括舌头,牙齿等。这种形状决定了声音的来源。如果我们能够准确地确定形状,这应该能够准确地表示正在生产的音素。声道的形状表现在短时功率谱的包络中,MFCC的工作是准确地表示这个包络。

Mel频率倒谱系数(MFCC)是一种广泛用于自动语音和说话人识别的功能。它们是戴维斯和梅尔斯坦在20世纪80年代引入的,从那以后一直是最先进的。在引入MFCC之前,线性预测系数(LPC)和线性预测倒谱系数(LPCC)(并且是自动语音识别(ASR)的主要特征类型。

2.步骤分析

1.将信号帧化为短帧。

2.对于每个帧,计算功率谱的周期图估计

3. 将mel滤波器组应用于功率谱,将每个滤波器中的能量相加。

4.取所有滤波器组能量的对数。

5.获取日志滤波器组能量的DCT。

6.保持DCT系数2-13,丢弃其余部分。

音频信号不断变化,所以为了简化事情我们假设在短时间尺度上音频信号没有太大变化(当我们说它没有变化时,我们的意思是统计上,即统计上静止,显然样本不断变化甚至短时间尺度)。这就是我们将信号帧化为20-40ms帧的原因。如果帧短得多,我们没有足够的样本来获得可靠的频谱估计,如果帧越长,信号在整个帧中变化太大。

计算每帧的功率谱。这是由人耳蜗(耳朵中的器官)驱动的,其根据传入声音的频率在不同的点处振动。根据耳蜗中振动的位置(摆动小毛发),不同的神经会向大脑发出消息,告知大脑存在某些频率。我们的周期图估计为我们执行类似的工作,识别帧中存在哪些频率。

周期图频谱估计仍然包含自动语音识别(ASR)不需要的许多信息。特别地,耳蜗不能辨别两个紧密间隔的频率之间的差异。随着频率的增加,这种效果变得更加明显。出于这个原因,我们采集了一些周期图箱,并总结它们,以了解不同频率区域存在多少能量。这是由我们的Mel滤波器组执行的:第一个滤波器非常窄,并指示在0赫兹附近存在多少能量。随着频率越来越高,我们的滤波器越来越宽,因为我们越来越不关心变化。我们只关心每个点大概产生多少能量。Mel刻度告诉我们如何隔离我们的滤波器组以及制作它们的宽度。

最后一步是计算对数滤波器组能量的DCT。这有两个主要原因。因为我们的滤波器组都是重叠的,所以滤波器组能量彼此非常相关。DCT对能量进行去相关,这意味着对角线协方差矩阵可用于对例如HMM分类器中的特征进行建模。但请注意,26个DCT系数中只有12个被保留。这是因为较高的DCT系数代表滤波器组能量的快速变化,并且事实证明这些快速变化实际上降低了ASR性能,因此我们通过丢弃它们获得了小的改进。

3.实施步骤:

我们从语音信号开始,我们假设采样频率为16kHz。

1.将信号帧化为20-40 ms帧。25毫秒是标准的。这意味着16kHz信号的帧长度为0.025 * 16000 = 400个样本。帧步长通常类似于10ms(160个样本),这允许与帧重叠。第一个400样本帧从样本0开始,下一个400样本帧从样本160等开始,直到到达语音文件的末尾。如果语音文件没有划分为偶数个帧,则用零填充它以使其完成。

接下来的步骤应用于每个帧,为每个帧提取一组12个MFCC系数。一个简短的表示法:我们称之为时域信号。一旦它被构图,我们有n个范围超过1-400(如果我们的帧是400个样本)并且范围超过帧数。当我们计算复数DFT时,我们得到- 其中,表示对应于时域帧的帧编号。那么就是帧的功率谱

2.要对帧进行离散傅立叶变换,请执行以下操作:

其中是一个样本长分析窗口(例如汉明窗口),并且是DFT的长度。基于周期图的语音帧功率谱估计由下式给出:

这称为功率谱的周期图估计。我们取复数傅里叶变换的绝对值,并对结果进行平方。我们通常会执行512点FFT并仅保留前257个系数。

3.计算Mel间隔滤波器组。这是一组20-40(26是标准)三角滤波器,我们应用于步骤2的周期图功率谱估计。我们的滤波器组以26个矢量长度为257的形式出现(假设FFT设置从步骤2开始)。每个向量大多为零,但对于光谱的某个部分不为零。为了计算滤波器组能量,我们将每个滤波器组与功率谱相乘,然后将系数相加。执行此操作后,我们将留下26个数字

4.从步骤3中获取26个能量中的每个能量的对数。这使我们得到26个对数滤波器组能量。

5.采用26个对数滤波器组能量的离散余弦变换(DCT),得到26个倒谱系数。对于ASR,仅保留26个系数中较低的12-13个。

得到的特征(每帧12个数字)称为梅尔频率倒谱系数。

参考代码(Python):https://github.com/jameslyons/python_speech_features

转自:http://practicalcryptography.com/miscellaneous/machine-learning/guide-mel-frequency-cepstral-coefficients-mfccs/

https://blog.csdn.net/baidu_31437863/article/details/81390744

猜你喜欢

转载自blog.csdn.net/baidu_31437863/article/details/82778534