import krister.Ess.*; FFT fft; AudioInput in; int bufferSize; BeatZone bz; float [] zoneFill; void setup(){ size(532, 230); Ess.start(this); bufferSize = 1024; in = new AudioInput(bufferSize); fft = new FFT(bufferSize); fft.equalizer(true); in.start(); // set up our FFT normalization/dampening float minLimit=.005; float maxLimit=.05; float myDamp=.1f; int numAverages=32; fft.limits(minLimit,maxLimit); fft.damp(myDamp); fft.averages(numAverages); // set BeatZone bz = new BeatZone(fft, in, 3); bz.setZone(0, 0, 100); bz.setZone(1, 100, 400); bz.setZone(2, 400, 511); zoneFill = new float[]{ 255.0, 255.0, 255.0 }; noStroke(); } // Maximum fft 1.0 // Minimum fft 0.0 // After init to Ess FFT demo that is void draw(){ background(242, 240, 174); noStroke(); fill(131,104,81); for(int i=0; i 0.0 ? zoneFill[i] - 5 : 0.0; fill(color(250, 186, 10, zoneFill[i])); rect(10+bz.zoneStart[i], 10, bz.zoneEnd[i] - bz.zoneStart[i], 200); line(10+bz.zoneStart[i], bz.threshold[i]*200, 10 + bz.zoneEnd[i], bz.threshold[i]*200); } } public void audioInputData(AudioInput theInput) { fft.getSpectrum(in); bz.read(); } public void stop() { Ess.stop(); super.stop(); }