Staram się jak najdokładniej analizować muzykę. Oczywiście próbowałem FFT, ale miałem pewne problemy.
Odkryłem, że niskie częstotliwości mają bardzo niską rozdzielczość niż słuch ludzki. Bardzo długo próbowałem FFT, aby rozwiązać ten problem, ale nawet analizując przy 8192 próbkach / s przy częstotliwości próbkowania 44100Hz (Oznacza to brak rozdzielczości czasowej), nie dostałem wystarczającej rozdzielczości na niskich częstotliwościach.
Znalazłem kilka rozwiązań.
Po pierwsze, kwadratowa interpolacja na pojemnikach FFT.
Ale nie wydaje się to idealnym sposobem. Problemami tej metody są:
1. „Jeśli chcę określić częstości między przedziałami częstotliwości, które trzy przedziały mam wybrać, aby wykonać interpolację?”
2. „Nawet ja to robię, nie ma żadnych faktycznych dodatkowych informacji o wyniku. Wiem, że interpolacje są dość trudną metodą.
Po drugie, wyodrębniam każdy przedział częstotliwości z pożądaną częstotliwością, dzięki czemu mogę wyodrębniać przedziały logarytmicznie.
Ale mają krytyczny problem z kosztami obliczeniowymi: (może ponad) N ^ 2.
Po trzecie, LFT (logarytmiczna transformata Fouriera).
Wymaga to logarytmicznie rozmieszczonych próbek i daje mi dokładnie to, czego szukam, z niewiarygodnie dużą prędkością; /programming/1120422/is-there-an-fft-that-uses-a-logarithmic-division-of-frequency
Ale nie mam pojęcia z tym algorytmem. Próbowałem zrozumieć artykuł i go wdrożyć, ale było to niemożliwe z powodu braku mojej znajomości języka angielskiego i matematyki.
Potrzebuję pomocy przy implementacji LFT.