The Color Mixing Christmas Light Project

Discretely Controllable DMX Driven RGB Pixels

  • Insider’s Club!

    To be notified when new content is added to this site, just enter your name and email address below:
  • Looking for nifty DMX gear?

    Protocol converters, data bridges and more from our main website.
  • Subscribe

Driving RGB Nodes with MIDI Note Messages

Posted by JEC on June 8th, 2010

Question: Can a flock of RGB nodes be ‘played’ in real-time, like a piano?

Answer: See the clip below…

(Note that the sound doesn’t start until half way through.)

Sorry for the rough video quality… The nice camera (EOS 7D + 28-70 f/2.8L) from last fall was a rental, and I’ve not found the courage to buy a set for myself yet.

Nonetheless, I think the gist of the project is nicely conveyed.  :)

The DecaBox protocol converter is described in more detail here.

14 Responses to “Driving RGB Nodes with MIDI Note Messages”

  1. Dan B Says:

    All I can say is WOW! Very COOL!!


  2. Kevin Dunn Says:

    WOW WOW WOW! Good bye sequencing software.

  3. Dennis Finegan Says:

    I was blown away! I can hear Axle singing now. Great job.

    Two things:
    1. How did you figure out how to do it? Education?
    2. A suggestion: try something visualizing a voice next.

    Keep up the good work. I throughly enjoy every email and the surprise it brings.

    Dennis, KC9PYD

  4. JEC Says:

    I’m sure there’s a way to add the voice tracks, it’s just that the particular MIDI file I grabbed didn’t included them.

    RE: How it was done… The DecaBox has been sold commercially for quite a while now. Lots of musicians and live production folks are using them to connect different parts of their rig together. The LED piano system seemed a (fairly) natural extension of the DecaBox’s existing capabilities.

    Plus, I was curious to see if the edited firmware could keep up with an incoming DMX stream (512 byte packets at 44 Hz) and the real-time MIDI data, process / merge as needed, then re-transmit the new DMX universe at 44 Hz without dropping packets from either source.

    Apparently, it can.


  5. Greyson Richey Says:

    Wow. That was absolutely amazing. Due to my inexperience with this particular tech, I have no idea whether the following question is even grounded in reality: Is it possible to do the same with just a normal audio jack?

  6. JEC Says:


    It’d be possible but computationally expensive.

    In the 70s, they did it using a handful of analogue filters; the resulting creature was called a ‘Color Organ,’ which would flash different bulbs in sync with low, middle and high components of the music.

    Today I’d attack it using an 80- or 100-bin fast Fourier transform,

    reducing the audio input into groups of frequency bands, each with varying intensity.

    There’s a good chance that these folks

    are doing something similar with their .wav to .MIDI conversion utility.

    Doing this sort of math ‘live’ is a non-trivial exercise in signal processing.

    That being said, the Madrix software used in the above clip does include some nifty music-to-DMX effects. None are so sophisticated as to chop an audio input into 88+ frequency bands, but there’s a lot that can be done to existing graphics routines if they are ‘kicked’ from time to time by a bass drum.

  7. DMX keyboard display - Hack a Day Says:

    […] keyboard display has an RGB LED for each key that is addressable through the common stage lighting protocol, DMX. […]

  8. aususer Says:

    have a look at – a DIY midi drum trigger.

    put the piezo triggers in your 8′ mock-keyboard – and then you can “play it” too ;)

    you could even make a massive, plywood keyboard and put the piezo’s embedded in it per key and you can stamp-to-play (ah-la tom hanks in the movie “big”)

    take it a whole other way and “Decorate” a drum kit with your pixels – and put the triggers on the body/head(somehow) – and make your lights dance based on your midi-trigger.
    Would have been a hit in the 1980’s!

    Just an idea or two to expand on ;)

  9. RGB LEDs Syncronized to Keyboard Music | Origa for Life Says:

    […] hack uses MIDI notes from a keyboard to illuminate the keys using RGB LEDs. 88 separate RGB nodes are controlled via a converter box which transforms the […]

  10. Smart Strands Says:

    I could think of a couple of products off the top of my head for what you’ve put together! Have you thought about turning it into an educational tool for kids? Or that last part of the video made me think of some trendy club…. dunno bout that last one

  11. Matt Says:

    Hi, I would just like to know if you are able to control the colour and brightness of each individual RGB LED node using MIDI note and velocity messages via the DecaBox converter?

    And if so, could MIDI messages also dim each individual node colour?

    It seems that your MIDI messages are only triggering the LEDs to put out maximum brightness on each RGB of an individual node producing only white in the video above.

  12. JEC Says:

    @Matt – At the time, setting the color to plain white was ‘good enough.’ However, as they say, ‘it’s just firmware.’ A few hours editing and massaging the code would definitely lead to something more useful.

    An interesting trick would be extracting both a color and an intensity value from each MIDI note message.

    Of course, intensity may not matter that much. We could just map the note velocity to a specific color palate (warm, cool, ‘bone,’ rainbow, etc), similar to how old-school video games graphics were done.

  13. Matt Says:

    Oh sorry you actually do show an assigning of each colour to an individual MIDI note number at the beginning of the video, my bad.

    Could I create a video of exactly what I would like to do and email it to you John?
    It is kinda hard to explain via messages as interpretation can be mixed..

    Very very cool what you are doin with the daisy chain LEDs by the way :)

  14. chris Says:

    Already been done on a guitar and commercialised as a learning tool. it’s called fretlight and plugs into the computer which plays midi files from guitarpro