I'm new to MIDI and OSC, and I'm just wondering if it's possible to have software on a PC send data to a control surface rather than the other way around.

Why? Here's a simple example: Let's say I have a control surface that consists of a bank of knobs where each knob has a tiny LCD next to it as a "label". Then I can load up a particular "scene" on the PC, and each knob on the control surface is assigned to a particular parameter, with the name of the parameter it controls showing up on the tiny LCD next to it.

Does MIDI or OSC allow you do to this? Is there some kind of "labeling" functionality built into these protocols? Are there control surfaces at all like the one I described?

3 Answers 3


Several examples exist of device that supports receiving MIDI or OSC messages for visual feedback, as you describe. The Jazzmutant Lemur touchscreen controller (discontinued but an iOS app exists), Monome grid controller, and Percussa Audiocubes all support this.

For the AudioCubes, for example, this is done through a "MIDIBridge" software layer. You can send MIDI data from the cubes' network to any hardware or software that supports MIDI, but you can also send MIDI from any hardware or software device to the cubes, via MIDIBridge. The MIDI data can be used to change the colours of the cubes in sync with the sound or music (or video or other lighting). OSC is also supported.

For MIDI, this works is through MIDI Continuous control changes, not system exclusive. Sysex messages are typically used for stuff like firmware updates or sample dumps, not for simple visual feedback like changing colours.


Yes, this is very commonly done.

At least in MIDI though, there is no magic label protocol. Extended functionality like this is usually done through "system exclusive" messages (SysEx). Basically, a SysEx message contains some identifying information (usually manufacturer ID and model ID), and then the rest of the message is just raw data. The format of this data is up to the manufacturer. MIDI simply carries the data. There are no pre-defined message formats for the data within a SysEx message, although many manufacturers do stick to fairly consistent formats for many similar models.

SysEx data isn't usually the only data sent to an external controller. For example, the APC40 receives note on/off messages to control the LEDs on its launch buttons. Many controllers respond to patch change messages as well.


I was able to set up an ASCII LCD serial display to a MIDI device called BomeBox that supports serial data input and output as well as MIDI. I programmed it to send updated english readable display messages as it monitored incoming serial data. I think this is what you are looking for. Most Midi devices allow for LED feedback but only the more expensive ones actually have readable display messages.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.