参考链接:
Short-time Fourier transform - MATLAB stft- MathWorks 中国
https://medium.com/analytics-vidhya/understanding-the-mel-spectrogram-fca2afa2ce53
a spectrogram as a bunch of FFTs stacked on top of each other.
给出hop length后,切成一个个小段,对每个小段分别计算傅里叶变换
得到一个个频率振幅条,把条随时间拼成下图
此时振幅会表示成贝尔数值
,but此时频率是标准的线性频率,
研究表明,人类对频率的感知并不是线性的,并且对低频信号的感知要比高频信号敏感。例如,人们可以比较容易地发现500和1000Hz的区别,确很难发现7500和8000Hz的区别。这时,梅尔标度(the Mel Scale)被提出,它是Hz的非线性变换,对于以mel scale为单位的信号,可以做到人们对于相同频率差别的信号的感知能力几乎相同。一个常用的变换公式为
梅尔频谱就是一个在mel scale下的spectrogram
梅尔频谱图是将频率转换为梅尔标度的频谱图。 转换成梅尔频谱图之后如下: