The song is meant to be played live with a guitar and voice plus a piece of Chuck code that you can find here
I used an Edirol FA-101 Firewire Audio Interface plugged into a MacBook Pro running minAudicle. One output of the FA-101 was sending a stereo signal to the Yamaha mixing table of the CCRMA Stage. This signal contained the musical part of the song by Chuck. The other output was sending the metronome to the headsets that I was using, so that I was the only one who could hear the metronome, thus being synchronized with the song during all the performance.
I was using an AKG microphone for the voice plugged directly to the table, and also a Taylor acoustic guitar plugged directly to the table as well. I programmed the mixing table so that the voice and the guitar had a built-in reverb effect. I was using the 8 "floor" speakers that surround the CCRMA stage.
The mixing table had a scene created by me, so it was easy to store all the volume and effects information, and recall it later.
My code is basically made out of different functions that represent different parts of the song (e.g. verse_guitar(), metronome(), ...). Some part of the code is based on the Greensleeves code, since I was usign a lot of musical notes. I also used some random sine generators to create different effects, playing with the pan, the gain and the frequency.
The code sporks the function "clap", which is the main function that keeps track of the number of bars, the different type of bars (most part of the song is 7/4 -or 3/4 and 4/4-), and sporks the other functions in the right time.
You can find the whole Chuck Code here, which has lots of comments and it can be easily followed.
Thanks to: Adam Sheppard for the translation, Nick Kruge for helping me out with the sound volumes, Carr Wilkerson and Jay Kadis for helping me out setting up the mixing table in the CCRMA stage, Joachim Ganseman for lending me his nice mic, Michelle Lou for recording the performance, Michael Berger for reading a book in class with a strange English accent (not as strange as mine), Chris Chafe for teaching us this interesting course, Ge Wang for lending me the Audio Interface (and a pick!) and last but not least, Diana Dávila for inspiring me to write this song.