September 13, 2008

Ableton Live Led Matrix

Filed under: Arduino, experiments — melka @ 1:18 am

Ok, how can I make a customizable light show without having to dive into coding each animation in Arduino language ? Here’s my solution. I’m pretty proud ^^

Sorry, but I won’t be sharing the code on this project, it’s for a very specific use, and it’s not even clean. But it’s real easy, you can DIY, don’t worry ^^

(video after the jump)

The first question that comes to mind : but why ? Well, I’m working with some friends on a light show for when they make live sets. They use Ableton, and, of course, wanted the light to be synchronized to the sound. So I thought that this might be a neat solution.

The blue midi track with only 2 notes doesn’t actually play any sound. This track is routed to midiYoke, which sends the datas to Processing. Processing checks the pitch of the note played, and loads an animated gif corresponding to that note.  This way, we can have 128 different animations. In fact, we can have more if we also use datas as velocity : velocity 1 = bank 1, velocity 2 = bank 2, etc… You get it.

So, Processing launches the GIF file and plays it. It analyzes each pixel (pretty quick, as it’s only 64 pixels per image), checks wheter it contains red (light the led) or not (switch the led off), formats the data and sends it to the Arduino board via serial.

The Arduino receive these datas and push it to a MAX7221 hooked up to the led matrix. So, the animations are synchronized (a tiny tiny delay, but not worth mentioning).

PROS :
- You can add / remove / edit animations just by changing an animated gif
- You build your lightshow inside your Live set, just by changing the midi track.
- If you decide to make a loop / jump a track / pitch tempo / etc…, the lights will still be in concordance with the “ambiance” you want to have
- It’s fun ^^

CONS :
- A lot of serial communication, I have to test it extensively, maybe the computer or the arduino will crash before the show ends, no good.

This setup is just a proof of concept, I did not code a flawless Serial protocol and whatnot. On the final design, we’ll certainly go with four 24×24 (at least) white leds matrices, and the MCU won’t be an Arduino but a Microchip PIC 16fxx.

I’ll keep you posted. Cheers.




2 Comments »

  1. Great job. Thanks your. :)

    Comment by Magdalena — February 8, 2009 @ 5:23 am

  2. So cool. I’m trying to do something very similar and it’s nice to see it’s possible with Processing+Arduino.

    Comment by RC — February 27, 2009 @ 10:11 am

RSS feed for comments on this post. TrackBack URL

Leave a comment