Various interactive installations

While working at Aesthetec Studio, I developed ShadowRock, which is currently being installed at the Telus World of Science in Calgary. The final version seen in my portfolio is something like the twelfth version that I made. Here are a few of alternative versions that didn’t make the cut, and one installation I made for fun while learning contour analysis.

 Shadow Sound Interactive Version 1

One of the earliest versions of ShadowRock I developed. I had just gotten blob detection to work, so that the image of the shadow is treated as one physical object by the software, allowing it to collide and interact with other objects. Each musical object is programmed to behave like a spring, so that when they are dislocated from their original position, they bounce back with a force proportional to the distance moved.

Each musical object has its own unique sound, and when it collides with the shadow or another musical object, the sound is played and a burst of particles is generated.

Shadow Sound Interactive Version 2

Later on in the development stage, I thought that one way to make the installation more interested was to make the sound emitted by each object be depended on the object’s location, so that users would be encouraged to create different shadow shapes and interact with the objects in more interesting ways. In the video shown above, the musical objects each play a note in a scale when contact is made, and the exact pitch of the note depends on the object’s y-coordinate.

 Shadow Sound Interactive Version 3

This is an extension of the same idea explored in version 2, in that the position of the musical object affects the sound that it makes. The difference here is that instead of having the notes be on a scale, each musical object represents one of five instruments (drums, bass, guitar, piano, synth), and samples one of 3 tracks, depending on the y-coordinate of its position. This resulted in a very different interaction, and the user is encouraged to hold certain positions in order to let the tracks play and mix, as opposed to version 2, where there needed to be a lot of up and down movements in order to create interesting sounds.

Falling Water

Somebody in the openFrameworks forum had posted a video of a similar exhibit at the Arizona Science Center, and was asking how such an installation worked. I thought I’d have a go at it and created the above piece. It uses the openFrameworks box2d library to handle the contour analysis as well as all the particle collisions. Unfortunately I didn’t get a chance to optimize the program so you can see that it’s lagging in some parts, especially when there’s a build-up of particles.

All of these were written in openFrameworks. Unfortunately I’m not at liberty to release the source code. However, I will try to do a tutorial on blob detection and contour analysis at some point in the future.

openFrameworks Box2d Particle System

It’s been a while. In the past few months, I’ve taken a small break from the balloons and have been exploring programming as an art form. I started off using Processing, but about 2 months ago began coding in openFrameworks.

One library that has been extremely useful is the ofxBox2d library from Todd Vanderlin. I’ve been playing around with this library for a few weeks now, and it’s really great. Of course, I owe a lot to the openFrameworks community and all the people who posted tutorials and shared their source code.

I’m really interested in particle systems, and so I thought I’d put together a simple Box2D particle system. It’s really just the bare skeleton of a particle system, but should be useful if you’re just starting out to learn oF or Box2D. Also might be useful for a jumping off point for more complicated systems.

Anyway, you can download the code from my github repository (it’s for XCode 3, and uses openFrameworks 0.062). Or you can just download the source code directly.

Below is a screenshot of the example:

And here’s a video of the code in action:

Particle System from Willy Chyr on Vimeo.