var fft,mic; function setup(){ var myCanvas = createCanvas(windowWidth,windowHeight); //you must keep this line unmodified fft = new p5.FFT(); ellipse(400,400,50,50) colorMode(HSB,100) spectrums=[] mic = new p5.AudioIn(); mic.start(); fft = new p5.FFT(); fft.setInput(mic); last_time = millis() } function recurse(x,y,v){ fill(v,v%100,100) ellipse(x,y, v/4,v/4) if(v/2 > .05){ // recurse(x,y,v/2) } } function draw() { background(0,5) //noStroke() //if(millis()-last_time> 50){ s = fft.analyze(256) last_time=millis() //} //spectrums.unshift(s) //if(spectrums.length > 40){ // spectrums.splice(-1,1) //} //fill(spectrums[si][0]%100,spectrums[si][0]%100,100) for(i=0;i<s.length;i++){ recurse(i,height/2,v) } }