梅尔谱图和 MFCC 之间的区别
Posted
技术标签:
【中文标题】梅尔谱图和 MFCC 之间的区别【英文标题】:Difference between mel-spectrogram and an MFCC 【发布时间】:2019-05-24 07:45:53 【问题描述】:我正在使用 librosa 库将音乐片段转换为 mel 谱图,以用作我的神经网络的输入,如文档 here 中所示。
这与MFCCs 有什么不同,如果有的话?使用它们有什么优点或缺点吗?
【问题讨论】:
【参考方案1】:要获得 MFCC,请计算 mel 谱图上的 DCT。梅尔谱图之前通常是对数缩放的。
MFCC 是一种非常可压缩的表示,通常只使用 20 或 13 个系数,而不是梅尔频谱图中的 32-64 个波段。 MFCC 的去相关性更高,这对于高斯混合模型等线性模型可能是有益的。凭借大量数据和卷积神经网络等强大的分类器,梅尔谱图通常可以表现得更好。
【讨论】:
【参考方案2】:我想,乔纳的回答并不完全正确。有两个步骤: 1.获取梅尔谱图的日志。 2. 在日志上计算 DCT。 此外,获取日志似乎是训练 NN 的“主要部分”:https://qr.ae/TWtPLD
【讨论】:
【参考方案3】:一个关键的区别是 mel-spectrogram 具有频谱的语义,而 MFCC 在某种意义上是“频谱的频谱”。真正的问题是:将 DCT 应用于 mel 谱图的目的是什么,这有很好的答案 here 和 there。
请注意,同时 librosa 也有一个 mfcc
函数。而且看its implementation基本确认是
-
打电话给
melspectrogram
,
将其输出转换为日志(通过power_to_db
),
对频率进行 DCT,就好像它们是一个信号一样,
在第一个 n_mfcc
系数之后截断新的“频谱”。
【讨论】:
以上是关于梅尔谱图和 MFCC 之间的区别的主要内容,如果未能解决你的问题,请参考以下文章