
TC Electronic D-Two MIDI specification
Document revision history:
V1.00 2000-01-26 D-Two release 1.01
General message format:
0xF0 MIDI System Exclusive message start
0x00 3 byte manufacturer ID for TC Electronic
0x20 ..
0x1F ..
<Device ID> System Exclusive device ID (User parameter)
0x45 D-Two model ID
<Message type> D-Two message type
<Data> Data depends on message type
.. ..
.. ..
0xF7 MIDI System Exclusive message terminator
Preset numbers
Preset numbers are represented in the SysEx messages as 2 bytes (14-bit value). The first
byte is the 7 most significant bits and the second byte is the 7 least significant bits.
Preset numbers are mapped accordingly:
0x01 (1) to 0x32 (50) Factory bank
0x33 (51) to 0x96 (150) User bank
Preset number 0 is used to access the edit buffer. When recalling presets with program
changes, sending a controller 0 or controller 32 change first can be used to indicate bank
number (when sending other than zero selects user-bank as opposed to factory-bank).
Binary data
Messages containing binary data dumps consists of a set of 14-bit values as 2-byte pairs The
most significant byte is sent in the first byte and the least significant in the second. The dump
is terminated with a 14-bit checksum value which is the negative sum of all bytes in the dump
truncated to 14 bits. ie. (-sum(all data bytes)) & 0x3FFF.
1

Communication precautions
When linking together two D-Two devices for transfer of data, make sure that the receiving
device is set to receive only SysEx.
During MIDI operation the D-Two may present the following messages:
"> Preset Received <"
"> Preset Dumped <"
"> Rhythm Received <"
"> Rhythm Dumped <"
"> Checksum Error <"
">MIDI Error Occured<"
"> Event Unknown <"
"> Preset Stored <"
">Kernel Par Changed<"
"> Bulk In Progress <"
D-Two message types:
SYXTYPE_PRESETREQUEST 0x45
SYXTYPE_PRESETDATA 0x20
SYXTYPE_RHYTHMREQUEST 0x46
SYXTYPE_RHYTHMDATA 0x21
SYXTYPE_PARAMREQUEST 0x47
SYXTYPE_PARAMDATA 0x22
Preset Request
0xF0 SysEx
0x00 TC Electronic
0x20 ..
0x1F ..
<Device ID> Device ID
0x45 D-Two
0x45 SYXTYPE_PRESETREQUEST
<Preset MSB> Preset number
<Preset LSB> ..
0xF7 EOX
Preset Data
0xF0 SysEx
0x00 TC Electronic
0x20 ..
0x1F ..
<Device ID> Device ID
0x45 D-Two
0x20 SYXTYPE_PRESETDATA
<Preset MSB> Preset number
<Preset LSB> ..
<Data> 22 x 14-bit data
1 x 14-bit Preset number
20 x 14-bit Presetname (characters in LSB)
1 x 14-bit Algorithm-modifiers (in LSBs)
32 x 14-bit data
10 x 14-bit Rhythm-pattern
10 x 14-bit Rhythm-gains
14-bit checksum
0xF7 EOX
2