Hourface

Hourface is a Processing based Java software project intended for use as an interactive video art installation. It was created in collaboration with Yoko Takashima for a show called Blend at the Art Gallery of Greater Victoria.

Description

pixel sand example

Hourface displays two movies inside an hourglass shape; one of Yoko singing "Fly Me To The Moon", the other of her daughter singing "Twinkle, Twinkle Little Star". Each pixel of the movies acts as a grain of sand, flowing between the two halves of the hourglass. The orientation of the hourglass can be controlled with a custom-made hourglass controller (we used a large wooden with the top half painted bright orange and the bottom half painted bright green) and a Logitech® QuickCam® Pro 9000 webcam. As you turn the hourglass it creates the sounds of the sand moving and adjusts the volume and position of the movie sounds (Yoko and her daughter singing) so that Yoko's singing comes from the direction corresponding to where her face is in the hourglass. The soundscape also changes based on the state of the hourglass and the input from the controller.

Media

This video gives a brief demonstration of version 1.0 of Hourface that was shown publicly at the AGGV. (Sadly the audio quality and sync are really bad.)

You can also right-click on and download the high-quality video from my site.

Development

These videos showing how the project evolved. (These are all mpeg2 videos. Right-click or command-click and then save.)

Other Software and Thanks

WARNING: This software is not intended for wide distribution and there will be no support given for its use or modification. The state of the code (poorly documented) and customisation of the other libraries involved means that it is only ready to be deployed in a single environment (the AGGV), on a single machine (running Ubuntu 8.10) for a single purpose (the "Blend" show). If you have trouble getting it to run, sorry, you are likely on your own. There are no configuration files, you just go modify the code.

FAQ

Can you help me with <insert problem with code here>?

Probably not. Sorry. I'd love to help, but I'm usually too busy to be much use. You can try emailing me and hope for the best.

This code is terrible and out-of-date.

Yes. This is not an ongoing project, this is the duct-taped, just-finished-in-time, now-on-to-other-things version.

Can I use this for my own project?

Basically. This software is free software, licensed under the GPL 3. Just don't claim it as your own. Really, the code is just here because I promised myself I'd make it public, I don't expect anyone to use it, no one deserves that suffering. Feel free to grab bits of it (but remember the GPL requirements), or get inspired to something similar but even cooler.

If you'd like to have this set up in your gallery or other public space please contact me and we can work something out.

Wow, sand physics! I thought that was an area of open research?

Yes, it is. And no, the sand "physics" involved in this code has nothing to do with physics. I was only trying to make it look like each pixel was colliding with each other, stacking up, avalanching, and generally looking sand-like. There was precious little math involved and mostly trial and error. Think "painting of sand" not mathematics of sand.

Why didn't you just use math?

Yes, well. That seems a bit too easy doesn't it? I was looking to reduce the amount of calculations involved because it was already running slowly and there was only so much I could learn and figure out before the deadline. Please write something better and faster and I'd be happy to use it next time.