python_speech_features.mf cc (...) принимает несколько дополнительных аргументов. Один из них - winstep
, который указывает количество раз между кадрами функций, т. Е. mfcc
функций. Значение по умолчанию 0,01 с = 10 мс. В другом контексте, например, librosa, это также известно как hop_length
, которое затем указывается в примерах.
Чтобы найти вашу временную шкалу, вы должны выяснить количество функций и частоту функций. С winstep=0.01
ваши функции в секунду (ваша функция или частота кадров) составляют 100 Гц. Количество имеющихся кадров len(mfcc_feat)
.
Таким образом, вы получите:
import librosa
import python_speech_features
import numpy as np
audio_file = r'sample.wav'
samples, sample_rate = librosa.core.load(audio_file, sr=16000, mono=True)
timeline = np.arange(0, len(samples))/sample_rate # prints timeline of sample.wav
print(timeline)
winstep = 0.01 # happens to be the default value
mfcc_feat = python_speech_features.mfcc(samples, sample_rate, winstep=winstep)
frame_rate = 1./winstep
timeline_mfcc = np.arange(0, len(mfcc_feat))/frame_rate
print(timeline_mfcc)
Поскольку «кадр» представляет собой продолжительность 0,01 с, вы можете переместить смещение к центру кадра, т.е. на 0,005 с.