/*
Joanne Chui
Section C
Project 10
*/
let osc;
function preload() {
// call loadImage() and loadSound() for all media files here
mySnd = loadSound("https://courses.ideate.cmu.edu/15-104/f2019/wp-content/uploads/2019/11/xylophone.wav");
mySnd.setVolume(0.5);
}
function setup() {
createCanvas(400, 300);
background(255, 226, 145);
osc = new p5.TriOsc();
osc.start();
}
function draw() {
//glasses
fill(255, 240, 200);
stroke("white");
strokeWeight(2);
rect(25, 100, 50, 100);
rect(125, 100, 50, 100);
rect(225, 100, 50, 100);
rect(325, 100, 50, 100);
//drink
fill(192, 225, 237);
noStroke();
rect(27, 120, 46, 78);
rect(127, 140, 46, 58);
rect(227, 160, 46, 38);
rect(327, 180, 46, 18);
}
function mousePressed(){
//glass clink
if(mouseX > 25 & mouseX < 75 && mouseY > 100 && mouseY < 200){
mySnd.play();
}
if(mouseX > 125 & mouseX < 175 && mouseY > 100 && mouseY < 200){
mySnd.play();
}
if(mouseX > 225 & mouseX < 275 && mouseY > 100 && mouseY < 200){
mySnd.play();
}
if(mouseX > 325 & mouseX < 375 && mouseY > 100 && mouseY < 200){
mySnd.play();
}
//pitch dependent on height of water
let f = map(mouseX, 0, 375, 100, 800);
osc.freq(f);
}
I was interested in how a combination of sounds could produce an interesting effect. I combined the sound of the glass clinking with the sound effect of the pitches created when blowing on glasses. I like how simple the project is.