TC Electronic D-Two MIDI specification

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
Rhythm Request
0xF0 SysEx 0x00 TC Electronic 0x20 .. 0x1F .. <Device ID> Device ID 0x45 D-Two 0x46 SYXTYPE_RHYTHMREQUEST 0xF7 EOX
Rhythm Data
0xF0 SysEx 0x00 TC Electronic 0x20 .. 0x1F .. <Device ID> Device ID 0x45 D-Two 0x21 SYXTYPE_RHYTHMDATA <Data> 22 x 14-bit data
1 x 14-bit Base tempo
1 x 14-bit Rhythm-scale-base*
10 x 14-bit Rhythm-taps
10 x 14-bit Rhythm-gains
0xF7 EOX
* Note that this value is created at the time when the rhythm is tap’ed and is used for time­scaling relative to base-tempo. When a rhythm is tap’ed the Rhythm-scale-base equals Base­tempo.
Parameter Data Request
0xF0 SysEx 0x00 TC Electronic 0x20 .. 0x1F .. <Device ID> Device ID 0x45 D-Two 0x47 SYXTYPE_PARAMREQUEST [0x00 | 0x01] 7-bit value specifying system- (1) or algo- (0) parameter. <Param ID> 7-bit parameter identifier 0xF7 EOX
Parameter Data
0xF0 SysEx 0x00 TC Electronic 0x20 .. 0x1F .. <Device ID> Device ID 0x45 D-Two 0x22 SYXTYPE_PARAMDATA [0x00 | 0x01] 7-bit value specifying system- (1) or algo- (0) parameter. <Param ID> 7-bit Parameter identifier <Data> Byte pair yielding signed 14-bit parameter values (MSB first) 0xF7 EOX
See below for a list of parameter identifiers. If a Parameter Data Request message requests a parameter range extending across any undefined parameter identifiers, the corresponding parameter values in the Parameter Data message should be ignored.
3
Parameters
Parameters can be changed by the System Data SysEx message (for system-parameters) or hard-wired controller change messages (for the algorithm-parameters). Parameters are always set as absolute 14-bit values. The CC’s used for algorithm-parameters are as follows (ID's are given below):
System: Ctrl 16 + <ID> Effect parameter : Ctrl 48 + <ID>
The System-parameter ID’s are used with SysEx-Cmd’s and the controller parameters !
System parameter name ID CC-Id Min value Max value
MIDI_INPUT 0 0 1 MIDI_OUTRANGE 1 0 3 MIDI_CLOCK 2 0 2 MIDI_INRANGE 3 0 1 MIDI_DITHER 4 0 3 MIDI_OUTLEVEL MIDI_DIGINLEVEL MIDI_INLEVEL MIDI_MIXLEVEL MIDI_BYPASS MIDI_DELAYUNIT 10 0 17 MIDI_MIDIPRGBANK 11 0 2 MIDI_MIDICHNL 12 0 17 MIDI_MIDICC 13 0 1 MIDI_MIDISYSEX 14 0 127 MIDI_MIDISYNC 15 0 1 MIDI_VIEWANGLE 16 0 2 MIDI_BYPASSMODE 17 0 2 MIDI_PEDALMODE 18 0 2 MIDI_CURPRESET 19 1 150 MIDI_ALGO 20 0 127 MIDI_STATUSBITS 21 0 1 MIDI_DELAYMODE 22 0 1 MIDI_REVERSEOFFSET MIDI_ALGO_SPATIAL MIDI_ALGO_FILTER MIDI_ALGO_CHORUS MIDI_ALGO_REVERSE MIDI_ALGO_DYNAMIC MIDI_ALGO_P-PONG MIDI_ALGO_RHYTHM
(CC)
(CC)
(CC)
(CC)
(CC)
(CC) Only CC (6) Only CC (7) Only CC (8) Only CC (9) Only CC (10) Only CC (11) Only CC (12)
23
5 6 7 8 9
(2) (1) (0) (3) (4)
(5)
-100 0
-100 6
-5 7 0 100 01
01 01 01 01 01 01 01 01
CC-Id
’s are used as
4
Algorithm parameter name ID Min value Max value
MIDI_DELAY 0 010000 MIDI_DELAYRYTHM* 1 010000 MIDI_FBLEVEL 2 0 100 MIDI_FBREPEATS 3 0 10 MIDI_FBSTYLE 4 0 1 MIDI_SUBDIV 5 0 12 MIDI_SHUFFLE 6 0 100 MIDI_TRACKTAP 7 0 1 MIDI_QUANTIZE 8 0 1 MIDI_FXLEVEL 9 0 100 MIDI_SPATIAL_OFFSET 10 0 400 MIDI_SPATIAL_PHASEREV 11 0 3 MIDI_FBHICUT 12 0 60 MIDI_FBLOCUT 13 0 60 MIDI_HICUT 14 0 60 MIDI_LOCUT 15 0 60 MIDI_CHOSPEED 16 0 208 MIDI_CHODEPTH 17 0 100 MIDI_CHOAMOUNT 18 0 100 MIDI_CHOFEEDBACK 19 -100 100 MIDI_CHOTIME 20 0 500 MIDI_CHOGOLDENRATIO 21 0 1 MIDI_CHOPHAREVERSE 22 0 1 MIDI_CHOLFOCURVE 23 0 1 MIDI_CHOLFOPHASE 24 0 2 MIDI_PINGSTYLE 25 0 2 MIDI_THRESHOLD 26 -60 0 MIDI_RELEASE 27 11 26 MIDI_DAMPING 28 -60 0 MIDI_REVERSETHRESHOLD 29 0 5 MIDI_REVERSESTYLE 30 0 10
(5000) (5000)
MIDI_RHYTHM_1-10 32-41 010000 MIDI_ACCATT_1-10 42-51 0 6
* Note that this value is created at the time when the rhythm is tap’ed and is used for time­scaling relative to base-tempo. When a rhythm is tap’ed the Rhythm-scale-base equals Base­tempo. Therefore this parameter is ONLY directly available through SysEx-control of Rhythms and should NOT be updated via Midi-CC.
(5000)
5
Loading...