Projection Piano


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...

Binary Streams


Binary Streams is a single channel video projection using the motif of binocular vision to frame geographic representations of the land beside the highway. This 10 minute video loop is part of an ongoing exploration of the Southern Ohio landscapes buffering the newly constructed Highway 33. Using video and still photographic materials, both virtual and printed sources are incorporated into the movements of perception and navigation.       Binary Streams from daniel king on Vimeo.

Read More