Müzikleri olabildiğince kesin bir şekilde analiz etmeye çalışıyorum. Tabii ki FFT denedim ama bazı problemlerim var.
Düşük frekansların insanın işitmesinden çok düşük çözünürlüğe sahip olduğunu buldum. Bu sorunu çözmek için çok uzun süre FFT denedim, ancak 44100Hz örnek hızında 8192 örnek / s ile analiz ederken bile (zaman çözünürlüğü olmaması anlamına gelir), düşük frekanslarda yeterli çözünürlük elde etmedim.
Birkaç çözüm buldum.
İlk olarak, FFT kutularında ikinci dereceden enterpolasyon.
Ama mükemmel bir yol gibi görünmüyor. Bu yöntemin sorunları şunlardır:
1. 'Frek bölmeleri arasındaki frekansları belirlemek istersem, enterpolasyon yapmak için hangi üç bölmeyi seçmeliyim?'
2. 'Bunu yapsam bile, sonuç hakkında gerçek bir ek bilgi yok. İnterpolasyonların bir tür zor yöntem olduğunu biliyorum. '
İkincisi, her frekans bölmesini istenen sıklıkta çıkarmak, böylece bölmeleri logaritmik olarak çıkarabilirim.
Ancak kritik bir hesaplama maliyeti problemi var: (belki de üzerinde) N ^ 2.
Üçüncüsü, LFT (Logaritmik Fourier Dönüşümü).
Bu, logaritmik aralıklı örnekler gerektirir ve inanılmaz derecede hızlı bir hızda tam olarak aradığım şeyi verir; /programming/1120422/is-there-an-fft-that-uses-a-logarithmic-division-of-frequency
Ama bu algoritma hakkında hiçbir fikrim yok. Makaleyi anlamaya ve uygulamaya çalıştım, ancak İngilizce ve matematiksel becerilerimin eksikliği nedeniyle imkansızdı.
Bu yüzden, LFT'nin uygulanması konusunda yardıma ihtiyacım var.