Recently I have had the opportunity to be involved in courses and work that allow me to use new technologies to create new and exciting things. The beginning of the projections class was no different. From day one, we began talking about how people have started using projections, how they can be involved in theater, and how they can be used in new ways even outside of theater. I immediately started thinking of ways that I wanted to use projections in the future and began exploring different videos online or reading about different projects people had put together.
Once I began starting to look for ideas for my final project, I began to think more about what I actually wanted to accomplish. I have always thought of myself as more of a technical person than an artist when it comes to these topics that can blur the line and so for this project I wanted to challenge myself to try to stay pretty even between the two. After looking at many different projections projects, I got the idea to use a software called MAX to realize any ideas I had. My experience with MAX has taught me that it can take almost any input and turn it into a new output, so why not use it with a projector.
Now that I had decided to use MAX for the software to run whatever my project was to be, I began looking at projects that others had done trying to find some inspiration. I ended up finding a patch online that was a 6 zone motion trigger. You would setup a camera and then the video was brought into a really nice GUI that allowed the user to select a box and assign it to one of 6 triggers. That would then trigger a song or noise that was also assigned to that zone. At this point, I was still not entirely sure what I wanted to do with the triggers, but I wanted to try to adapt this patch to create more of them and have flexibility with more zones. I failed at getting the patch to do anything intelligent. My next step was to then contact the original creator and ask for any tips or hints as to something I was missing. The answer I got back was something similar to: “I haven’t worked on that patch in such a long time. I opened it up and got lost in there myself. Good luck.”
Back to square one. I now started looking into ways to create my own motion trigger, completely from scratch, still with no idea what I was going to do with it. I finally got through the process of creating a trigger, a little differently than the original had worked and it ended up being a little less sensitive and a little less responsive, but it worked. Now to figure out what I wanted to do with it.
After a lot of different ideas and thoughts running around I finally picked a Piano. It would be something that everyone was pretty familiar with and would be able to interact with once it was created. Programming the keyboard for the piano was fairly easy. I used midi commands within MAX to send a note every time a zone was triggered. I used some of my previous work in MAX to enhance the piano a little bit allowing the scale and starting note to be dynamic, allowing a user to change where it started and what scale it played. It only seemed natural that I add the ability to change the instrument they play too, which was not hard to program, but was very repetitive.
The next step was to find a way to make all of those options interactive as well. I went and dug out my old (hardly used) Novation Launchpad, a 64 button square midi controller. This seemed to be the best way to get 40 instruments, 4 scales, and 16 different starting notes, each their own button for a user to press and change. Getting the buttons to control the program was not a terribly hard task either surprisingly. The controller is pretty good at sending the location of the key as well as the midi on or off command to MAX. Getting MAX to talk to the launchpad, on the other hand, was interesting. The launchpad features 2 LEDs for each key, a red and a green, that can be mixed at different values to display different light colors. It was quite the adventure going through and figuring out the most efficient way to do so. At one point in time, I had the program setup with so many messages sent at the same time that I got a stack overflow error and crashed the program. Efficiency was key in programming the LEDs. I eventually figured out a system where instead of trying to control all of the lights at the same time, I would instead store the LEDs that were active and then have it send the “off” command when another light took its place. This worked well and seemed to fix my crashing problem. Creating a quick graphic information screen that would end up being the image projection was no problem at all either.
At this point, I had most of the parts put together to make the projection piano a reality. However, when I went to actually set it up, I ran into some issues. One of my issues was that I was using a firewire isight camera for my input. I only had a 6 foot firewire cable that had been fine for testing purposes, but there was no way to run the cable all the way from the floor, to the projector and camera location that was 12 feet in the air. I used some of my innovative skills to create a “firewire to cat5” adapter which allowed me to plug in a firewire cable on both ends and then extend it with cat5 Ethernet cable in the middle.
After setting up, calibrating, testing, tweaking, and testing some more, I had turned my idea into a reality. The project stayed up from Saturday through Monday in Baker Center and got some great response and curiosity from students and administrators alike. I did not have the time to make up and include an “instruction” guide for using the piano, but after seeing some people interact with it, was glad I didn’t. It became a talking piece for people in that area. There would be a curious student approaching the piano and others that work in the area (who had been around to see other people try to play it) would offer tips to the students. I did not observe the area too often or on any regular basis but did get to see an individual who had been there earlier in the day show up again later on with a group of friends. The community involvement was even more obvious when I came back to check on it Monday morning and someone had taken the time to print out the lyrics to “Twinkle, Twinkle, Little Star” and had placed them on the table next to the controller so that people who didn’t know any songs, could have the chance to play one.
Overall, I think my project was a great success. It allowed me to succeed at creating an interactive projections piece that also served a purpose in being a community talking point and got some interesting input and help from others in the area. I also have to thank Event Services, Matt Wilson, and Brent Seybold & Andy Reynolds for their help with setting up the display and helping to make my idea a reality.
Pictures of the project are included below: