Processing#9
「sound」
音に反応する作品
open processing で描画されなかったのでコードだけ載せます
気になった人は各自でみてください
import ddf.minim.*;
import ddf.minim.analysis.*;
import ddf.minim.effects.*;
import ddf.minim.signals.*;
import ddf.minim.spi.*;
import ddf.minim.ugens.*;
import ddf.minim.*;
Minim minim;
AudioInput in;
float volumeIn;
float d = 0;
float sa;
float easing = 0.1;
float center_x = 0;
float center_y = 0;
float color_r = 50;
float color_g = random(255);
float color_b = 255;
void setup() {
size(500, 500);
minim = new Minim(this);
in = minim.getLineIn(Minim.MONO, 512);
colorMode(HSB,360,100,100);
}
float ds = new float[1024];
float cxs = new float[1024];
float cys = new float[1024];
float rs = new float[1024];
float gs = new float[1024];
float bs = new float[1024];
int ds_length = 0;
float dd = 0;
float pre_d = 0;
float pre_dd = 0;
boolean isChangable = false;
int defaultLeapCount = 50;
int leapCount = defaultLeapCount;
void draw(){
background(360);
volumeIn = map(in.left.level(), 0, 0.05, 0, width);
sa = volumeIn - d;
if(abs(sa) > 0.5){
d = d + sa * easing;
}
dd = d - pre_d;
if(dd*pre_dd<0){
ds[ds_length] = d;
cxs[ds_length] = center_x;
cys[ds_length] = center_y;
rs[ds_length] = color_r;
gs[ds_length] = color_g;
bs[ds_length] = color_b;
ds_length += 1;
}
pre_d = d;
pre_dd = dd;
noStroke();
fill(55,99,99);
ellipse(250, 250, d, d);
fill(360);
textSize(50);
text("That's fun?",width/8,height*0.2);
}
ほぼほぼ写経
個人的には面白いものができたと思う
参考サイト