音楽をできるだけ正確に分析するようにしています。もちろんFFTを試しましたが、いくつか問題がありました。
低周波は人間の聴覚よりも解像度が非常に低いことがわかりました。この問題を解決するために非常に長い時間のFFTを試してみましたが、44100Hzのサンプルレートで8192サンプル/秒で分析しても(時間分解能の欠如を意味します)、低周波数では十分な分解能が得られませんでした。
私はいくつかの解決策があることを発見しました。
最初に、FFTビンの2次補間。
しかし、それは完璧な方法ではないようです。この方法の問題は次のとおり
です。1。「freqビン間のfreqを決定する場合、補間を行うためにどの3つのビンを選択する必要がありますか?」
2.「これを行っても、結果に関する実際の追加情報はありません。補間は一種のトリッキーな方法だと知っています。」
次に、目的の頻度で各周波数ビンを抽出するので、ビンを対数的に抽出できます。
しかし、重大な計算コストの問題があります:(多分)N ^ 2。
第三に、LFT(対数フーリエ変換)。
これは対数間隔のサンプルを必要とし、信じられないほど速い速度で私が探しているものとまったく同じ結果をもたらします。/programming/1120422/is-there-an-fft-that-uses-a-logarithmic-division-of-frequency
しかし、そのアルゴリズムについてはわかりません。紙を理解して実装しようとしましたが、英語と数学のスキルが不足していたため不可能でした。
したがって、LFTの実装の助けが必要です。