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.
June 8th, 2010 at 7:06 pm
All I can say is WOW! Very COOL!!
Dan
June 8th, 2010 at 8:31 pm
WOW WOW WOW! Good bye sequencing software.
June 9th, 2010 at 1:42 am
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
June 9th, 2010 at 10:09 am
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.
June 9th, 2010 at 11:45 am
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?
June 9th, 2010 at 12:09 pm
@Greyson:
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.
http://en.wikipedia.org/wiki/Light_organ
Today I’d attack it using an 80- or 100-bin fast Fourier transform,
http://en.wikipedia.org/wiki/Fast_Fourier_transform
reducing the audio input into groups of frequency bands, each with varying intensity.
There’s a good chance that these folks
http://www.intelliscore.net/
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.
June 10th, 2010 at 9:02 am
[...] keyboard display has an RGB LED for each key that is addressable through the common stage lighting protocol, DMX. [...]
June 15th, 2010 at 4:15 pm
JEC,
have a look at http://www.MegaDrum.info – 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
Mike
June 18th, 2010 at 1:05 am
[...] 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 [...]
July 6th, 2010 at 2:29 pm
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
March 9th, 2011 at 9:33 pm
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.
March 10th, 2011 at 7:06 am
@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.
March 10th, 2011 at 2:24 pm
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
November 15th, 2011 at 7:48 am
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