xxxxxxxxxx
//The volume is a global variable
var volume = 0;
function setup() {
createCanvas(800, 800);
background("#7EBDC2");
// Create an Audio input
mic = new p5.AudioIn();
// start the Audio Input
mic.start();
}
function draw() {
createCanvas(800, 800);
background("#7EBDC2");
// Get the overall volume (between 0 and 1.0)
var v = mic.getLevel();
//Smooth the volume variable with an easing function
volume += (v - volume) / 3;
//Oh my god Helen I'm so sorry
noStroke();
//Inkblot Halo!
fill("#BB4430")
ellipseMode(CENTER);
var green = map(volume, 0, 1, 68, 300);
fill(187, green, 48);
ellipse(400,400,600,600)
fill(187, 68, 48)
var ellipseSize = map(volume, 0, 1, 200, 500);
ellipse(625, 110, ellipseSize, ellipseSize );
var ellipseSize = map(volume, 0, 1, 75, 200);
ellipse(740, 170, ellipseSize, ellipseSize );
var ellipseSize = map(volume, 0, 1, 30, 80);
ellipse(700, 230, ellipseSize, ellipseSize );
var ellipseSize = map(volume, 0, 1, 90, 200);
ellipse(140, 150, ellipseSize, ellipseSize );
var ellipseSize = map(volume, 0, 1, 50, 90);
ellipse(115, 225, ellipseSize, ellipseSize );
//hair (back base)!
fill("#231F20")
rectMode(CENTER);
rect(400,320,300,340,180,180,100,100)
//top
fill("#EFE6ED")
rect(400,770,350,600,100,100,0,0)
//neck
fill("#7EBDC2")
rect(400,450,100,200,0,0,180,180)
//right ear
fill("#F3DFA2")
rect(290,340,40,55,180,180,100,100)
//face base
fill("#F3DFA2")
rect(400,320,210,270,180,180,100,100)
//eyes
stroke("#231F20")
strokeWeight(1)
fill("#EFE6ED")
ellipse(350,300,60,30)
ellipse(450,300,60,30)
noStroke();
fill("#231F20")
var ellipseSize = map(volume, 0, 1, 30, 1);
ellipse(350, 300, ellipseSize, ellipseSize );
var ellipseSize = map(volume, 0, 1, 30, 1);
ellipse(450, 300, ellipseSize, ellipseSize );
//nose
fill("#BB4430")
rect(400,350,40,55,180,180,100,100)
//mouth
var ellipseSize = map(volume, 0, 1, 40, 150);
fill("#7EBDC2")
ellipse(400, 415, ellipseSize, ellipseSize / 2 );
//right eyebrow
fill("#231F20")
rect(350,270,45,6)
//hair (bangs/front)!
fill("#231F20")
rect(450,230,130,100,0,200,0,180)
//right arm
stroke("#231F20")
strokeWeight(1)
fill("#EFE6ED")
rect(220,750,100,300)
//right hand
fill("#F3DFA2")
rect(220,550,100,100,90,90,0,0)
noStroke();
//paintbrush
fill("#231F20")
rect(220,550,20,200)
fill("#7EBDC2")
rect(220,440,20,30)
fill("#F3DFA2")
rect(220,400,20,50)
stroke("#231F20")
strokeWeight(1)
fill("#BB4430")
rect(220,380,20,20)
noStroke();
//notebook
fill("#231F20")
rect(530,735,200,225)
stroke("#231F20")
strokeWeight(3)
line(455,600,455,700)
line(480,600,480,700)
line(505,600,505,700)
line(530,600,530,700)
line(555,600,555,700)
line(580,600,580,700)
line(605,600,605,700)
noStroke();
//left hand
fill("#F3DFA2")
rect(600,750,110,100,0,90,0,0)
}