/* iphonesound.pde simple example to show how an iphone with oscemote can act as an interface to a processing sketch this example changes the freq of a sine wave based on the iphone's accelerometer rob@rahji.com http://www.robduarte.com http://creativecommons.org/licenses/by/3.0/us/ */ import ddf.minim.*; import ddf.minim.signals.*; import oscP5.*; import netP5.*; Minim minim; AudioOutput out; SineWave sine; OscP5 oscP5; void setup() { minim = new Minim(this); out = minim.getLineOut(Minim.STEREO); // create a sine wave Oscillator, set to 440 Hz, at 1.0 amplitude, sample rate from line out sine = new SineWave(440, 1, out.sampleRate()); sine.portamento(200); out.addSignal(sine); oscP5 = new OscP5(this,8000); // start listening on port 8000 for incoming osc messages // call freqchange() in response to an incoming accelerometer osc message oscP5.plug(this,"freqchange","/acceleration/xyz","fff"); } public void freqchange(float x, float y, float z) { float freq = map(x, -3.0, 3.0, 60, 1500); sine.setFreq(freq); } void draw() { } // shut down the audio properly when the stop button is pressed void stop() { out.close(); minim.stop(); super.stop(); }