
このところprocessingのFFTライブラリ"minim"を使って作品を制作中。
師に頂いたコードを基に、とりあえず音を映像に反映させての表現を試みています。
某先輩に"blogはただの日記に終始するの?"的な助言を頂いたので
ここでひとつ、メモがてら今やっているコトを書いてみます。
間違いありましたればご指摘くださいませ。
上の画像は、その実験での産物です。
X軸 = 周波数
円の半径 = レベルになっているつもりです。
このminim 君ですが
fftLin.specSize(); で(513個に?)周波数帯に分けて
fftLin.getBand() でその帯域ごとのレベルを吐き出してくれている模様。(黒円)
ってことは513個の円がまさに秒画されているのですが
僕のマシン、G4君ではちょい荷が重かったです。
そこで、周波数帯をもっと広くしてレベル平均を出すのに
fftLin.avgSize() で周波数帯を分けて
fftLin.getAvg() 分けられた帯域ごとのレベルを出すってのもできる模様です。(青緑円)
ついでに
fftLin.linAverages(); で周波数を何分割するか指定できるっぽくて
最大で256 、最小で1が指定できますが (指定した数-1)に分けられている感じです。
しかし、やっていながら何ですが
FFTをしても、スゴいのはマシンやったりライブラリ(プログラム)やったりするワケで
パフォーマンスや作品として何かスゴくなるわけじゃないと気がつきました。(voice.zeroの方が言ったのを聞いてですがw)
音をとったそれを、最終的にどう出力するかが一番の肝っちゃろうなと
目下苦心しております。
頑張ろー

comment