The phone rang a few days ago:
“We’d like to have our MIDI gear trigger IR codes, so we can discretely control three different TVs on stage during a live touring show.”
For many years, we’ve offered DMX triggered IR playback, but this was new. Further, this customer was building a rack and wanted everything to be rugged and portable. The TVs were mounted as far as 30′ from the equipment rack, so standard CAT5 cabling made sense to use as IR bug extension cords.
Over the course of an afternoon, we edited the main DecaBox circuit board in our CAD library, replacing the standard Neutrik XLR-5 connectors we use for DMX in, through and out with three Neutrik EtherCON jacks.
These shiny CAD files were sent to Asia on a Friday evening. Two days later, we received a DHL tracking number for our small order. In the interim, I locked myself in the programing cave and merged our existing IR and MIDI libraries. When the dust settled, here’s how everything runs:
- Up to 16 IR codes can be captured. These commands are totally arbitrary. We don’t care if it’s Sony or NEC or Samsung or LG or bargain-bucket Asia Amazon stuff. We simply store the raw IR timing data internally.
- The user can set the desired MIDI channel, which can be anything between 1 and 16. All MIDI data on other channels is ignored.
As far as mapping goes, there are 128 notes in a MIDI scale. They are divided into octaves of twelve notes. Notes can be identified by their name and octave, like this: C3, F#7, B8. Also, each MIDI note is assigned a number. Note that these are zero-based, so the range is [0 127]. Classic Middle C (orange) is #60 or C4. C-1 is 0. G9 is 127. Etc.
The DecaBox maps MIDI ‘note on’ messages to IR commands and directs signals to its three hardware outputs like this:
Thus, any command can be sent to any output, or to all outputs, depending on what’s needed. All other MIDI data, such as note off, patch change, continuous controller, etc is ignored.
There’s also some tricky wiring in our RJ45 jacks which may be useful for a future project. Assuming a 568-B cable, the blue pair corresponds to pins 4 and 5. IR data is a buffered +5v output relative to pin 5 (ground). Most standard IR bugs handle 5v signals without any issues. However, it’s possible that in the future, this customer, or someone else, may need long-distance IR capabilities. For that reason, the three remaining wire pairs are set up like this:
- 1 pair is ground
- 1 pair is DC +9v
- 1 pair is IR data, but driven by an RS485 (balanced) line driver, similar to how DMX works. This makes it easy to transmit complicated data long distances, without worrying about induced noise.
So all we have to do is design a 1″ square circuit board to accept power, ground and RS485 data, then output standard IR. Presto! Remote IR playback on cable that could be several hundred feet long.
Need one? Let us know.