For the past few months, there has been an idea rattling around in the back of my mind. The idea was to build a performance art-ish music device that could be controlled by “planting” fake plants in fake pots. Well last Tuesday, the day before my first day at McGill, I decided that it was time to build it. I used USB extension cables, the female end in the pot and the male end on the stem of the flower, to enable the user to “plant” the flowers. I wanted each flower to somehow generate the music, but that turned out to be too complicated for the project difficulty that I wanted, so instead I connected the signal lines on each of the flowers, and then connected the signal lines on the female ports to an Arduino. So when the flowers are plugged in, the circuit is completed, and the Arduino tests the pins to detect this. Whenever the state of one of the ports changes, the Arduino sends the list of which ports are plugged in to a python script on the computer.
The python script sporks a ChucK shred, which plays the music. ChucK is an interpreted programming language that is specifically designed for audio generation, which makes it perfect for this project. ChucK is beautifully simple to use and learn, and the virtual machine can be run in a loop as a server, and the scripts can be added or removed on the fly. This is similar to “forking a thread,” but in ChucK you “spork a shred.” Because the creators are awesome that way.
I plan to write my own shreds, but I wanted to create a quick demo video, so I used a few of the sample shreds that come with ChucK. Unoriginal? Yes. Lazy? Yes. But I gave full credit for the shreds to the creators (Ge Wang and Perry Cook,) and I plan to create my own shreds in the near future that will be more fitting to the medium. Besides, my goal was to demonstrate the hardware, not the software. (As a note, I did look for copyright information in the shreds, and didn’t find any. I don’t think there is a copyright issue, since the shreds are just software creating the music, and not the music itself, but I could be wrong. If I am, please, please, PLEASE let me know me, and I will rectify the situation.)
I recorded a video of a small piece performed with the above example shreds, and it turned out pretty well! See it here: http://www.youtube.com/watch?v=R-WKUTi2_X0 Ignore the note at the bottom of the video claiming that the song used is “Twitter” by Watchmen. It is not. I have listened to that particular song, and while the bassline is quite similar, the song is completely different. This is frustrating for me, because it discredits my achievement, and makes it look like I’m simply ripping someone else off. However, I understand that YouTube has a lot of copyright issues to deal with, so I’ll be patient and wait for my dispute to work its way through YouTube HQ.
Update: YouTube has removed the notice saying that my video contained copyrighted material. Thank you, YouTube! I’m not sure when it happened exactly, but I’m impressed that they managed to get it fixed so quickly over the Labor Day weekend.