Sysex

Sysex (or SysEx) is a specification for transmitting information among MIDI compatible devices. While MIDI (http://en.wikipedia.org/wiki/MIDI) provides for the control of many common musical parameters, such as volume, pan and portamento, many manufacturers have unique parameters outside of the MIDI protocol. These parameters can be controlled by sysex messages. Sysex messages consist of a header, which are typically specified to correspond a particular manufacturer and a particular product, and some parameter code, which indicates which parameter is to be modified and the value that the parameter should take. Sysex messages are implemented with strings of hexadecimal code. This makes sysex code more complicated to write for most people. As an example, the portion of the header that means “Elektron product” is $3c whereas the portion that means the “Machinedrum SPS-1” product is $02.

Fortunately, you can externally control all of the Machinedrum tonal parameters in the active kit with MIDI CC (control change) messages, as is mentioned on page B-1 of the manual. CC messages are much easier to write, and are typically directly editable in every MIDI-compatible device. The CC mappings appear in pages B-1 and B-2 of the Machinedrum manual. The Machinedrum is able to have more parameters controlled by CC because it is also required to send the CC message on a particular MIDI channel to get the desired result. For example, suppose your Machinedrum was set up to receive on channels 1-4. Then sending a CC 8 message on Channel 1 would change the Bass Drum level (assuming your Bass Drum was triggered by the BD button on the far left of the row of trigger buttons). If your CC 8 message was the value 127, it would turn the volume up all the way.

Sysex is needed for external control of system operations such as dumping a kit (i.e., saving a kit to an external device). The master effects can also be controlled by sysex. The specifications appear on pages C-1 to C-6 of the Machinedrum manual. While you could of course write all of your sysex code from scratch, some external devices feature the able to “learn” or record sysex. MIDI-OX is one such program for the PC which will display sysex messages on the screen for you to see. It is often faster to figure out sysex by doing an action (such as dumping the kit) and then look at the resulting sysex code than it is to write the sysex code from scratch.

MD SYSEX ERROR CODES

For the Machinedrum there are 4 possible error codes:

-1 length error

-2 checksum error

-3 memory full/position out of range

-4 version error