Daily Creative Coding

元「30 min. Processing」。毎日、Creative Codingします。

マイク入力の音の大きさに応じて円の大きさを変える

f:id:aa_debdeb:20151031152747j:plain
/**
* Circles responding Sound Level
*
* @author aa_debdeb
* @date 2015/11/02
*/

import ddf.minim.spi.*;
import ddf.minim.signals.*;
import ddf.minim.*;
import ddf.minim.analysis.*;
import ddf.minim.ugens.*;
import ddf.minim.effects.*;

Minim minim;
AudioInput in;

void setup(){
  size(500, 500);
  minim = new Minim(this);
  in = minim.getLineIn(Minim.STEREO, 512); 
  background(0);
}

void draw(){
  colorMode(RGB, 255);
  fill(0, 150);
  rect(-1, -1, width, height);
  colorMode(HSB, 360, 100, 100);
  float brightness = 50 + map(in.mix.level(), 0, 0.5, 0, 50);
  fill(0, 100, brightness);
  float radious = 8 + map(in.mix.level(), 0, 0.5, 0, 8);
  for(int x = 0; x < 10; x++){
    for(int y = 0; y < 10; y++){
      ellipse(70 + x * 40, 70 + y * 40, radious *2, radious * 2);
    }
  }
}

void stop(){
  in.close();
  minim.stop();
  super.stop();
}