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);
}