Sì, molte persone hanno lavorato all'analisi frequenza-tempo.
L'approccio di "suddividere i miei dati in blocchi, eseguire la FFT su ogni blocco" è una buona idea. L'applicazione di una "funzione finestra" su ogni blocco, appena prima di eseguire la FFT, aiuta a evitare molti artefatti. Anche consentire la sovrapposizione di blocchi aiuta. Dopo queste modifiche, si finisce con la trasformazione di Gabor , che sembra essere la trasformazione di Fourier a breve termine più popolare (STFT).
Come hai già sottolineato, e come sottolinea l'articolo di Wikipedia, tutte le tecniche di trasformazione di Fourier a breve termine hanno un compromesso:
- quando si tagliano le serie temporali in pezzi molto corti, si ottengono informazioni temporali molto precise su esattamente quando un tono inizia e si arresta, ma le informazioni sulla frequenza sono molto sfocate.
- Quando si tagliano le serie temporali in pezzi molto lunghi, si ottengono informazioni di frequenza estremamente precise sull'esatta frequenza di un tono, ma l'ora esatta in cui inizia e si interrompe è sfocata.
Questo è un problema famoso, ma purtroppo, non solo non è stato risolto, è stato dimostrato che l'incertezza tra i due è inevitabile: il limite di Gabor, il limite di Heisenberg-Gabor, il principio di incertezza , ecc.
Se fossi in te, inizierei con una delle tante librerie disponibili per calcolare la trasformazione di Gabor e sperimenterei come tagliare le serie temporali in varie lunghezze. C'è una buona probabilità che tu sia fortunato e finirai con un po 'di lunghezza che offre un'adeguata localizzazione del tempo e un'adeguata discriminazione in frequenza.
Se questo non funziona per questa applicazione, quindi vorrei passare ad altri approcci alla rappresentazione tempo-frequenza e analisi tempo-frequenza - trasformate wavelet, trasforma chirplet , frazionale trasformata di Fourier (FRFT), etc.
EDIT: Alcuni codici sorgente per generare spettrogrammi / grafici a cascata da dati audio:
L'immagine allo spettrogramma va nella direzione opposta rispetto ai programmi di cui sopra.