
C-4
Appendix C: SYSEX REFERENCE
SYSEX set status:
MIDI Byte | Purpose
------------+----------------------------
(SYSEX init)|
$71 | Set status ID
%00aaaaaa | Set parameter %aaaaaa to ...
%0bbbbbbb | ... value %bbbbbbb
$f7 | SYSEX end
0x01 Current global slot (0 to 7)
0x02 Current kit number (0 to 63)
0x04 Current pattern number (A1=0, A2=1, ... B1=16, ...)
0x08 Current song number (0 to 31)
0x10 Current sequencer mode (pattern mode=0, song mode=1)
0x20 Current lock mode (classic=0, extended=1)
SYSEX status response:
MIDI Byte | Purpose
------------+----------------------------
(SYSEX init)|
$72 | Status response ID
%00aaaaaa | Parameter %aaaaaa has ...
%0bbbbbbb | ... value %bbbbbbb (see list below)
$f7 | SYSEX end
0x01 Current global slot (0 to 7)
0x02 Current kit number (0 to 63)
0x04 Current pattern number (A1=0, A2=1, ... B1=16, ...)
0x08 Current song number (0 to 31)
0x10 Current sequencer mode (pattern mode=0, song mode=1)
0x20 Current lock mode (classic=0, extended=1)
TURBOMIDI PROTOCOL SYSEX DESCRIPTION
All TurboMIDI SYSEX messages start with this sequence:
MIDI Byte | Purpose
------------+----------------------------
$f0 | SYSEX Start
$00 | Europe/USA ID
$20 | Europe ID
$3c | Elektron ESI ID
$00 | Generic Elektron product ID
$00 | Base channel (Padding)
A complete SYSEX message looks like this:
$f0,$00,$20,$3c,$00,$00,command,...,$f7
SYSEX turbomidi speed request
MIDI Byte | Purpose
------------+----------------------------
(SYSEX init)|
$10 | Speed request ID
$f7 | SYSEX end
SYSEX turbomidi speed answer
MIDI Byte | Purpose
------------+----------------------------
(SYSEX init)|
$11 | Speed answer ID
%aaaaaaaa | bit 0 = speed 2, bit 1, = speed 3.3...
%00000bbb | bit 0 = speed 13.3x, bit 1 = speed 16x,
| bit 2 = speed 20x
%cccccccc | contains certified speed bits
%00000bbb | contains certified speed bits
$f7 | SYSEX end
SYSEX turbomidi speed negotiation (master)
MIDI Byte | Purpose
------------+----------------------------
(SYSEX init)|
$12 | Speed negotiaton ID
%0000aaaa | Speed 1 value
%0000bbbb | Speed 2 value
$f7 | SYSEX end
SPEED1 >= SPEED2 (= if certified)
SPEED1, SPEED2 = 1 requires no handshaking
SYSEX turbomidi speed acknowledgement (slave)
MIDI Byte | Purpose
------------+----------------------------
(SYSEX init)|
$13 | Speed acknowledgment ID
$f7 | SYSEX end
Acknowledge sent upon SPEEDNEG, always sent at 1xMIDI_SPEED
After speed acknowledgement is received SPEED1 is set on
both the master and slave device
SYSEX turbomidi speed test (master)
MIDI Byte | Purpose
------------+----------------------------
(SYSEX init)|
$14 | Speed test (master) ID
$55 |
$55 |
$55 |
$55 |
$00 |
$00 |
$00 |
$00 |
$f7 | SYSEX end
Before the speedtest the master should allow the slave some
breathing by sending 16 0x00 bytes to allow setting of speed
and resetting of UART
SYSEX turbomidi speed result (slave)
MIDI Byte | Purpose
------------+----------------------------
(SYSEX init)|
$15 | Speed test (result) ID
$55 |
$55 |
$55 |
$55 |
$00 |
$00 |
$00 |
$00 |
$f7 | SYSEX end
SYSEX turboMIDI speed test 2 (master)
MIDI Byte | Purpose
------------+----------------------------
(SYSEX init)|
$16 | Speed test 2 (master) ID
$f7 | SYSEX end
Summary of Contents for Machinedrum SPS-1
Page 1: ......
Page 8: ...VI of VI ...
Page 114: ...C 6 Appendix C SYSEX REFERENCE ...
Page 118: ...4 INDEX ...
Page 119: ......
Page 120: ......