这是对MFCC计算中DCT步骤的正确解释吗?


9

这是这里讨论的延续。我会在那发表评论,但我没有50名代表,所以我想提出一个新问题。

这就是我对MFCC计算过程中DCT步骤的理解:其背后的原理是,由于滤波器的重叠,将对数谱幅值的相关性(与滤波器组分开)。从本质上讲,DCT平滑了由这些对数频谱幅度给出的频谱表示。

正确地说,下图中的蓝线代表对数谱幅值矢量所代表的光谱,而红线是经过DCT校正后的矢量吗?

DCT验证的对数谱幅值(即MFCC)与仅对数谱幅值的关系???


在哪里可以下载您的代码进行测试?
auraham 2014年

下图?帖子中没有图片。
埃里克·普拉

Answers:


16

让我从头开始。计算倒频谱的标准方法如下:

CXŤ=F-1个[日志F[XŤ]]

对于MFCC系数,情况有些不同,但仍然相似。

经过预加重和加窗后,您可以计算信号的DFT并应用以mel比例分开的重叠三角形滤波器的滤波器组(尽管在某些情况下,线性比例比mel更好):

在此处输入图片说明

关于倒频谱定义,现在您以mel频率标度表示频谱的包络(缩减频谱)。如果代表这一点,那么您会发现它有点像原始信号频谱。

下一步是计算上面获得的系数的对数。这是由于事实,倒频谱应该是同态变换,可以将信号与声道的冲激响应等分开。如何?

sŤHŤ

s^Ť=sŤHŤ

在频域中,卷积是频谱的乘积:

小号^F=小号FHF

日志一个b=日志一个+日志b

我们还期望脉冲响应不会随时间变化,因此可以通过减去平均值轻松地将其删除。现在您了解了为什么我们采用带能的对数。

F-1个ifft

在此处输入图片说明

因此,现在您看到,现在很难理解原始频谱的样子。此外,我们通常只采用前12个MFCC,因为较高的MFCC描述了对数能量的快速变化,这通常会使识别率变差。因此,进行DCT的原因如下:

  • 最初,您必须执行IFFT,但是从DCT中获取实值系数会更容易。此外,我们不再拥有完整的频谱(所有频率段),而是在梅尔滤波器组中拥有能量系数,因此使用IFFT有点过分。

  • 您可以在第一个图上看到,滤波器组是重叠的,因此彼此相邻的能量正在两个之间散布-DCT允许对其进行解相关。请记住,这是一个很好的属性,例如在高斯混合模型的情况下,您可以使用对角协方差矩阵(其他系数之间没有相关性),而不是完整的矩阵(所有系数都具有相关性),这大大简化了事情。

  • 解耦梅尔频率系数的另一种方法是PCA(主成分分析),该技术仅用于此目的。幸运的是,事实证明,DCT在去相关信号方面非常接近PCA,因此使用离散余弦变换具有另一个优势。


一些文献:

Hyoung-Gook Kim,Nicolas Moreau,Thomas Sikora - MPEG-7 Audio and Beyond:音频内容索引和检索


1
为什么我们不能从IFFT中获取复数的绝对值?如果复数很难处理,为什么在计算倒谱时我们采用IFFT,而不仅仅是DCT?感谢您的解释。这个数字特别有帮助。
acannon828 2014年

1
@ acannon828:请查看我编辑后的答案的最后3点。我希望现在能解释一切。
jojek

很好的回应。任何您可以附上的文献。
鲍勃·伯特

1
@BobBurt:你去!
jojek

谢谢你的书。大多数事情似乎都可以在其中解释。这本书是否也涵盖了关于声道的理论-我似乎找不到与之相关的任何东西。
Bob Burt

3

不仅使DCT平滑,还减少了代表光谱所需的维数。DCT有助于降维,因为它倾向于在前几个系数中压缩大部分频谱能量。


谢谢。这帮助我了解了@pichenettes降维的含义。
acannon828 2014年

3

其背后的原理是由于滤波器的重叠而将对数谱幅值的相关性(与滤波器组)分开。本质上,DCT平滑了由这些对数频谱幅度给出的频谱表示。

这是不正确的。对数谱幅值之间存在相关性,不仅因为它们重叠,而且还因为没有任何数字序列表示对数谱幅值的“有意义”(如在自然语音和声音中出现)序列。“有意义的”对数谱幅值趋于相当平滑,在较高频率下能量总体降低,等等。有人会说,所有“有意义的”对数谱幅值向量的空间尺寸都小于40或无论您使用哪个频段; DCT可以看作是降维,可以将40通道数据映射到这个较小的空间。

本质上,DCT平滑了由这些对数频谱幅度给出的频谱表示。

DCT不会进行任何平滑处理。从DCT数据重建时,您会看到平滑-平滑是由于DCT丢失信息以及随后的系数截断所致。

但是MFCC系数不存储平滑频谱-它存储一系列不相关的DCT系数。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.