整首歌的 mfcc 与为同一首歌的片段计算的 mfcc 不同
Posted
技术标签:
【中文标题】整首歌的 mfcc 与为同一首歌的片段计算的 mfcc 不同【英文标题】:mfcc for entire song are different from mfcc calculated for segments of the same song 【发布时间】:2018-03-09 14:43:36 【问题描述】:我对一首30秒的歌曲计算了MFCC,帧大小为25ms,跳数为10ms,采样率为22050
spectro=librosa.feature.melspectrogram(track[1], sr=sampleRate, n_fft=int(sampleRate*0.025), hop_length=int(sampleRate*0.01))
frames_mfcc=librosa.feature.mfcc(track[1], S=spectro, sr=sampleRate, n_mfcc=13)
然后,我对同一首歌的 1 秒片段做了同样的事情。 但是当我在长曲中搜索短曲的系数时,使用滑动窗口,我从来没有得到完美或相当完美的匹配。
可能是什么问题?我错过了什么吗?
【问题讨论】:
如果没有完整的例子来说明问题,就无法回答。 【参考方案1】:刚刚陷入这个问题,所以尝试回答。 首先你需要去频域。这是通过快速傅里叶变换完成的。在您的情况下,如果您希望在频率方面有 22050 个点,则必须根据时间来定义它们。因此,如果您错过了一个 - 因为将整数四舍五入为二进制表示......结果可能会有所不同。
【讨论】:
以上是关于整首歌的 mfcc 与为同一首歌的片段计算的 mfcc 不同的主要内容,如果未能解决你的问题,请参考以下文章