xxxxxxxxxx
67
function preload(){
sound1 = loadSound('321248__annabloom__irish-song-1.wav');
sound2 = loadSound('baby crying.mp3');
}
function setup(){
let cnv = createCanvas(400,400);
cnv.mouseClicked(togglePlay);
fft = new p5.FFT();
sound2.amp(0.1);
}
function draw(){
background(220);
fill(0);
rect(10,50,80,40);
fill(0);
rect(100,50,80,40);
let spectrum = fft.analyze();
noStroke();
fill(255, 0, 255);
for (let i = 0; i< spectrum.length; i++){
let x = map(i, 0, spectrum.length, 0, width);
let h = -height + map(spectrum[i], 0, 255, height, 0);
rect(x, height, width / spectrum.length, h )
}
let waveform = fft.waveform();
noFill();
beginShape();
stroke(20);
for (let i = 0; i < waveform.length; i++){
let x = map(i, 0, waveform.length, 0, width);
let y = map( waveform[i], -1, 1, 0, height);
vertex(x,y);
}
endShape();
text('tap to play', 20, 20);
}
function togglePlay() {
if(mouseX>10 && mouseX < 90 && mouseY > 50 && mouseY < 90)
{
if (sound1.isPlaying()) {
sound1.pause();
} else {
sound1.loop();
}
}
if(mouseX>100 && mouseX < 190 && mouseY > 50 && mouseY < 90)
{
if (sound2.isPlaying()) {
sound2.pause();
} else {
sound2.loop();
}
}
}
// function mousePressed() {
// }