Skip to content

DISTING EX I2C SPECIFICATION

scanner-darkly edited this page Aug 18, 2020 · 3 revisions

Disting EX I2C Messages

Dedicated teletype ops will use the following 4 addresses specifically reserved for the EX:

  • 0x41..0x44

Pitch and velocity parameters use 14 bit precision:

  • pitch range -16384..+16384 translates to 10 octaves range (-10V..+10V using 1V/Oct)
  • max velocity is 16384

Presets

load preset
<address> 0x40 <preset number MSB> <preset number LSB>

save preset
<address> 0x41 <preset number MSB> <preset number LSB>

reset preset
<address> 0x42

get current preset
<address> 0x43 Returns 2 bytes.


Algorithms

load algorithm
<address> 0x44 <algorithm number>

get current algorithm
<address> 0x45

set i2c controller X to value Y
<address> 0x11 <controller number> <value MSB> <value LSB>

set parameter X to value Y (using the actual parameter value)
<address> 0x46 <parameter number> <value MSB> <value LSB>

set parameter X to value Y (using 0..16384 range, will be scaled to min..max by EX)
<address> 0x47 <parameter number> <value MSB> <value LSB>

get current parameter value
<address> 0x48 <parameter number>

get parameter min
<address> 0x49 <parameter number>

get parameter max
<address> 0x4A <parameter number>

WAV Recorder, start / stop recording
<address> 0x4B <0 - stop, 1 - start>

WAV Recorder, start / stop playback
<address> 0x4C <0 - stop, 1 - start>

Augustus Loop, set pitch
<address> 0x4D <pitch MSB> <pitch LSB>

Augustus Loop, send clock
<address> 0x4E

Looper, clear target loop
<address> 0x58

Looper, get current state
<address> 0x59 <loop index>
returns a byte. loop index is 0-based

the low nibble represents one of the following states:
0 - initial state
1 - recording
2 - recording extra material for crossfade
3 - playback
4 - overdub
5 - paused / muted
6 - fading out towards pause

bit 4 - reverse on/off
bit 5 - octave down on/off


MIDI / Select Bus

send MIDI message
<address> 0x4F <status> <optional data byte 0> <optional data byte 1>

send Select Bus message
<address> 0x50 <status> <optional data byte 0> <optional data byte 1>


Voice Control (for specified voice)

set voice pitch for the specified voice
<address> 0x51 <voice> <pitch MSB> <pitch LSB>

note on for the specified voice
<address> 0x52 <voice> <velocity MSB> <velocity LSB>

note off for the specified voice
<address> 0x53 <voice>


Voice Control (voice allocated by the disting)

set voice pitch for note id
<address> 0x54 <note id> <pitch MSB> <pitch LSB>

note on for specified note id
<address> 0x55 <note id> <velocity MSB> <velocity LSB>

note off for specified note id
<address> 0x56 <note id>

all notes off
<address> 0x57