threshold (2013-14)

The hardware for this project was designed to be a more refined version of the 2202Art project, with a classier housing, a de-emphasis on pixels, and a focus on diffusion, both on the display and on the mounting wall. The software explores the effects of thresholds of color and light by juxtoposing two multi-color bands, animating in opposite directions. The colors slowly shift through the RGB color space using random control points and cubic interpolation.

The color shifting and interpolation algorithm is visualized here using webgl:

Made with Arduino, plexiglass, and LPD8806 RGB LEDs

2202Art (2012)

This collaborative project was created with my colleagues Mike Lee and Kai Kam and named after our office at DreamWorks Animation. Our goal was to create a large, pixelated display that could display programs contributed by other colleagues on our team. To facilitate collaboration, we wrote a python simulator for iteration prior to display on the device.

Although not represented here, the variety of programs was remarkable, including many variations on perlin noise, a pacman animation, pong (with AI), an encoded gangnam style video, and accumulating snowfall.

Made with Raspberry Pi, python, plywood, plexiglass, and WS2801 RGB LED strips

this is your brain on music (2011)

The custom music visualizer performs fourier analysis to separate frequency ranges. The color wheel is distributed across the frequency range, and slowly rotates. As the music plays, the range with the sufficienty largest change is assumed to be of interest, aka the "beat". (Note that the beat is not necessarily in the bass frequencies) The beat's assigned color (with a decay) powers the LED strip inside the head, and is also reperesentid as a horizontal bar below the visualizer. The sofware also allows users to manipulate the color rotation, and scale the beat detection threshold.

By choosing this method of beat detection, notable audio patterns (such as syncopation) manifest as temporal visual patterns, producing a more lively visualization.

Future improvements include auto-scaling the beat detection threshold, and moving the processing done on the computer to a stand-alone device with an audio line-in, improving deployability.

There is also an Instuctable with more details of the construction.

Made with Processing, Arduino, analog RGB LED strip, glass head, wooden jewelry box.

shift (2010)

A base color cycles through the HSV color space along sine curves for each axis (hue, saturation, and value.) Additionally each pixel is shifted forward or backward in time from this base along each of three axes as well. The amount of shift changes with time according to each pixel's "identity": sine curves with unique scalars, randomly selected at startup.

I also created a prototype before constructing the hardware.

Constructed with Peggy2 with separate red, green, blue, and white LEDs, Arduino and a shadow box frame.