A big thanks to Flora Davoll,В Tom Schofield,В  Adrian Park and all the CL Techs (even Rich).

Final Code.

New SetUp Sketch

After discussion with the group we’ve moved a few things around as to allow a good flow of people around the space as well as to accomodate all exhibiters.

As can be seen I am now going to have the back left space as you enter Space 4. The screen is going to be 2.4m long by 0.69 wide. to create a panorama and keep to my 32:9 aspect ratio. I hope that this will mean that the viewer is engulfed with a full visual spectrum and allow them to explore the space successfully.

Audio Code for piece

/**Using sketch by Damien Di Fede as basis to affect audio volume as the viewer approaches the screen.
Working with a frequency of 50 and then mapping the bandwith to the viewers Z co=ordinate. This is to allow for a multi sensory experience. Not only will the sketch be aware of the users location and be reacting to them, the sound of waves will intensify as they near the screen, further bringing attention to themselves and their role within the investment and narrative within the artwork.

* Band Pass Filter
* by Damien Di Fede.
* This sketch demonstrates how to use the BandPass effect.
* Move the mouse left and right to change the frequency of the pass band.
* Move the mouse up and down to change the band width of the pass band.

import ddf.minim.*;
import ddf.minim.effects.*;

Minim minim;
AudioPlayer groove;
BandPass bpf;

void setup()
size(512, 200, P2D);

minim = new Minim(this);

groove = minim.loadFile(“STE-020-MP3 File.mp3”);
// make a band pass filter with a center frequency of 440 Hz and a bandwidth of 20 Hz
// the third argument is the sample rate of the audio that will be filtered
// it is required to correctly compute values used by the filter
bpf = new BandPass(440, 20, groove.sampleRate());

void draw()
// draw the waveforms
// the values returned by left.get() and right.get() will be between -1 and 1,
// so we need to scale them up to see the waveform
for(int i = 0; i < groove.right.size()-1; i++)
float x1 = map(i, 0, groove.bufferSize(), 0, width);
float x2 = map(i+1, 0, groove.bufferSize(), 0, width);
line(x1, height/4 – groove.left.get(i)*50, x2, height/4 – groove.left.get(i+1)*50);
line(x1, 3*height/4 – groove.right.get(i)*50, x2, 3*height/4 – groove.right.get(i+1)*50);
// draw a rectangle to represent the pass band
fill(255, 0, 0, 60);
rect(mouseX – bpf.getBandWidth()/20, 0, bpf.getBandWidth()/10, height);

void mouseMoved()
// map the mouse position to the range [100, 10000], an arbitrary range of passBand frequencies
float passBand = 50;
float bandWidth = map(mouseY, 0, height, 50, 500);
// prints the new values of the coefficients in the console

void stop()
// always close Minim audio classes when you finish with them
// always stop Minim before exiting