xxxxxxxxxx
54
let sample;
let button;
let mic;
let fft;
let amp;
let duration;
let currentTime = 0;
let delay;
function preload() {
sample = loadSound("https://cdn.jsdelivr.net/gh/processing/p5.js-website@master/src/data/examples/assets/Damscray_-_Dancing_Tiger_02.mp3");
}
function setup() {
createCanvas(256, 256);
// sample.play();
fft = new p5.FFT(0.8, 256);
// amp = new p5.Amplitude();
noStroke();
duration = sample.duration();
background(100);
mic = new p5.AudioIn();
mic.start();
fft.setInput(mic);
delay = new p5.Delay();
// delay.process() accepts 4 parameters:
// source, delayTime, feedback, filter frequency
// play with these numbers!!
sample.play();
delay.process(sample, .12, .7, 2300);
}
function draw() {
background(200);
currentTime = sample.currentTime();
let spectrum = fft.analyze();
stroke(255, 0, 255);
for (let i = 0; i < spectrum.length; i += 1) {
line(i, height, i, height - spectrum[i]);
}
// let vol = amp.getLevel();
// let diam = map(vol, 0, 0.5, 10, 200);
// let linePosition = map(currentTime, 0, duration, 0, width);
}