在大多数音频处理任务中,最常用的转换之一是MFCC(梅尔频率倒谱系数)。
我最了解MFCC背后的数学原理:我了解滤波器组步骤和梅尔频率定标。
我没有得到的是DCT(离散余弦变换)步骤:在此步骤中我可以获得什么信息?此步骤的视觉效果如何?
在大多数音频处理任务中,最常用的转换之一是MFCC(梅尔频率倒谱系数)。
我最了解MFCC背后的数学原理:我了解滤波器组步骤和梅尔频率定标。
我没有得到的是DCT(离散余弦变换)步骤:在此步骤中我可以获得什么信息?此步骤的视觉效果如何?
Answers:
您可以将DCT视为压缩步骤。通常,对于MFCC,您将采用DCT,然后仅保留前几个系数。这与将DCT用于JPEG压缩基本上是相同的原因。选择DCT是因为它们的边界条件在这些类型的信号上效果更好。
让我们将DCT与傅立叶变换进行对比。傅里叶变换由具有整数个周期的正弦曲线组成。这意味着,所有傅立叶基函数都以相同的值开始和结束-它们不能很好地表示以不同值开始和结束的信号。请记住,傅立叶变换假定有一个周期性扩展:如果您想象一张纸上的信号,则傅立叶变换希望将那张纸卷成圆柱体,使左右两侧相交。
考虑一下一个频谱,它的形状大致像是一条具有负斜率的线(这很典型)。傅立叶变换将不得不使用许多不同的系数来适应这种形状。另一方面,DCT的余弦的周期数为半整数。例如,有一个DCT基函数,看起来像那条带有负斜率的线。它不假设周期延长(而是均匀延长),因此它将更好地拟合该形状。
所以,让我们放在一起。一旦计算出梅尔频谱,就可以以类似于人类听力工作方式的方式来表示敏感频谱。这种形状的某些方面比其他方面更相关。通常,更大的总体频谱形状比频谱中嘈杂的精细细节更重要。您可以想象画一条平滑的线来遵循频谱形状,而画出的平滑线可能告诉您有关信号的信息。
当您使用DCT并丢弃较高的系数时,您将采用此频谱形状,并且仅保留对于表示此平滑形状更重要的部分。如果您使用傅立叶变换,那么将重要信息保持在低系数中就做得不好。
如果您考虑将MFCC作为特征提供给机器学习算法,则这些低阶系数将成为很好的特征,因为它们代表了频谱形状的一些简单方面,而您丢弃的高阶系数则更像噪声而且继续训练并不重要。另外,对梅尔频谱幅值本身的训练可能不会那么好,因为在不同频率处的特定幅度不如频谱的一般形状重要。