xxxxxxxxxx
39
let meter;
let waveform;
let bgColor = "#00FFFF";
let palette = ["#ff00c1","#9600ff","#4900ff","#00b8ff"];
let numBins = 1024;
let angle;
function rotateCamera() {
translate(cos(angle), sin(angle));
rotateY(angle);
camera(0, -300, (height*0.6) / tan(PI*30.0 / 180.0), 0, 0, 0, 0, 1, 0);
rotateY(-angle);
translate(-cos(angle), -sin(angle));
}
function setupAnalyzers() {
waveform = new Tone.Waveform(numBins);
player.connect(waveform);
meter = new Tone.Meter();
player.connect(meter);
}
function setup() {
createCanvas(400, 400, WEBGL);
player = new Tone.Player("arulo-down-on-you.mp3", setupAnalyzers)
.toDestination();
player.autostart = true;
}
function draw() {
if (!player.loaded) return;
// this is a decibel value, so approx -48 to 0
// but you can play with the limits, I like -37 to 8
let level = meter.getValue();
// this is an array of values from -1 to 1
let window = waveform.getValue();
}