Misc: Finding SysEx messages for your keyboard
karma-lab.png

Scenario

You want to control some feature of your keyboard that does not have a CC# available to control it (such as the Drum Track On/Off button of the M3). You've heard that perhaps it can be controlled with SysEx messages (System Exclusive). Maybe you want to use some sort of programmable MIDI Foot control or external fader box that has SysEx capabilities, but you don't know how to find out which SysEx message is the one to use, and the manuals don't seem to list anything about it.

What is SysEx?

SysEx is short for "System Exclusive." It is a special type of MIDI message that is unique according to each manufacturer. SysEx messages meant for a Korg M3 will not be listened to by a Korg OASYS, or any other keyboard for that matter. SysEx messages can generally be used to control nearly any parameter or function on the keyboard, depending on how the manufacturer has implemented them.

A Sysex message is a long string of hexadecimal (base 16) code, separated into individual bytes. (In case you don't remember your high school math classes, base 16 counts using an additional 6 characters, like this: 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 12 13 etc. So the number 10 in hexadecimal is actually the value 16.) A SysEx message always starts with "F0" and it always ends with "F7" - the bytes in between are what tell the keyboard to perform a particular function.

How to get a particular SysEx message

The best way to get the SysEx message required for a particular function is not by reading the manuals, but by hooking your keyboard up to some sort of MIDI monitoring program running on a computer (see below). Once you've made sure it is sending SysEx by moving various controls (which will then display SysEx messages in the monitoring program's window), you then adjust or activate and deactivate the parameter or feature you want to control. You will see the resulting SysEx message that you need to use.

Note: For your keyboard to transmit any SysEx at all, you have to enable the Exclusive checkbox in the Global MIDI settings.

For example, this is how you turn on and off the Drum Track button of the Korg M3 (in Combi Mode):

On:  F0 42 30 75 41 00 00 20 00 0A 00 00 00 00 01 F7
Off: F0 42 30 75 41 00 00 20 00 0A 00 00 00 00 00 F7
                                               ^^

The second last byte (shown by ^^) is the on=01 / off=00 part. The rest of the message basically says "I am for a Korg M3, and I want to control the Drum Track on/off parameter."

Using this with an external device

Typically, in external controller boxes or programmable foot controllers that allow you to control SysEx, there will be a way to enter the entire message shown above, and somehow designate the last byte before the "F7" as being the variable byte. [need more information here, specific examples for a few different foot controllers and devices]

MIDI Monitoring Programs

The following programs are free MIDI monitoring applications:

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License