Making LEDs dance to music

I am working on an installation at Amsterdam, trying to transform an ugly vandalised building into an open-air exhibition space, and make it interactive to make the area lively and the project engaging to pedestrians and vehicles.

Part of this involves having LEDs dancing around the building, encouraging the viewers to move around the building. For this, I ordered myself a strip of flexible RGB LEDs from China. These are based on the LPD8806 ( you can find a tutorial here ), run on 5V, do not need continuous refreshing and each LED is individually controllable. Guess what that means ? Yep, you can hook it up to an Arduino and start programming, just like that. I came across the FastSPI2 library, which does a great job of letting you control these strips (they support different chips like the WS2801 and others too) through a very easy interface.

With the LEDs and Arduinos in hand, I set about trying to find a fun enough experiment to do. I had wanted to map out motion data to visuals since a while, but then sound is a good option too, I thought. With that in mind, I tried finding a way to sync visuals to music. The Pink Panther track comes to mind very quickly, because of the simple beats and the associated visual movement being easy to imagine. With suggestions from my Japanese friend Takuma about using MIDI instead of MP3 , with this little script from my Spanish friend Alex to map the timings of the music track to usable text data, and with help from my Dutch team-mate Steven to figure out musical notation and editing, I was able to put together this little demo below. It is very basic, and I hope to put in more effects and visuals soon ! The code is on Github here :

Dancing LEDs from Ankit Daftery.