Wednesday, February 22, 2017

FFT 1

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

Minim minim;
AudioPlayer raro;
FFT fft;
int bandas;
float ang;

void setup(){
 size(1080,720,OPENGL);
 bandas = 100;
 minim = new Minim(this);
 raro = minim.loadFile("raro.mp3");
 fft = new FFT(raro.bufferSize(), raro.sampleRate());
 fft.linAverages(bandas);
 raro.loop();
 colorMode(HSB, 255);
 background(0);
 ang =0;
}
void draw(){
background(map (raro.mix.level(),0,0.2,255,0));
ang+=0.001;
 fft.forward(raro.mix);
 for (int i=0; i<bandas; i+=1){
   rotateY (ang);
  pushMatrix();
  translate(map(i,0,bandas-1,100,width-100),height/2);
  noStroke();
  fill(map(i,0,bandas-1,0,255),raro.mix.level()*3000,255);
  box(20,fft.getBand(i)*300,20);
  popMatrix();
 }
}

No comments:

Post a Comment