//wakeup.call   
//becca shostak
//desma28 final project 

//the louder you are, the more annoyed he gets.

//**NOTE** you need to have a microphone &&
//the jsyn plugin installed in order to run 
//wakeup.call. http://www.softsynth.com/jsyn/plugins/

BImage[] faces = new BImage[58];

void setup(){
   size(600,300);
   Sonia.start(this);                                              // Start Sonia engine
   LiveInput.start(128);                                           // Start LiveInput and return 256 FFT frequency bands
   framerate(5);
   smooth();
   
  faces[0]       =     loadImage("1.JPG"); 
  faces[1]       =     loadImage("2.JPG"); 
  faces[2]       =     loadImage("3.JPG"); 
  faces[3]       =     loadImage("4.JPG"); 
  faces[4]       =     loadImage("5.JPG"); 
  faces[5]       =     loadImage("6.JPG"); 
  faces[6]       =     loadImage("7.JPG"); 
  faces[7]       =     loadImage("8.JPG"); 
  faces[8]       =     loadImage("9.JPG"); 
  faces[9]       =     loadImage("10.JPG"); 
  faces[10]      =     loadImage("11.JPG"); 
  faces[11]      =     loadImage("12.JPG");
  faces[12]      =     loadImage("13.JPG"); 
  faces[13]      =     loadImage("14.JPG"); 
  faces[14]      =     loadImage("15.JPG"); 
  faces[15]      =     loadImage("16.JPG"); 
  faces[16]      =     loadImage("17.JPG"); 
  faces[17]      =     loadImage("18.JPG"); 
  faces[18]      =     loadImage("19.JPG"); 
  faces[19]      =     loadImage("20.JPG"); 
  faces[20]      =     loadImage("21.JPG"); 
  faces[21]      =     loadImage("22.JPG");
  faces[22]       =    loadImage("23.JPG"); 
  faces[23]       =    loadImage("24.JPG"); 
  faces[24]       =    loadImage("25.JPG"); 
  faces[25]       =    loadImage("26.JPG"); 
  faces[26]       =    loadImage("27.JPG"); 
  faces[27]       =    loadImage("28.JPG"); 
  faces[28]       =    loadImage("29.JPG"); 
  faces[29]       =    loadImage("30.JPG"); 
  faces[30]      =     loadImage("31.JPG"); 
  faces[31]      =     loadImage("32.JPG");
  faces[32]      =     loadImage("33.JPG"); 
  faces[33]      =     loadImage("34.JPG"); 
  faces[34]      =     loadImage("35.JPG"); 
  faces[35]      =     loadImage("36.JPG"); 
  faces[36]      =     loadImage("37.JPG"); 
  faces[37]      =     loadImage("38.JPG"); 
  faces[38]      =     loadImage("39.JPG"); 
  faces[39]      =     loadImage("40.JPG"); 
  faces[40]      =     loadImage("41.JPG"); 
  faces[41]      =     loadImage("42.JPG");
  faces[42]      =     loadImage("43.JPG"); 
  faces[43]      =     loadImage("44.JPG"); 
  faces[44]      =     loadImage("45.JPG"); 
  faces[45]      =     loadImage("46.JPG"); 
  faces[46]      =     loadImage("47.JPG"); 
  faces[47]      =     loadImage("48.JPG"); 
  faces[48]      =     loadImage("49.JPG"); 
  faces[49]      =     loadImage("50.JPG"); 
  faces[50]      =     loadImage("51.JPG"); 
  faces[51]      =     loadImage("52.JPG");  
  faces[52]      =     loadImage("53.JPG"); 
  faces[53]      =     loadImage("54.JPG"); 
  faces[54]      =     loadImage("55.JPG"); 
  faces[55]      =     loadImage("56.JPG"); 
  faces[56]      =     loadImage("57.JPG"); 
  faces[57]      =     loadImage("58.JPG"); 
  
}
void loop(){
   
   getMeterLevel(); // Get input volume
  
    
}
              
   void getMeterLevel(){                                               // get Peak level for each channel (0 -> Left , 1 -> Right)
  
   float meterDataLeft = LiveInput.getLevel(Sonia.LEFT);
   float meterDataRight = LiveInput.getLevel(Sonia.RIGHT);

   float left = meterDataLeft*height;
   float right = meterDataRight*height;
   
   float n = ((left + right)/2);                                      //Combine L + R channels into one value
   
   if(n >= 120) {  
   
   image(faces[int (random(37 , 49))], 0, 0); }
   
    if(n >= 100 && n < 120) {
   
   image(faces[int (random(6 , 22))], 0, 0); }
   
    if(n >= 50 && n < 100) {
   
   image(faces[int (random(51 , 58))], 0, 0); }
   
     if(n < 50 && n > 30) {
   
   image(faces[int (random(28, 32))], 0, 0); }
   
     if(n < 30 && n > 10) {
   
   image(faces[int (random(23, 26))], 0, 0); }
   
    if(n < 10) {
   
   image(faces[int (random(1, 5))], 0, 0); }
   
   
}

                                                                    // Safely close the sound engine upon Browser shutdown
    public void stop(){
    
    Sonia.stop();
    super.stop();
}
 

Project 4: Context
Extend an idea you've explored previously in your life, but adapt it to the context of an interactive system which requires the viewer to engage with the material.