Mam bazę danych, która zawiera streaming wideo. Chcę obliczyć funkcje LBP z obrazów i dźwięku MFCC, a dla każdej klatki w filmie mam trochę adnotacji. Adnotacja jest zaznaczona ramkami wideo i czasem filmu. W związku z tym chcę zmapować czas, który mam z adnotacji na wynik mfcc. Wiem, że sample_rate = 44100Implementacja algorytmu MFCC w języku Python
from python_speech_features import mfcc
from python_speech_features import logfbank
import scipy.io.wavfile as wav
audio_file = "sample.wav"
(rate,sig) = wav.read(audio_file)
mfcc_feat = mfcc(sig,rate)
print len(sig) //2130912
print len(mfcc_feat) // 4831
Po pierwsze, dlaczego wynikiem długości MFCC jest 4831 i jak mapować że w adnotacją, że mam w kilka sekund? Łączny czas trwania filmu wynosi 48 sekund. Adnotacja wideo wynosi 0 wszędzie poza oknami 19-29 sekund, gdzie jest 1. Jak mogę zlokalizować próbki w oknie (19-29) od wyników mfcc?
Tylko uwaga: Librosa ma różne metody ekstrakcji cech. To może ci pomóc w pracy. https://github.com/librosa/librosa/blob/master/examples/LibROSA%20demo.ipynb – dkato