Fade Away

Almost all of my LED artworks display a revolving number of shows. Depending on the time constants I program, a different algorithmic show queues up every thirty seconds. A show called Light Wave of one pixel trailing may be followed randomly by another show called Alternate of two alternating pixel colors. Years ago, one show would just slam instantaneously into the next causing a jarring transition, like a record skip, depending how different were the two shows.

I recently softened show transitions, by programming the departing show to fade out to black after which the newly arriving show fades in from black. For a thirty-second show, a fade out time of one second works well followed by a fade in of one second to the next show.

I noticed that in the music world DJs don’t just turn down one track to turn up the next. Instead, they mix in the next track. Can I mix in the next show visually with the previous show, and what would this mixing look like?

I spent the plane ride from Columbus to Oakland designing the mixing algorithm first in C++ for Arduino microcontrollers and then in Python and Processing for my larger projects that use a Pixel Pusher controller. In rough blocks, two versions of the show class are instantiated and these show objects are interpolated together at the beginning and ends of shows.

Although the C++ implementation is simpler, it requires twice as much memory to hold simultaneously the outgoing and ingoing frames. For larger LED pieces, like the Fish or Snowflakes, the Arduino may not have enough memory. Python show mixing will take more programming effort to get the communication correct between the Python show runner and the Processing display, but at least I’ll be able to visualize the mixing effect to figure out whether this idea is pleasing or not.

Scene changes happen all the time in movies and on television. Although I’m aware of fades and wipes, I don’t think I have ever seen visual interpolation of one scene into the next. This computational mixing of pixels may be too distracting for television, but perhaps will look good on lower-resolution LED displays. I’m feel like I’m diving deep into optical computation sciences and will just need to run the experiment to figure out the best fades.