金曜日, 7月 20, 2007

sketch20070719

今回はFFT使って周波数帯域毎に分けるsketch。

FFTクラスのインスタンスにgetBand()メソッドを送り、引数にインデックスを与えてその周波数帯の値を得る。
サンプリングレートが44100HzでFFTサイズ(timeSize)を512にしているので、帯域幅は44100/512≒86Hz。つまりgetBand(0)は86*0=0Hz、getBand(1)は86*1=86Hz、getBand(2)は86*2=172Hz...という風に86Hz毎に周波数のエネルギーを解析する。0から20までのインデックスをfor文で回す。さらにその中でif文を使って高域・中域・低域に分けている。やっとMax/MSPでやってたことがコードになってきた。

fftstudy : Built with Processing

マウスの位置をサイン波の周波数にマッピングしたものも作った(processingIDEで実行すると周波数がprintされてます)。

mousine : Built with Processing

0 件のコメント: