Ich versuche die Musik so genau wie möglich zu analysieren. Natürlich habe ich FFT ausprobiert, aber einige Probleme bekommen.
Ich fand, dass niedrige Frequenzen eine sehr niedrige Auflösung haben als das menschliche Gehör. Ich habe sehr lange versucht, dieses Problem mit FFT zu lösen, aber selbst bei der Analyse mit 8192 Samples / s bei einer Abtastrate von 44100 Hz (bedeutet mangelnde Zeitauflösung) habe ich bei niedrigen Frequenzen nicht genügend Auflösung erhalten.
Ich habe festgestellt, dass es nur wenige Lösungen gibt.
Erstens eine quadratische Interpolation auf FFT-Bins.
Aber es scheint kein perfekter Weg zu sein. Probleme dieser Methode sind:
1. 'Wenn ich Frequenzen zwischen den Frequenzbins bestimmen möchte, welche drei Bins sollte ich auswählen, um eine Interpolation durchzuführen?'
2. Auch wenn ich dies tue, gibt es keine tatsächlichen zusätzlichen Informationen zum Ergebnis. Ich weiß, dass Interpolationen eine knifflige Methode sind. '
Zweitens, jedes Freq-Bins mit der gewünschten Häufigkeit extrahieren, damit ich die Bins logarithmisch extrahieren kann.
Habe aber ein kritisches Rechenkostenproblem: (vielleicht über) N ^ 2.
Drittens LFT (Logarithmic Fourier Transform).
Dies erfordert logarithmisch beabstandete Abtastwerte und gibt mir mit unglaublich hoher Geschwindigkeit genau das, was ich suche. /programming/1120422/is-there-an-fft-that-uses-a-logarithmic-division-of-frequency
Aber ich habe keine Ahnung mit diesem Algorithmus. Ich habe versucht, das Papier zu verstehen und umzusetzen, aber es war unmöglich, weil ich keine Englisch- und Mathematikkenntnisse hatte.
Ich brauche also Hilfe bei der Implementierung von LFT.