mfcc для всей песни отличается от mfcc, рассчитанного для сегментов одной и той же песни
Я рассчитал MFCC для песни 30 секунд, с размером кадра 25 мс и размером прыжка 10 мс, частота дискретизации составляет 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 баллов, если вы хотите их с точки зрения частоты, они должны быть определены с точки зрения времени. Так что, если вы пропустите один из-за округления целых чисел в двоичное представление... результаты могут отличаться.