ねこでじ(Nekodigi)

Nekodigi’s diary

学習中の気づきをまとめています。応援よろしくお願いします

【Processing】自分で実装したFFTでリアルタイム音声波形表示

成果物

www.youtube.com
白がライブラリのFFT、虹色が今回のFFTです。周波数が周りに散らばってしまっていますが、ピーク周波数はぴったり合っています。見た目でいえば今回のFFTの方が好きです。左右対称になるのは仕様なのかな?ちょっとわからないことがまだあるのでこれから勉強していこうと思います。

仕組み

こちらのサイトを参考にしました。
qiita.com
バタフライ演算について今までわからなかったのですが、ここを見てスッキリしました。ぜひご覧ください。
元の式には、ネイビア数の複素数乗の項目があるので、三角関数を使って置き換えています。

コード

DFTもFFTもどちらも実装しています。音声データはMinimライブラリを使って取得しています。FFTの動作チェックもMinimで行っています。