Sto cercando di analizzare le musiche il più precisamente possibile. Ovviamente ho provato FFT, ma ho avuto dei problemi.
Ho scoperto che le basse frequenze hanno una risoluzione molto bassa rispetto all'udito umano. Ho provato molto tempo FFT a risolvere questo problema, ma anche analizzando con 8192 campioni / s con frequenza di campionamento di 44100Hz (significa mancanza di risoluzione temporale), non ho ottenuto una risoluzione sufficiente sulle basse frequenze.
Ho scoperto che ci sono alcune soluzioni.
In primo luogo, un'interpolazione quadratica sui contenitori FFT.
Ma non sembra un modo perfetto. I problemi di questo metodo sono:
1. "Se voglio determinare le freq tra i bin di freq, quali tre bin dovrei selezionare per fare un'interpolazione?"
2. 'Anche se lo faccio, non ci sono ulteriori informazioni sul risultato. So che le interpolazioni sono una specie di metodo complicato. '
In secondo luogo, estraendo i bin di ogni freq con la frequenza desiderata, in modo da poter estrarre logicamente i bin.
Ma hai un grave problema di costo computazionale: (forse finito) N ^ 2.
In terzo luogo, LFT (Logarithmic Fourier Transform).
Ciò richiede campioni spaziati logaritmicamente e mi dà il risultato esattamente quello che sto cercando con una velocità incredibilmente veloce; /programming/1120422/is-there-an-fft-that-uses-a-logarithmic-division-of-frequency
Ma non ho idea di questo algoritmo. Ho cercato di capire il documento e di implementarlo, ma era impossibile a causa della mancanza delle mie abilità matematiche e inglesi.
Quindi, ho bisogno di un aiuto per l'implementazione di LFT.