xxxxxxxxxx
64
let kick;
let snare;
let kickPattern = [1, 0, 0, 0, 1, 0, 0, 0];
let snarePattern = [0, 0, 1, 0, 0, 0, 1, 1];
let bellPattern = [1, 0, 1, 1.25992, 1, 1.25992, 1.49831, 1.25992];
let part;
let isPlaying = false;
function preload() {
kick = loadSound("kick.wav");
snare = loadSound("snare.wav");
bell = loadSound("bell.wav");
}
function setup() {
createCanvas(400, 400);
masterVolume(0.7);
let kickPhrase = new p5.Phrase(kick, playKick, kickPattern);
let snarePhrase = new p5.Phrase(snare, playSnare, snarePattern);
let bellPhrase = new p5.Phrase(bell, playBell, bellPattern);
part = new p5.Part();
part.addPhrase(kickPhrase);
part.addPhrase(snarePhrase);
part.setBPM(60);
// uncomment to play bell phrase instead
// part.addPhrase(bellPhrase);
// part.setBPM(40);
}
function mousePressed() {
if (!isPlaying) {
part.start();
part.loop();
isPlaying = true;
} else {
part.stop();
isPlaying = false;
}
}
function playKick(time, rate) {
kick.rate(rate);
kick.play(time);
}
function playSnare(time, rate) {
snare.rate(rate);
snare.play(time);
}
function playBell(time, rate) {
bell.rate(rate);
bell.play(time);
}
function draw() {
background(220);
text("Click to Toggle Playing Loop!", width/2-70, height/2);
}