I used a Teensy++ , an excellent microcontroller development system created here in Portland by a friend of mine - Paul Stoffregen. It's an AVR based microcontroller - in some ways similar to the Arduino, but utilizing a different chip with more i/o, and memory, a smaller footprint, and real USB onboard a single chip. Not really being a programmer, I used Paul's modified Arduino IDE (Teensyduino), which allowed me to play with plenty of existing Arduino examples floating around the net. It was simple enough to get my 3 buttons, 1 switch, and 1 potentiometer to send out Midi data using Paul's Teensyduino USBMidi library - and from there I could pipe audience interactions via those buttons, to a patch I made in Pure Data to generate the audio. I also added a couple LEDs to light when certain buttons were pressed, or the switch was on/off.
Pure Data is a FLOSS visual programming environment geared primarily towards multimedia artists. It's the free cousin of the commercial MaxMSP. My patch for this piece was based around an example patch I made for a recent Dorkbot workshop to demonstrate classic 2-operator Chowning FM Synthesis. For this piece I used 3 similar 2 operator synthesizers, plus one subtractive synthesizer, playing back a few simple sequences that are manipulated by the buttons, switch, and pot on the box. Each switch sends a simple midi on/off, which I then use to turn running sequences on/off, or in some cases to step through sequences.
The Dancer takes her queues from the 3 different elements introduced by pressing the buttons, or flipping the switch.
I'll put the pd patch, and teensyduino sketch on my website soon.. http://www.anestheticaudio.com