我在一首 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 秒片段中做了同样的事情。但是当我用滑动窗口在长歌中搜索短歌的系数时,我从未得到完美或相当完美的匹配。
可能是什么问题?我错过了什么吗?
刚刚进入这个问题,所以试着回答。首先,您需要转到频域。这是通过快速傅里叶变换完成的。在您的情况下,如果您希望它们在频率方面有 22050 个点,则必须根据时间定义它们。因此,如果您错过了一个 - 因为将整数四舍五入为二进制表示......结果可能会有所不同。