サウンド用のライブラリ、minimを使った。
soundライブラリはモノラルしか使えないので。
下記のブログを参考にした。
Processingで音楽に連動する動画が簡単につくれた話
サンプルコード見てたらminimの方が便利そうだね。
知ってたけどめんどくさくて手を出さなかったが、ちょくちょくやるか。
import ddf.minim.analysis.*;
import ddf.minim.*;
Minim minim;
AudioPlayer player;
PImage img;
FFT fft;
int specSize;
float volume;
void setup(){
size(510, 1000);
background(2);
minim = new Minim(this);
player = minim.loadFile("music.mp3",512);
fft = new FFT(player.bufferSize(), player.sampleRate());
player.play();
}
void draw(){
noStroke();
img = loadImage("orion.jpg");
fft.forward(player.mix);
specSize = fft.specSize();
for(int i = 0; i < specSize; i+=(int)random(10)){
int h = (int)map(i, 0, specSize, 0, height);
volume = fft.getBand(i);
if(volume < 3){ volume = 0; }
int ellipse_width = (int)((int)volume * (h/10));
if(h >= 0 && h <= height && ellipse_width >=10){
int x = (int)random(0,800);
for(int w = ellipse_width; w > 0; w -= w*w){
fill(img.get(x,h),50);
ellipse(x, h, w,w);
}
}
}
}
void stop(){
player.close();
minim.stop();
super.stop();
}