Category: Development

Display-Aided Head Tracking

If you've ever used Apple's PhotoBooth software to take a picture of yourself with the webcam built into the screen, you'll notice the display turns white when the picture is taken. The idea is to use the monitor as a flash bulb - it illuminates your face and produces a better image in low-light conditions. […]

Wave field synthesis graphical simulation

This is a Processing sketch/Java applet that simulates wave field synthesis. A virtual source follows the position of the mouse cursor. It's useful for visualizing the behavior and limitations of WFS. Right now it lets you change parameters of a line array, and I'll try to extend it to simulate other array configurations. Key Commands: […]

Loudspeaker Array Simulation

This is a simple acoustic beam steering simulation built in Processing/Java. The simulation has physical correspondence; it runs at 1/2000th realtime and at a scale of 10 pixels = 1 meter. The array size is fixed at 2.5 meters (25 pixels tall), positioned at the left edge of the display region. More at HRTF and […]


I'm obsessed with getting externalized sounds out of headphones.  It turns out this is darn near impossible.  Using head-related transfer functions to filter the sound and emulate a "transaural" (loudspeaker) source is only the tip of the iceberg...  Read more at binaural audio remixing. I spent the afternoon yesterday trying to reproduce the soundfield created […]

Preparing the Playstation Eye for Multitouch

In order to use the 120 fps Playstation Eye camera with your IR multitouch table, you have to remove the infrared blocking filter built into the camera and add your own visible light blocking filter. This can be accomplished in a few short steps detailed here at the nuigroup forums, and a floppy disk material […]

Multitouch Air Hockey in Processing

I'm working on a multitouch implementation of virtual air hockey in Processing using the awesome JBox2d library. This involves a few hacks and workarounds that might be useful to share with others. More to come...