The final codes.

processing final play part:


import processing.serial.*;

import ddf.minim.*;

AudioPlayer player1;

AudioPlayer player2;

AudioPlayer player3;

AudioPlayer player4;

AudioPlayer player5;

AudioPlayer tune;

Minim minim;

AudioInput in;

Serial myPort;

int val;

boolean buttonPress;

int counter = 0;

void setup()

{

 size(250,250);

 textMode(SCREEN);

 minim = new Minim(this);

 println(Serial.list());

 String portName = Serial.list()[0];

 myPort = new Serial(this, portName, 9600); 

 minim = new Minim(this);

 player1 = minim.loadFile(“alarm 1.wav”, 2048);

 player2 = minim.loadFile(“alarm 2.mp3”, 2048);

 player3 = minim.loadFile(“alarm 3.mp3”, 2048);

 player4 = minim.loadFile(“alarm 4.wav”, 2048);

 //player5 = minim.loadFile(“alarm 5.mp3”, 2048);

}

void draw()

{

  background(0);

 if( myPort.available() > 0){

  val = myPort.read();

 } 

 println(val);

 background(500);

 if(val == 0){

   tune = player1;

 }

 else if(val == 1){

  tune = player2; 

 }

 else if(val == 2){

  tune = player3; 

 }

 else if(val == 3){

  tune = player4;

  counter = 0; 

 }

 if(key == ‘a’){

  tune.play(); 

 }

 else{

  tune.pause(); 

 }

 rect(50, 50, 100, 100);

}

Processing record part


/**

  * This sketch demonstrates how to an <code>AudioRecorder</code> to record audio to disk and then immediately 

  * play it back by creating a new <code>AudioPlayer</code> for the <code>AudioRecording</code> returned by <code>save</code>. 

  * To use this sketch you need to have something plugged into the line-in on your computer. Press ‘r’ to toggle 

  * recording on and off and the press ‘s’ to save to disk. The recorded file will be placed in the data folder of 

  * the sketch.

  */

import ddf.minim.*;

Minim minim;

AudioInput in;

AudioRecorder recorder;

AudioPlayer player;

void setup()

{

  size(512, 200, P3D);

  textMode(SCREEN);  

  minim = new Minim(this);

  recorder = minim.createRecorder(in, “myrecording.wav”, true);

  player = minim.loadFile(“myrecording.wav”, 2048);

  player.play();

  textFont(createFont(“Arial”, 12));

}

void draw()

{

  background(0); 

  stroke(255);

  for(int i = 0; i < in.left.size()-1; i++)

  {

    line(i, 50 + in.left.get(i)*50, i+1, 50 + in.left.get(i+1)*50);

    line(i, 150 + in.right.get(i)*50, i+1, 150 + in.right.get(i+1)*50);

  }

  if ( recorder.isRecording() )

  {

    text(“Now recording…”, 5, 15);

  }

  else

  {

    text(“Not recording.”, 5, 15);

  }

}

void keyReleased()

{

  if ( key == ‘r’ ) 

  {

    if ( recorder.isRecording() ) 

    {

      recorder.endRecord();

    }

    else 

    {

      recorder.beginRecord();

    }

  }

  if ( key == ‘o’ )

  {

    player.play();

  }

  if ( key == ‘s’ )

  {

    if ( player != null )

    {

        player.close();

    }

    player = recorder.save();

    player.play();

  }

}

void stop()

{

  in.close();

  if ( player != null )

  {

    player.close();

  }

  minim.stop();

  super.stop();

}

Arduino part

int switchPin = A0;

int sensorValue = 0;

void setup(){

 // pinMode(switchPin, INPUT);

Serial.begin(9600); 

}

void loop(){

  sensorValue = analogRead(switchPin);

  //Serial.println(sensorValue, 0);

  if(sensorValue == 0){

   Serial.print(0,0); 

  }

  else if(sensorValue >= 100 && sensorValue <= 200){

    Serial.print(1,0);

  }

  else if(sensorValue >= 201 && sensorValue <= 400){

    Serial.print(2,0);

  }

  else if(sensorValue >= 401 && sensorValue <= 600){

    Serial.print(3,0);

  }

  delay(100);

}

03/22/12 at 8:00am