今回は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 件のコメント:
コメントを投稿