Disting EX User Manual 1.5
Disting EX User Manual 1.5
5
User Manual
Page 1
Copyright © 2020 Expert Sleepers Ltd. All rights reserved.
This manual, as well as the hardware and software described in it, is furnished under licence and
may be used or copied only in accordance with the terms of such licence. The content of this
manual is furnished for informational use only, is subject to change without notice, and should not
be construed as a commitment by Expert Sleepers Ltd. Expert Sleepers Ltd assumes no
responsibility or liability for any errors or inaccuracies that may appear in this document.
Page 2
Table of Contents
Introduction........................................................5 Knob Mappings...........................................22
A note on videos............................................5 Button Mappings.........................................22
A note on navigating this manual..................5 MIDI Mappings...........................................23
Installation.........................................................6 I2C Mappings..............................................23
Power requirements.......................................6 Load mapping..............................................24
Connecting expansion modules.....................6 Save mapping..............................................24
Jumpers.........................................................7 Reset mapping.............................................24
Inputs and Outputs.............................................8 Name mapping............................................24
Controls..............................................................8 Load from SD card......................................25
A note on the pots.........................................8 Save to SD card...........................................25
Menus............................................................8 Load all from SD card.................................25
SD Card slot.......................................................9 Save all to SD card......................................25
Inserting a MicroSD card..............................9 Single Mode Algorithms..................................26
Supported MicroSD cards.............................9 1 – Matrix Mixer..............................................27
Overview..........................................................11 Parameters...................................................27
Single Mode.....................................................11 Quantization options...................................28
Single mode concepts..................................11 2 – Augustus Loop...........................................29
Single mode display & controls..................11 Algorithm-specific display..........................30
Single mode common parameters...............12 Outputs........................................................30
Single mode help.........................................13 Parameters...................................................30
Dual Mode.......................................................14 Default mappings........................................32
disting mk4 firmware version.....................14 Delay time multipliers.................................33
Sample rate..................................................14 Tap tempo....................................................33
Scala support...............................................14 Inertia free mode.........................................33
Favourites....................................................14 3 – SD Multisample.........................................34
Help.............................................................15 Algorithm-specific display..........................34
Z push functions & the Knob Recorder......15 Outputs........................................................35
disting mk4 algorithms not included...........15 MIDI support...............................................35
disting mk4 algorithms with improved Parameters...................................................35
specifications...............................................16 Default mappings........................................37
Extra algorithms not part of the disting mk4 Chord scales................................................37
.....................................................................16 Chord shapes...............................................37
Entering dual mode.....................................16 Arpeggio modes..........................................38
Accessing the main menu from dual mode. 16 WAV file defaults.......................................39
Presets in dual mode....................................16 Scala support...............................................39
Dual display modes.....................................17 SoundFont®s...............................................39
Presets..............................................................18 4 – SD 6 Triggers.............................................40
Load preset..................................................18 Algorithm-specific display..........................40
Save preset..................................................18 Outputs........................................................41
Reset preset.................................................18 ES-5 outputs................................................41
Name preset.................................................18 MIDI support...............................................41
Load from SD card......................................19 Parameters...................................................41
Save to SD card...........................................19 WAV file defaults.......................................42
Load all from SD card.................................19 5 – WAV Recorder..........................................43
Save all to SD card......................................19 Recording....................................................43
Auto-save....................................................19 Multi-channel audio....................................44
Mappings.........................................................21 Algorithm-specific display..........................44
CV Mappings..............................................21 Outputs........................................................44
Page 3
Parameters...................................................45 Default mappings........................................65
Output options.............................................46 Dual Mode Algorithms....................................66
Auto-sampler...............................................46 N-8 Dual VCO............................................67
6 – Multi-Switch..............................................47 WAV file naming conventions and playlists...68
Parameters...................................................47 Per-algorithm defaults.................................68
Default mappings........................................48 Automatic '-natural' values..........................68
Inputs choices..............................................49 Automatic '-switch' calculation...................68
Outputs choices...........................................49 Loop markers in audio files.............................69
Control sources (when type is not 'Link')....49 Wavetables.......................................................69
Control sources (when type is 'Link')..........50 Settings.............................................................71
Control types...............................................50 General........................................................71
Reset sources...............................................51 MIDI/I2C.....................................................71
7 – Looper........................................................52 Favourites....................................................73
Loop targets and commands........................52 Calibration...................................................73
Basic looping...............................................53 Reset Settings..............................................73
Recording a blank loop...............................53 Miscellaneous functions..................................73
Pausing/muting the loop..............................54 Show firmware version...............................73
Overdubbing................................................54 Reboot.........................................................73
Clearing the loop.........................................54 Show MIDI history.....................................73
Crossfades...................................................54 Show I2C history.........................................74
Envelopes....................................................54 Show stats....................................................74
Overdub fade...............................................55 Tests............................................................74
Clocked operation.......................................55 5-pin DIN MIDI I/O........................................75
ES-5 outputs................................................55 Connections.................................................75
MIDI support...............................................55 MIDI "Low-Voltage Signaling"..................75
Parameters...................................................55 MIDI System Exclusive (SysEx).....................76
Default mappings........................................57 SysEx Header..............................................76
Saving/loading loops...................................57 Received SysEx messages...........................76
8 – Dream Machine..........................................59 Sent SysEx messages..................................76
Setting the fundamental...............................59 Select Bus........................................................77
Setting the primes........................................60 I2C Connection................................................78
Setting the frequency ratios.........................60 Value ranges................................................78
Outputs........................................................60 Presets.........................................................78
Parameters...................................................60 Algorithms...................................................79
Default mappings........................................61 Algorithm-specific......................................80
Fun fact........................................................62 MIDI / Select Bus........................................80
9 – Filter Bank.................................................63 Voice Control (for specified voice).............80
Filter modes.................................................63 Voice Control (note based).........................81
Setting the filter frequencies.......................64 Calibration.......................................................82
Outputs........................................................64 Firmware Updates............................................83
MIDI support...............................................64 Where to get help.............................................83
Parameters...................................................64 Acknowledgments...........................................84
Page 4
Introduction
Congratulations on your purchase of an Expert Sleepers 'super disting EX plus alpha' (hereafter
'disting EX'). Please read this user manual before operating your new module.
A note on videos
Throughout this user manual you will find links to videos, which illustrate the corresponding
sections of the text. In general these have been shot at UHD (4k) resolution, which, as well as
looking more awesome, has the practical benefit of making the module's display easier to read. You
are advised to watch the videos in full resolution if possible. Be aware that some web browsers,
notably Safari, do not support watching YouTube videos in 4k.
Page 5
Installation
House the module in a Eurorack case of your choosing. The power connector is 16-pin Doepfer
standard1. If using the power cable supplied with the module, the red edge of the cable is furthest
from the top edge of the PCB, and carries -12V. ("-12V" is marked on the PCB itself next to this
end of the connector.) Be sure to connect the other end of the power cable correctly, again so -12V
corresponds to the red stripe on the cable.
Power requirements
The disting EX draws up to 229mA on the +12V rail, and 50mA on the -12V rail.
It does not use the 5V rail.
1 http://www.doepfer.de/a100_man/a100t_e.htm
Page 6
Connect an ES-52 module via the header on the back of the disting EX marked “GT3/To ES-5”,
using the 10-way cable provided. The red stripe should be oriented down on both modules, as
shown in the photo above, and in the ES-5 user manual3.
Connect an FHX-8GT or FHX-8CV module via the header on the back of the disting EX marked
“GT2/FHX Expansion”. The red stripe should be oriented down on both modules, as shown in the
photo above.
Connect a MIDI breakout to the header on the back of the disting EX marked “GT4/MIDI”. See the
MIDI I/O section below.
A device or module that communicates via I2C (e.g. the 16n Faderbank4) can be connected via the
header marked “JP2”. See the I2C Connection section below.
Jumpers
There is one jumper header on the disting EX marked “JP1”, which sets whether the system CV bus
line is used for pitch CV (the traditional use as implemented by Doepfer) or as the Select Bus. See
below for more on the disting EX's Select Bus implementation.
The photo above shows the jumper in the Select Bus position.
Regardless of this jumper position, the disting EX always connects to the system gate bus.
2 https://www.expert-sleepers.co.uk/es5.html
3 https://expert-sleepers.co.uk/es5usermanual.html
4 https://16n-faderbank.github.io
Page 7
Inputs and Outputs
The disting EX has six analogue inputs and four analogue outputs on 3.5mm TS jack sockets. These
are designed to cope with any Eurorack signal (with a range of approximately ±10V), and are DC
coupled, so can be used for CVs as well as audio.
The inputs are numbered on a white background; the four outputs are at the bottom of the module.
The disting mk4 labelling (Z/X/Y/A/B) is also printed on the panel, in orange.
The jack sockets are illuminated, lighting red for positive voltage and blue for negative voltage.
(Audio appears purple, since it is a rapid alternation of positive and negative.)
Controls
The disting EX has two rotary encoders (labelled P & V, notionally for 'parameter' and 'value') and
two rotary potentiometers (labelled L & R, for 'left' and 'right'). All four of these controls also have
a push-button function.
Menus
Video
Many of the module's non-realtime functions are accessed via a menu. The menu is accessed by
pressing 'P' (in single mode) or both 'P' & 'V' together (in dual mode).
Page 8
While the menu is active, turning 'P' scrolls through menu items, and pressing 'P' chooses the
current menu item (or descends to the next menu level, if the current menu item is a submenu).
Pressing 'V' jumps back up one menu level. Holding down 'V' exits the menu completely.
SD Card slot
The disting EX has a MicroSD card slot, to the left of the display.
The speed of your SD card can be estimated using the 'Test SD speed' menu (under Misc->Tests).
Page 9
The maximum speed achievable with the disting EX is around 3 MB/s.
Technical note: the disting EX accesses the MicroSD card in SPI mode, and so can never achieve
the rated speed of the card, which assumes full SD bus access. It can however use High Speed mode
where available to double the throughput. Unfortunately whether a given card supports High Speed
mode over SPI seems to be hard to gauge from the specs – we've tested a number of cards rated at
UHS-I and above, some of which support High Speed mode and some of which don't. For the
record, the Samsung EVO range do; the Sandisk Extreme range does not. A card which does not
support High Speed mode will read around 1.8 MB/s on the disting EX's 'Test SD speed'.
A card that reads less than around 1.8 MB/s should be viewed with suspicion, and is probably not a
good choice for card-intensive purposes such as playing or recording WAV files.
Page 10
Overview
The disting EX is a multifunction module. Its various functions are referred to as algorithms. Types
of algorithms include
• audio processing (audio in, audio out e.g. delays, reverbs)
• CV processing (CV in, CV out e.g. quantisers)
• CV generation (e.g. envelopes)
• audio generation (e.g. VCOs, WAV playback)
The disting EX builds on the rich legacy of the disting mk4, and can be used essentially as two
disting mk4s with a shared display. This is known as dual mode as is described in more detail
below.
The disting EX also includes its own unique algorithms, which take over the whole module in what
we call single mode.
Because the disting mk4 has relatively few CV inputs, and because its small display makes
accessing a large number of parameters awkward, it tends towards a proliferation of algorithms
which are similar to one another but have, say, different means of CV control. In contrast the disting
EX's single mode algorithms tend to be fewer but much more configurable.
Single Mode
There are two fundamental elements that define a single algorithm's operation, the preset and the
mapping.
The preset is the state of the algorithm's parameters – a set of numerical values that control how the
algorithm works. For example, the delay time of a delay effect, or the choice of samples files in a
WAV playback algorithm.
The mapping defines how the parameters are controlled by a number of control sources –
primarily, the module's own CV inputs, but also MIDI, I2C etc.
Changing algorithm resets the current preset and mappings to defaults.
The first line simply shows the algorithm number and name.
Page 11
The second line shows the current parameter number and name. Turning the 'P' knob scrolls through
the parameters.
Video
The third line shows the current parameter's value, and if appropriate, its unit (the unit in the
screenshot above is “%”). You'll note that there are two values shown. The first (leftmost) is the
parameter's base value. This is the one set by the preset, and is the one you edit when you turn the
'V' knob. The second value is the parameter's effective value. This is the value after control by CV
inputs etc. has been taken into account, and is the actual value being used by the algorithm.
If a parameter is not under CV control, these two values will always be the same. When CV control
is applied, this offsets the base value by an amount related to the CV.
If the 'R' knob has not been set up in the mapping, it defaults to changing the current parameter.
Since 'R' is an absolute positional control (a pot, not an encoder) this can make it much easier to dial
in values quickly, especially if the parameter has a large range.
Note that 'V' and 'R' are adjusting the same value, just in different ways.
If the 'R' button has not been set up in the mapping, it defaults to setting the current parameter to its
default value when pushed.
Holding 'V' shows a key of the current input and knob functions, either as hardwired into the
algorithm or set by the mapping.
5 An attenuverter is a Eurorack term for a combination of an attenuator and an inverter. These aren't strictly
attenuators because the gain goes above 100%.
Page 12
Single mode help
Video
Each algorithm's user manual section can be accessed via the Algorithms menu.
Page 13
Dual Mode
In dual mode, the disting EX essentially behaves like two souped-up disting mk4s6.
S knob S knob
Turn to change parameter value.
Hold & turn to choose parameter.
Press to enter menu.
Z knob Z knob
Input Z Input Z
Input X Input X
Input Y Input Y
Output A Output A
Output B Output B
We do not propose to reproduce the entire disting mk4 user manual7 here, which is itself a 114 page
document. Instead, below is a list of ways in which the disting EX in dual mode differs from a
disting mk4.
Sample rate
The disting mk4 runs at 75kHz in general, with some algorithms running lower for performance
reasons. The disting EX runs at 96kHz.
Scala support
The 'logTables_16_20.bin' file is not required.
Favourites
Whereas on a disting mk4 these are set up with a text file on the MicroSD card, on the disting EX
they are set via the Settings menu (see below).
6 https://www.expert-sleepers.co.uk/disting.html
7 https://www.expert-sleepers.co.uk/distingfirmwareupdates.html
Page 14
Help
Video
Video
The per-algorithm help is hardcoded into the firmware – it is not stored on the SD card. Also it
displays the help a page at a time, rather than scrolling it a character at a time!
The algorithm help can be accessed via the dual mode menu, as shown in the first video above. It
can also be quickly accessed by holding down the encoder for more than one second (shown in the
second video), in which case it will be dismissed when the encoder is released. Note that you can
still scroll through the help by turning the encoder, whichever way you access it.
The first screen's worth of help for each algorithm is an overview of the inputs and outputs:
Page 15
disting mk4 algorithms with improved specifications
• B-4 Clockable Delay/Echo
◦ Operates at 96kHz and offers a maximum delay time of around 22 seconds.
• C-3 Clockable Ping Pong Delay (Z feedback) & C-4 Clockable Ping Pong Delay (Z input
pan)
◦ Operate at 96kHz and offer a maximum delay time of around 11 seconds.
• D-2 Tape Delay & M-6 Stereo Tape Delay
◦ Maximum delay time is around 11 seconds (mono)/5.5 seconds (stereo). The algorithms
have an extra 'Coarse' parameter to access the extra delay time available.
• K-1 Wavetable VCO, K-2 Clockable Wavetable LFO, K-3 Wavetable Waveshaper, K-4
Clockable Wavetable Envelope & N-5 Pulsar VCO
◦ These algorithms support up to 1000 files in a wavetable folder, and up to 2 million total
wave samples (100/29000 on the disting mk4).
• All Audio Playback algorithms
◦ 24 bit WAV files are supported.
◦ Triggering latency is down from 3ms to 700µs.
◦ Enhanced support for embedded loop information (see below).
• L-1 Stereo Reverb, L-2 Mono-to-Stereo Reverb & L-3 Dual Reverb
◦ The maximum reverb size parameter is 99 (rather than 32).
• M-7 Granular Pitch Shifter
◦ The maximum delay parameter is 99 (rather than 32).
Page 16
Also, from the main menu you can save & load a 'dual preset', which stores the parameters for both
halves, and can be named. See Presets, below.
When a parameter is changed, or a menu is used, the display zooms to use the whole screen for the
half being edited. A bar is drawn at the top of the screen showing whether the left or right half is
being accessed:
The images above show a menu and a parameter being accessed for the left & right halves
respectively.
In the main Settings menu (see below) you can choose alternative dual display modes. The options
are 'Standard', 'Standard (no zoom)' and 'Retro'. The 'no zoom' option is as above but the display
never zooms to use the entire screen for one half. The 'Retro' option recreates the actual disting mk4
display – a 5x7 LED matrix for each half:
Page 17
Presets
A preset on the disting EX stores the following information:
• The preset name.
• The current algorithm(s).
• The algorithm parameters.
• For dual algorithms:
◦ The current parameter.
◦ The chosen Z function.
• For single algorithms:
◦ Any folder and/or file names used by the algorithm.
Presets can be stored in the module's flash memory and/or on the MicroSD card. There are 256
preset slots in flash memory. You can also save all 256 presets to/from MicroSD at once.
All preset functions are accessed via the top-level Presets menu.
Load preset
Loads a preset from flash memory. Use the 'P' knob to choose the preset slot. The preset name is
shown at the bottom of the screen, or <Empty> if the slot is empty. The preset algorithm is also
displayed.
Save preset
Saves the current module state to a preset in flash memory. Use the 'P' knob to choose the preset
slot. If the slot is not empty, the preset name and algorithm are shown.
Reset preset
Name preset
Allows you to edit the name of the current preset. Typically you would do this before saving it.
Use the 'P' knob to move the cursor, and the 'V' or 'R' knobs to edit the character under the cursor.
Page 18
Load from SD card
Save to SD card
Saves the current module state to a preset file on the SD card. The file is placed in the root folder,
and the filename is automatically constructed from the preset name.
Saves all the presets in flash memory to a file on the MicroSD card. The file is placed in the root
folder, and is named 'ALL<n>.dexpresets' where <n> is a number which increments to make the
filename unique.
Auto-save
If enabled in the Settings (see below) the module will periodically save its current state, and reload
it when the module next powers up.
When an automatic save is performed, the message “*AUTO-SAVE*” will flash up on the display.
Auto-saves do not use one of the regular preset slots. If you want to save a preset that you can
reload at will, use one of the manual save mechanisms.
An auto-save happens 10 seconds after any change (this delay is to ensure the module is not
constantly auto-saving while you're changing values), except that auto-saving is prevented while
Page 19
audio is being played from or recorded to the SD card (this is largely precautionary – SD usage can
be performance critical).
Page 20
Mappings
A 'mapping' stores all the information about how an algorithm's parameters are controlled by CV,
MIDI etc. It is dealt with separately from a preset on the rationale that you will change a mapping
less often than a preset.
Mappings can be stored in the module's flash memory and/or on the MicroSD card. There are 64
mapping slots in flash memory. You can also save all 64 mappings to/from MicroSD at once.
All mapping functions are accessed via the top-level Mappings menu.
CV Mappings
Video
CV mappings let you control algorithm parameters from the module's six CV inputs. Every
parameter can be assigned to a CV input simultaneously, and each parameter's response to that CV
set independently.
The CV mappings offset the values set manually – the parameter value calculated from the CV
voltage is added to the value set via the parameter/value knobs.
When you switch to a new algorithm, some CV mappings may be set up by default. Even for
parameters which do not by default have an active CV mapping, the CV scalings are set
appropriately so that simply enabling a CV input will control the parameter in a sensible way,
usually mapping the range ±5V to the whole parameter range.
On the mapping editing screen, move the cursor (the dotted rectangle) with the 'P' knob. Turn the
'V' or 'R' knobs to adjust the value under the cursor. There are five cursor positions:
• The parameter number – choose which parameter's mapping you want to edit.
• The input – choose the CV input to use, or “-” for none.
• The CV polarity – choose “Bipolar” to use both positive and negative CV voltages, or
“Unipolar” to use only positive voltages.
• Whether to treat the CV as a gate – choose “Norm” for a normal CV, or “Gate” for a gate. A
gate-type mapping switches between the parameter's minimum and maximum when the
input goes over 1V.
• The CV scaling – the relationship between incoming voltages and the parameter values. For
example, in the screenshot above, Input 4 is controlling the Input Level with a scaling of
20.0%/V – that is, it will take a CV of 5V to change the input level by 100%.
Page 21
Knob Mappings
Video
Knob mappings let you control algorithm parameters from the module's 'L' & 'R' knobs. Every
parameter can be assigned to a knob simultaneously, and each parameter's response to that knob set
independently.
The knob mappings can either offset the values set manually – the parameter value calculated from
the knob is added to the value previously set – or they can directly set the parameter value.
When you switch to a new algorithm, some knob mappings may be set up by default. Even for
parameters which do not by default have an active knob mapping, the knob scalings are set
appropriately so that simply enabling a knob will control the parameter in a sensible way, usually
mapping the knob to the whole parameter range.
On the mapping editing screen, move the cursor (the dotted rectangle) with the 'P' knob. Turn the
'V' or 'R' knobs to adjust the value under the cursor. There are six cursor positions:
• The parameter number – choose which parameter's mapping you want to edit.
• The knob – choose the knob to use, or “-” for none.
• Whether the knob offsets the parameter value (“Rel” or relative mode) or sets it directly
(“Abs” or absolute mode).
• Whether the knob is considered Unipolar (range 0-1) or Bipolar (range ±1). This simply
makes it easier to set the scale and offset values below.
• The knob offset, and
• The knob scale. These two values let you define the relationship between the knob position
and the value set by the mapping. The value is Offset + K * Scale, where K is a value in the
range [0,1] or [-1,1] (depending on the Uni/Bi setting).
Button Mappings
Video
Button mappings let you control algorithm parameters from pushing the module's 'L' & 'R' knobs.
Every parameter can be assigned to a button simultaneously, and each parameter's response to that
button set independently.
The button mappings offset the values set manually – the parameter value from the button is added
to the value set via the parameter/value knobs.
On the mapping editing screen, move the cursor (the dotted rectangle) with the 'P' knob. Turn the
'V' or 'R' knobs to adjust the value under the cursor. There are three cursor positions:
Page 22
• The parameter number – choose which parameter's mapping you want to edit.
• The button – choose the button to use, or “-” for none.
• The offset – the value to be added to the parameter when you press the button.
MIDI Mappings
Video
MIDI mappings let you control algorithm parameters via MIDI continuous controllers (CCs). Every
parameter can be assigned to a CC simultaneously, and each parameter's response to that CC set
independently.
The MIDI mappings set the base parameter values, exactly as if you had changed the value
manually with the 'V' knob.
When you switch to a new algorithm, default MIDI mappings are applied, which is to control
parameters 7 and up (i.e. everything except the common attenuverter parameters) from MIDI CCs 7
and up8. The CC value range of 0-127 is mapped to the parameter's full value range.
On the mapping editing screen, move the cursor (the dotted rectangle) with the 'P' knob. Turn the
'V' or 'R' knobs to adjust the value under the cursor. There are six cursor positions:
• The parameter number – choose which parameter's mapping you want to edit.
• The CC number – choose which MIDI CC you want to control the parameter.
• The Enabled/Disabled setting.
• Whether the CC is treated as normal (“Norm”) or symmetric (“Sym”). For a normal CC, the
range 0-127 is mapped across the range set by the min & max settings below. For a
symmetric CC, the value 64 is mapped to the mid point of the range, and values above and
below that are scaled by half the total range. A symmetric mapping is appropriate for a
parameter which has a bipolar range around zero (for example, a pan position), where you
want to be sure that a MIDI value of 64 gives you exactly zero in the middle.
• The minimum (“Min”) and
• the maximum (“Max”) parameter values for the mapping.
I2C Mappings
I2C mappings let you control algorithm parameters via the I2C bus (see below). Every parameter
can be assigned an I2C controller simultaneously, and each parameter's response to that controller
set independently.
The I2C mappings set the base parameter values, exactly as if you had changed the value manually
with the 'V' knob.
Page 23
When you switch to a new algorithm, default I2C mappings are applied, which is to control
parameters 7 and up (i.e. everything except the common attenuverter parameters) from I2C
controllers 0 and up. The controller range of 0-16383 is mapped to the parameter's full value range.
On the mapping editing screen, move the cursor (the dotted rectangle) with the 'P' knob. Turn the
'V' or 'R' knobs to adjust the value under the cursor. There are six cursor positions:
• The parameter number – choose which parameter's mapping you want to edit.
• The controller number – choose which I2C controller you want to control the parameter.
• The Enabled/Disabled setting.
• Whether the CC is treated as normal (“Norm”) or symmetric (“Sym”). For a normal CC, the
range 0- 16383 is mapped across the range set by the min & max settings below. For a
symmetric CC, the value 8192 is mapped to the mid point of the range, and values above
and below that are scaled by half the total range. A symmetric mapping is appropriate for a
parameter which has a bipolar range around zero (for example, a pan position), where you
want to be sure that a controller value of 8192 gives you exactly zero in the middle.
• The minimum (“Min”) and
• the maximum (“Max”) parameter values for the mapping.
Load mapping
Loads a mapping from flash memory. Use the 'P' knob to choose the mapping slot. The mapping
name is shown at the bottom of the screen, or <Empty> if the slot is empty. The algorithm for
which the mapping was saved is also displayed.
Save mapping
Saves the current module mapping state to a mapping in flash memory. Use the 'P' knob to choose
the mapping slot. If the slot is not empty, the mapping name and algorithm are shown.
Reset mapping
Name mapping
Allows you to edit the name of the current mapping. Typically you would do this before saving it.
Use the 'P' knob to move the cursor, and the 'V' or 'R' knobs to edit the character under the cursor.
Page 24
Load from SD card
Save to SD card
Saves the current mapping to a file on the SD card. The file is placed in the root folder, and the
filename is automatically constructed from the mapping name.
Saves all the mappings in flash memory to a file on the MicroSD card. The file is placed in the root
folder, and is named 'ALL<n>.dexmappings' where <n> is a number which increments to make the
filename unique.
Page 25
Single Mode Algorithms
The following pages describe the disting EX's “single mode” algorithms.
Page 26
1 – Matrix Mixer
The Matrix Mixer is a flexible 6 into 4 mixer, mainly designed for CV processing, though it will
happily handle audio as well. As well as a static mix, the algorithm is capable of complex dynamic
mixes when CV mapping is used, and also of CV generation – for example, by automating the input
and output offsets to generate four CVs which might control the rest of your patch in a 'macro'
fashion.
Parameters
Name Min Max Default Unit Description
1-6 Attenuverter -200 200 100 % Applies an attenuverter to the corresponding
1-6 input. A negative value indicates that the CV
will be inverted.
7-10 Out offset -10000 10000 0 Output offset for outputs 1-4. The unit of the
1-4 offset depends on the corresponding 'Out
offset type' parameter. The net offset in mV is
shown to the right of the parameter value.
11-14 Out offset 0 2 0 Sets the unit for the corresponding 'Out offset'
1-4 type parameter. The options are V (Volts), mV
(millivolts) and semitones (multiples of
83mV, corresponding to semitone steps of a
1V/octave pitch CV).
Page 27
Name Min Max Default Unit Description
15-38 Mix N->M -200 200 0 % These 24 parameters set the mix matrix. E.g.
'Mix 5->2' sets the amount of input 5 that will
be summed into output 2. A negative amount
indicates that the signal will be inverted.
39-44 In offset -10000 10000 0 Input offsets for inputs 1-6. The unit of the
1-6 offset depends on the corresponding 'In offset
type' parameter. The net offset in mV is
shown to the right of the parameter value.
45-50 In offset 0 2 0 Sets the unit for the corresponding 'In offset'
1-4 type parameter. The options are the same as for
'Out offset type' above.
51-54 Out 0 3 0 Sets the quantization for outputs 1-4. The
Quantize 1- output quantization is applied after the output
4 offset.
55-60 In Quantize 0 3 0 Sets the quantization for inputs 1-6. The input
1-6 quantization is applied after the input offset.
Quantization options
The following values are available for the Out Quantize 1-4 and In Quantize 1-6 parameters.
Value Name Description
0 Off No quantization.
1 V Quantization to whole Volts.
2 semitones Quantization to multiples of 83mV, corresponding to semitone steps of a
1V/octave pitch CV.
3 oct->semi Quantization to octaves, and then scaling by 1/12, so the output is a
semitone value per octave.9
9 This somewhat curious scheme was added to address a specific customer request. If you're interested, read the
discussion here (https://www.muffwiggler.com/forum/viewtopic.php?f=35&t=239480).
Page 28
2 – Augustus Loop
Video
Feedback
Pitch CV
Augustus Loop is a disting EX implementation of one of Expert Sleepers' oldest products, the VST
plug-in of the same name10. Essentially, it's a tape-inspired stereo delay.
The delay time can be dialled in manually, or set by tap tempo or a clock input. The longest delay
possible is around 44 seconds.
Being a tape delay, you can change the tape speed via CV. Patching an LFO into here is your route
to all manner of subtle detuning or extreme mangling effects. You can also stop and reverse the
tape.
Note that the 'Pitch CV' input changes the tape speed. It is labelled pitch rather than speed to
emphasise the fact that it is scaled 1V/octave.
10 https://expert-sleepers.co.uk/augustusloop.html
Page 29
This diagram is reproduced from the VST plug-in user manual, and explains the signal flow
graphically:
Output Input
Dry Input
Effect level level
level
Saturation Master
feedback
& Filter
Feedback
levels
Read heads Write head
Virtual
Tape
There are four 'tape read heads' with independent delay times and stereo positions, allowing for
straight stereo delays, ping pong delays, or hybrid multi-tap style effects.
Algorithm-specific display
The bottom line of the display shows the current feedback, the tape direction, and the delay time.
Outputs
Outputs 1 & 2 are a mix of the dry and delay signals according to the 'Dry gain' and 'Effect gain'
parameters.
Outputs 3 & 4 are the delay signal only.
Parameters
Name Min Max Default Unit Description
1-6 Attenuverter -200 200 100 % Applies an attenuverter to the corresponding
1-6 input. A negative value indicates that the CV
will be inverted.
7 Time 0 437 10 Sets the delay time, in multiples of 100ms. The
(coarse) coarse and fine delay times are added to
produce the actual delay time.
Page 30
Name Min Max Default Unit Description
8 Time (fine) -100 100 0 ms Sets an adjustment to the delay time, in
milliseconds. The coarse and fine delay times
are added to produce the actual delay time.
9 Delay 0 23 15 A multiplier to apply to the delay time set by
multiplier the parameters, the tap tempo, or the clock. See
below for the available values.
10 Feedback 0 100 50 % The master delay feedback amount.
11 Dry gain -40 6 0 dB The amount of the dry signal to mix into the
outputs. At “-40” there is no dry signal at all i.e.
it's actually –∞dB.
12 Effect gain -40 6 -3 dB The amount of the effect (delay) signal to mix
into the outputs. At “-40” there is no effect
signal at all i.e. it's actually –∞dB.
13 L-L Time 0 100 100 % Scales the delay time of the left-to-left feedback
path, as a percentage of the master delay time.
14 L-R Time 0 100 50 % Scales the delay time of the left-to-right
feedback path, as a percentage of the master
delay time.
15 R-L Time 0 100 50 % Scales the delay time of the right-to-left
feedback path, as a percentage of the master
delay time.
16 R-R Time 0 100 100 % Scales the delay time of the right-to-right
feedback path, as a percentage of the master
delay time.
17 L-L Level 0 100 100 % Scales the amount of the delayed left signal
mixed into the left feedback path.
18 L-R Level 0 100 0 % Scales the amount of the delayed left signal
mixed into the right feedback path.
19 R-L Level 0 100 0 % Scales the amount of the delayed right signal
mixed into the left feedback path.
20 R-R Level 0 100 100 % Scales the amount of the delayed right signal
mixed into the right feedback path.
21 Mono-ize 0 100 0 % Reduces the stereo width of the incoming
signal. At zero the signal is reduced to mono, at
a pan position set by the 'Initial pan' parameter.
22 Initial pan -100 100 -100 Sets the pan position of the mono-ized signal.
-100 is fully left; 100 is fully right.
23 Input level 0 100 100 % Attenuates the input signal fed to the tape write
head.
Page 31
Name Min Max Default Unit Description
24 Pitch inertia 0 125 64 Sets the amount of 'inertia' or slew on the pitch
CV input. At zero, the tape speed follows the
pitch input closely; at the maximum value, pitch
changes are quite gradual.
25 Stop tape 0 1 0 When set to '1', the tape speed is set to zero.
Note that the Pitch inertia affects how quickly
the tape stops and starts.
26 Reverse tape 0 1 0 When set to '1', the tape is reversed. Note that
the Pitch inertia affects how quickly the tape
reverses.
27 Mono input 0 1 0 If '0', inputs 1 & 2 are used as a stereo input. If
'1', only input 1 is used, as a mono input
(leaving input 2 free for parameter mapping).
28 Sample rate 0 1 1 Controls the sample rate at which the algorithm
runs. At the default '1' the algorithm runs at full
speed (96kHz). At '0' the algorithm runs at
48kHz, which doubles the maximum delay
time.
29 Bit depth 0 1 1 Controls the bit depth used in the delay memory
(note, not the bit depth used in any other
processing). Settings this to '0' (16 bit) doubles
the maximum delay time.
30 Inertia free 0 1 0 Enables 'Inertia free' mode. See below.
31 Inertia fade 1 1000 100 ms The fade time to use when in Inertia free mode.
time
32 Pitch CV 0 6 5 The CV input to use for pitch, or “0” for none.
input
33 Clock input 0 6 3 The CV input to use as the clock, or “0” for
none. The delay time is set as the time between
two rising clock edges.
34 Tap tempo 0 1 0 When this parameter transitions from 0 to 1, the
algorithm acts on a tap tempo event. See tap
tempo, below.
Default mappings
Input 4 is mapped to 'Input level'.
The 'L' knob is mapped to 'Feedback'.
The 'L' button is mapped to 'Tap tempo'.
'Clock input' defaults to input 3.
'Input level' defaults to input 4.
'Pitch CV input' defaults to input 5.
Page 32
Delay time multipliers
Parameter value Multiplier Parameter value Multiplier Parameter value Multiplier
0 1/64 8 3/16 16 x1.5
1 1/48 9 1/4 17 x2
2 1/32 10 5/16 18 x3
3 1/24 11 1/3 19 x4
4 1/16 12 3/8 20 x5
5 1/12 13 1/2 21 x6
6 1/8 14 3/4 22 x8
7 1/6 15 x1 23 x16
Tap tempo
The 'Tap tempo' parameter allows for a tap tempo function. Typically you would map this to a
button push, or a MIDI event. By default it is mapped to the 'L' button.
Two taps are required to set the delay time. Taps more than 11 seconds apart are ignored. When the
module is 'listening' for a second tap, a “!” is shown in the display, as in the screenshot above.
11 Granted, the name of this parameter isn't particularly well chosen, but this is what it's called in the VST version, and
we're sticking with it for the sake of consistency.
Page 33
3 – SD Multisample
Video pt1
Video pt2
Pitch CV 1 Gate 1
Paraphonic gate
Stereo outputs
Mono mix
Algorithm-specific display
If the Folder parameter is current, the bottom line shows the folder name. Otherwise, it shows the
12 https://expert-sleepers.co.uk/generalcv.html
Page 34
file numbers being played by the 8 voices, or “--” if a voice is not playing. The top line shows
information for the highest active voice: the file name, the file's natural pitch, and its switch setting.
Outputs
Outputs 1 & 2 are the main stereo outputs.
Output 4 is a mono mix of outputs 1 & 2.
Output 3 is a 'paraphonic gate' – it will be high while any voices are playing.
MIDI support
This algorithm recognises note on, note off, and pitch bend messages. It also recognises sustain
(CC# 64) and All Notes Off (CC# 123 value 0), so these CCs are not available for MIDI mapping.
Notes received over MIDI (and i2c) use the 'Arpeggio 3 mode' and 'Arpeggio 3 range' parameters.
Processing of MIDI notes can be disabled from the algorithm's menu:
Parameters
Name Min Max Default Unit Description
1-6 Attenuverter -200 200 100 % Applies an attenuverter to the corresponding
1-6 input. A negative value indicates that the CV
will be inverted.
7 Folder 0 999 0 The folder on the MicroSD card to load the
samples from.
8 Env Time 0 100 25 The (release) envelope time. The value 100
means “infinite” - the sample will play forever
or until it stops, depending on whether it is
looped or one-shot.
9 Input mode 0 3 1 Sets how many input CV/gate pairs the
algorithm uses. “1” uses inputs 2/4; “2” adds
inputs 1/3; “3” adds inputs 5/6.
10 Octave -8 8 0 Transposes the whole instrument in octaves.
11 Transpose -60 60 0 Transposes the whole instrument in semitones.
12 Fine tune -100 100 0 cents Tunes the whole instrument in cents.
13 Gain -40 6 0 dB Applies an output gain (before saturation, if
enabled).
14 Saturation 0 1 1 Enables a soft saturation stage at the output.
This will prevent harsh digital clipping, at the
expense of some colouration of the sound when
driven loud.
15 MIDI vel 0 3 0 Selects a velocity curve applied to incoming
curve MIDI notes.
16 Sustain 0 1 0 Activates sustain (notes remain playing when
Page 35
Name Min Max Default Unit Description
the gate goes low).
17 Sustain mode 0 1 0 Sets the behaviour of the sustain function. The
options are “Synth” (sustained notes cannot be
retriggered) and “Piano” (sustained notes can
be retriggered).
18 Max voices 1 8 8 Sets the maximum number of simultaneous
voices.
19 Bend range 0 48 2 The pitch bend range, in semitones. Applies
both to MIDI pitch bend, and to CV pitch bend,
in which case a CV of ±5V maps to the chosen
bend range.
20 Pitch bend 0 6 0 The pitch bend input, or “0” for none.
input
21- Voice 1-8 -100 100 0 cents Sets a per-voice detune. This could be used for
28 detune example to mimic an old polysynth with a
badly tuned voice card.
29- Voice 1-8 0 6 0 The per-voice pitch bend input, or “0” for none.
36 bend input
37 Chord enable 0 1 0 Enables the chord generator function. (Note:
the arpeggiator also requires this to be active.)
38 Chord key -12 12 0 The key of the chord generator. “0” is C, “1” is
C♯/D♭ etc.
39 Chord scale 0 6 0 The scale of the chord generator. See below for
the options.
40 Chord shape 0 13 0 The shape of the chord generator. See below
for the options.
41 Chord 0 3 0 The chord inversion. For example the first
inversion inversion takes the first note of the chord and
moves it an octave up, so the lowest note in the
chord is now the second (e.g. C E G becomes E
G C). See e.g. here13 for a fuller explanation of
inversions.
42- Arpeggio 1-3 0 9 0 The arpeggiator mode for each CV/gate input
44 mode pair. See below for the options.
45- Arpeggio 1-3 1 3 1 When set to 1, the arpeggio is simply the notes
47 range formed by the chord. When set to 2 or 3, a copy
of the chord is appended to the pattern, one or
two octaves higher, creating a longer pattern
that spans multiple octaves.
48 Arp reset 0 6 0 The input to use as the arpeggiator reset, or “0”
input for none. A trigger pulse into this input will
13 https://en.wikipedia.org/wiki/Inversion_(music)#Inversions
Page 36
Name Min Max Default Unit Description
reset the arpeggiator back to step 1.
49 Gate offset 0 496 0 Offsets (delays) the gate inputs relative to the
pitch inputs. This is useful to allow pitch CVs
to settle before they are sampled on the rising
gate, and also to cope with modules which
output both a pitch and gate but change their
pitch first.14
50 Scala SCL 0 500 0 Sets the Scala scale file to use, or 0 for none.
51 Scala KBM 0 500 0 Sets the Scala keyboard map file to use, or 0 for
none.
52 Normalisation 1 8 6 Sets how many voices playing simultaneously
will generate a full-range output. If you intend
to play monophonic lines, reduce this. If you
intend to play big chords, raise it (or the outputs
may clip/saturate).
Default mappings
Input 1 is mapped to 'Env Time'.
Input 3 is mapped to 'Sustain'.
Chord scales
The available scales are as follows.
Name Notes Example (on C)
Major 1, 3, 5, 6, 8, 10, 12 CDEFGAB
Natural Minor 1, 3, 4, 6, 8, 9, 11 C D E♭ F G A♭ B♭
Dominant 1, 3, 5, 6, 8, 10, 11 C D E F G A B♭
Fully Diminished 1, 3, 4, 6, 7, 9, 10, 12 C D E♭ F F♯ A♭ A B
Dominant Dim 1, 2, 4, 5, 7, 8, 10, 11 C D♭ E♭ E F♯ G A B♭
Augmented 1, 4, 5, 8, 9, 12 C E♭ E G A♭ B
Whole Tone 1, 3, 5, 7, 9, 11 C D E F♯ G♯ A♯
Chord shapes
The available shapes are as follows.
Name Notes (within scale) Example (in C major)
None 1 C
Octave 1-1(8ve) C C(8ve)
14 For example, while making the demo movie for this algorithm, we discovered that a suitable value for the René mk2
is around 330.
Page 37
Name Notes (within scale) Example (in C major)
Two Octaves 1-1(8ve)-1(15ma) C C(8ve) C(15ma)
Root/Fifth 1-5 CG
Root/Fifth + 8ve 1-5-1(8ve) C G C(8ve)
Triad 1-3-5 CEG
Triad + 8ve 1-3-5-1(8ve) C E G C(8ve)
Sus4 1-4-5 CFG
Sus4 + 8ve 1-4-5-1(8ve) C F G C(8ve)
Sixth 1-3-5-6 CEGA
Sixth + 8ve 1-3-5-6-1(8ve) C E G A C(8ve)
Seventh 1-3-5-7 CEGB
Seventh + 8ve 1-3-5-7-1(8ve) C E G B C(8ve)
Ninth 1-3-5-7-2(8ve) CEGBD
Arpeggio modes
The 'Arpeggio 1-3 mode' parameters specify the way in which the notes from the chord are played
to create an arpeggio. The options are as follows:
Name Behaviour Example (on C major triad)
Up Notes are played from lowest to highest. C E G C E G ...
Down Notes are played from highest to lowest. G E C G E C ...
Alt Notes are played alternately up and down. C E G E C E G ...
Alt2 Notes are played alternately up and down, C E G G E C C E G ...
repeating the top & bottom notes.
Up -8ve See below.
Down -8ve See below.
Alt -8ve See below.
Alt2 -8ve See below.
Random Notes are played in a random order.
The “-8ve” modes differ from the basic modes in how they treat the Range parameter (above), for
shapes which end in “+8ve”. As an example, consider the Triad+8ve shape in C major, which
contains the notes:
C E G C(8ve)
If Range is set to 2, this pattern is repeated an octave higher, so modes Up/Down/Alt/Alt2 will
arpeggiate the notes:
C E G C(8ve) C(8ve) E(8ve) G(8ve) C(15ma)
Note how C(8ve) is repeated. The “-8ve” modes skip this repeated note, so for example the Up-8ve
mode will play:
C E G C(8ve) E(8ve) G(8ve) C(15ma) C E G ...
Page 38
WAV file defaults
Loop setting: the default is for a file to be looping if it has loop markers defined in the file, or to be
one-shot otherwise. This can be overridden in the playlist.
Scala support
Video
You can apply microtonal tunings in this algorithm using files in Scala15 format, placed on the
MicroSD card. The files can be generated by the Scala application, any another tool that writes
Scala-format files (for example, Scale Workshop16), or even written by hand.
Some example files are included on the MicroSD card that comes with the module. Scale files need
to go in the folder named 'scl', and keyboard map files need to go in the folder named 'kbm'.
Note that the 'playlist-scales.txt' file required by the dual mode algorithms is not used here. It
suffices to simply put the .scl and .kbm files into the right folders.
Select the scale and keyboard mapping using the parameters. If either is 'None', no microtuning will
be applied.
If there is a mismatch between the two files (for example, if the keyboard map refers to a scale
degree not present in the scale), then this is indicated in the display, and no microtuning is applied.
When active, microtuning is applied both when playing the algorithm over MIDI and when playing
using CV/gate.
SoundFont®s
Video
SoundFont17 is a file format (usually using the .sf2 extension) which rolls up multiple audio samples
with data describing how they are to be combined into an instrument. Such samples are ideally
matched for use in this algorithm. Sadly the way the data is arranged in the file format does not lend
itself to an efficient implementation on the module, so we have not supported being able to directly
load .sf2 files from the SD card. However, we have published an open source tool to extract the
samples from .sf2 files and to create a folder of WAV files, named appropriately for this algorithm.
The tool is here18.
15 http://huygens-fokker.org/scala/
16 https://sevish.com/scaleworkshop/
17 https://en.wikipedia.org/wiki/SoundFont
18 https://github.com/expertsleepersltd/sf2_to_dex
Page 39
4 – SD 6 Triggers
Video
This algorithm, primarily designed for drum sample playback, offers 6 voices with independent
triggers and sample selection.
It is somewhat like the disting mk4's 'I-8 Dual Audio Playback with Z Speed' but much more
capable.
It supports both velocity switches and round robins per sample.
The gate inputs are velocity sensitive – the voltage of the gate signal is used like the velocity of a
MIDI note. 5V corresponds to maximum velocity.
The trigger for each voice is the correspondingly numbered input i.e. input 1 triggers voice 1 etc.
Please see the section on WAV file naming conventions, below.
Algorithm-specific display
If the Folder parameter is current, the bottom line shows the folder name.
If one of the six Sample parameters is current, the bottom line shows the file name. If the voice is
playing, the line above also shows the velocity, the velocity switch number and the round-robin
number. If there are no round-robins or velocity switches, that number is replaced by “>”.
Page 40
Outputs
Outputs 1-4 are audio outputs. Each voice can be routed to one or a pair of these.
ES-5 outputs
If an ES-5 is connected (see above), the first 6 outputs of the ES-5 emit “end of sample” triggers
when the corresponding voice's sample comes to an end.
MIDI support
MIDI notes 48-53 trigger voices 1-6 respectively.
Processing of MIDI notes can be disabled from the algorithm's menu:
Parameters
Name Min Max Default Unit Description
1-6 Attenuverter -200 200 100 % Applies an attenuverter to the corresponding
1-6 input. A negative value indicates that the CV
will be inverted.
7 Folder 0 999 0 The folder on the MicroSD card to load the
samples from.
8-13 Sample 1-6 -1 999 0-5 The sample chosen for the voice. The special
value “-1” disables the voice.
14-19 Output 1-6 1 6 5 The output assignment for the voice. 1-4
indicate a single output; “5” indicates outputs
1/2 as a stereo pair; “6” indicates outputs 3/4 as
a stereo pair.
20-25 Gain 1-6 -40 6 -6 dB The gain for each voice.
26-31 Pan 1-6 -100 100 0 The pan position for each voice (if assigned to
a stereo output).
32-37 Env Time 1- 0 100 100 The (release) envelope time. The value 100
6 means “infinite” - the sample will play forever
or until it stops, depending on whether it is
looped or one-shot.
38-43 Transpose 1- -60 60 0 The transposition of each voice, in semitones.
6
44-49 Fine tune 1- -100 100 0 cents The fine tuning of each voice, in cents.
6
50-55 Choke group 0 3 0 The voice's 'choke group', or “0” for off. When
1-6 a voice in a choke group is triggered, it ends the
playback of any other voices in the same choke
group.
56-59 Out 1-4 0 1 1 Enables soft saturation on each output.
Saturation Saturation prevents harsh digital clipping, at the
Page 41
Name Min Max Default Unit Description
expense of some colouration of the sound when
driven loud.
Page 42
5 – WAV Recorder
Record Play
Record CV Play CV
Left/mono input
Right input
This algorithm records audio (or CV) to the MicroSD card as a WAV file. It can record up to six
channels of audio at 48 or 96kHz, 16 or 24 bit. It can also play previous recordings, though the
various WAV playing algorithms offer many more possibilities.
There is an “auto-sampler” feature for automatically capturing multi-sampled instruments.
Recording
The files are placed in a folder called “!RECORD” (which will be created by the module if it does
not exist). They are named e.g. “REC00001.WAV”, where the number increases for each new
recording. It can be controlled by pushing the module buttons, or by CV.
Do not remove the card or power off the module while it is recording.
Doing so may corrupt the card.
Inputs 1 & 2 are the stereo inputs (use input 1 for mono). When recording more than two channels,
use inputs 3-6 as required.
Press 'L' to start and stop recording. Press 'R' to start and stop playback of the last recording. Both
knobs can be 'locked' to prevent accidental activation. This is done by turning them anticlockwise.
If the button is pressed while locked, the display indicates this:
Recording can also be controlled by a CV into input 5. Playback can be controlled by input 6. Note
that when recording five or six channels, these inputs are used for audio. Be sure to switch to five or
Page 43
six channels before connecting the audio signals to the inputs, or you risk attempting to start/stop
recording & playback at audio rates, which will not end well.
Multi-channel audio
Recording of more than two channels at once places great demands on the MicroSD card. In our
tests we have achieved reliable recording of six channels at 48kHz, 24 bit. You are unlikely to
achieve 96kHz recordings of this many channels.
You are advised to thoroughly test your card before relying on it to make any critical recordings.
Currently, playback is only possible for mono or stereo files.
We have published a desktop tool to split multi-channel files into stereo & mono files, which is
here19.
Algorithm-specific display
The bottom of the screen shows a level meter. Each channel has a peak hold and a clip indicator.
(The image above shows that the left channel has clipped.) The number at the top right is the
number of the last recording – this will be incremented when recording starts.
While recording, the display looks like this:
The top line changes to show the time since recording started, a circle to indicate recording, and a
barber pole animation over the recording number.
Below the recording number are two horizontal lines, which will grow from left to right. The top
line indicates how much data is being written into a memory buffer; the lower line indicates how
this data is being transferred to the card. Ideally these will progress in lock-step. If the top line
overtakes the lower line, this indicates that the module has been unable to write data to the card fast
enough. Unless your recording is shorter than the module's RAM buffer, it is likely to be
incomplete. In this case, use a faster card, or use a lower sample rate or bit depth.
While playing back a recording, the display looks like this:
The top line shows the time within the recording, a triangle to indicate playback, and the recording
number is superposed with a progress bar indicating the current position within the file.
Outputs
Outputs 1/2 and 3/4 are stereo pairs, whose exact function can be set with the 'Outputs' parameters.
Outputs 3/4 are also used as CV/gate outputs during auto-sampling.
19 https://github.com/expertsleepersltd/split_wav
Page 44
Parameters
Name Min Max Default Unit Description
1-6 Attenuverter -200 200 100 % Applies an attenuverter to the corresponding
1-6 input. A negative value indicates that the CV
will be inverted.
7 Input gain 0 24 0 dB The gain to apply to the inputs.
8 Sample rate 0 1 0 The sample rate of the recording. The options
are 48kHz and 96kHz.
9 Bit depth 0 1 0 The bit depth of the recording. The options are
16 bit and 24 bit.
10 Channels 1 2 2 The number of channels to record.
11 Rec CV 0 1 0 If “0”, the record CV control (input 5) is a
Mode trigger; if “1”, a gate.
12 Play CV 0 1 0 If “0”, the play CV control (input 6) is a
Mode trigger; if “1”, a gate.
13 Play As 0 1 0 Whether to play the recording as a one-shot or
Loop a loop.
14 Outputs 1/2 0 2 1 Controls what is output on outputs 1/2. See
below for details.
15 Outputs 3/4 0 2 0 Controls what is output on outputs 3/4. See
below for details.
16 AS Enable 0 1 0 Enables the auto-sampler.
17 AS Start 0 127 21 Auto-sampler start note. (MIDI note number;
Note 48 is 0V for the CV output.)
18 AS End 0 127 108 Auto-sampler end note.
Note
19 AS Note 1 127 1 Auto-sampler note step.
Step
20 AS Vel Sw 1 9 1 Number of auto-sampler velocity switch layers.
21 AS RRobins 1 9 1 Number of auto-sampler round-robins.
22 AS Coarse 0 60 1 s Auto-sampler note on time (coarse).
23 AS Fine -1000 1000 0 ms Auto-sampler note on time (fine).
24 AS Gap 1 600 1 x100 Auto-sampler gap time (time between note-ons
ms i.e. how long to keep recording after the note).
25 AS Latency 0 960 0 Auto-sampler latency adjustment.
Page 45
Output options
The following options apply to the “Outputs 1/2” and “Outputs 3/4” parameters.
0 Thru Output the input signals.
1 Thru/Play Output the input signals, unless playback is active, in which case output the
playback signals.
2 Play Output the playback if active, else nothing.
Auto-sampler
Video
Video
The auto-sampler feature of this algorithm allows you to automatically create multi-sampled
instruments in a format that can be immediately used by the SD Multisample algorithm, by
triggering an external synth (by MIDI or CV/gate) and recording the resulting audio.
Use the parameters to set the range of notes to be sampled, and the step size (e.g. every note, every
fourth note etc.). You can also choose to sample multiple velocity levels per note, and multiple
round-robins of each note.
The selected sample rate, bit depth, and channel count parameters apply as usual.
To begin, set “AS Enable” to 1. Connect your MIDI synth via the breakout, or connect a synth via
CV/gate to outputs 3 (CV) and 4 (gate).
Set the length of the note to be played using the “AS Coarse” and “AS Fine” parameters (these are
simply added). Set the gap between notes (which should allow time for the release section of the
note) with “AS Gap”.
You can preview the note timings by pressing the 'R' knob.
This will generate a MIDI note and a gate of the set length, after which “Testing timing” will
continue to be shown for the gap time.
This function also helps to set up the latency adjustment. This is unlikely to be necessary when
using CV/gate but there will be some delay when triggering a MIDI synth, which if not accounted
for will result in a short silence at the start of every sample. To the right of “Testing timing” will
appear a number (6 in the screenshot above) which is the number of frames between the note on and
the module receiving audio above a threshold (of 100mV). Set the “AS Latency” parameter to a
little less than this value. Experiment for best results.
Press the 'L' knob to begin the auto-sampling process.
A new folder will be created on the card named e.g “AUTO0001” and the samples placed therein.
The current filename being recorded is shown on the display.
Pressing 'L' again during auto-sampling will cancel it (leaving any samples recorded so far in
place).
Page 46
6 – Multi-Switch
Video
Macro 1/2
This algorithm offers six highly configurable sequential or voltage controlled switches. Being DC-
coupled, it can switch audio or CVs.
Each switch consists of two sub-switches: an input sub-switch, to select one of the module's six
inputs, and an output sub-switch, to select one of the module's four outputs. The selected input is
routed to the selected output. When multiple switches share the same output, their signals are
summed.
Each sub-switch can crossfade when transitioning, for click-free switches (when the fade is very
short) or noticeable blends between sources/targets (when the fade is long).
The switches can be controlled by CV inputs, or by one of the 'Macro' parameters, which can in turn
be controlled by one of the mapping sources (knobs, buttons, MIDI or i2c).
Parameters
The six switches have identical parameters. The parameters for switch A are spelled out below;
those for switches B-F follow the same pattern.
Name Min Max Default Unit Description
1-6 Attenuverter -200 200 100 % Applies an attenuverter to the corresponding
1-6 input. A negative value indicates that the CV
will be inverted.
Page 47
Name Min Max Default Unit Description
7-12 Macro 1-6 0 127 0 Can be mapped (to CV, MIDI etc.) and used as
a control source by the switches.
13 A inputs 0 31 0 The inputs for the switch. See 'inputs choices'.
14 A outputs 0 13 0 The outputs for the switch. See 'outputs
choices'.
15 A in control 0 36 0 The control source for the input switch. See
'control sources'.
16 A in control 0 9 0 The type of control source for the input switch.
type Changes the options available for 'in control'.
See 'control types'.
17 A out 0 36 0 The control source for the output switch. See
control 'control sources'.
18 A out 0 9 0 The type of control source for the output
control type switch. Changes the options available for 'out
control'. See 'control types'.
19 A reset 0 12 0 The reset source for the switch. See 'reset
sources'.
20 A fade 0 1000 1 ms The switch's crossfade time, in milliseconds.
21-28 Switch B parameters
29-36 Switch C parameters
37-44 Switch D parameters
45-52 Switch E parameters
53-60 Switch F parameters
Default mappings
The 'L' knob is mapped to 'Macro 1'.
The 'L' button is mapped to 'Macro 2'.
Page 48
Inputs choices
Value Switch inputs Value Switch inputs Value Switch inputs
0 None 10 4-5 20 2-3-4-5
1 1 11 5-6 21 3-4-5-6
2 2 12 6-1 22 4-5-6-1
3 3 13 1-2-3 23 5-6-1-2
4 4 14 2-3-4 24 6-1-2-3
5 5 15 3-4-5 25 1-2-3-4-5
6 6 16 4-5-6 26 2-3-4-5-6
7 1-2 17 5-6-1 27 3-4-5-6-1
8 2-3 18 6-1-2 28 4-5-6-1-2
9 3-4 19 1-2-3-4 29 5-6-1-2-3
30 6-1-2-3-4
31 1-2-3-4-5-6
Outputs choices
Value Switch outputs Value Switch outputs Value Switch outputs
0 None 5 1-2 10 2-3-4
1 1 6 2-3 11 3-4-1
2 2 7 3-4 12 4-1-2
3 3 8 4-1 13 1-2-3-4
4 4 9 1-2-3
Page 49
Control sources (when type is 'Link')
Value Control source Value Control source Value Control source
0 None
1 A plus 0 13 C plus 0 25 E plus 0
2 A plus 1 14 C plus 1 26 E plus 1
3 A plus 2 15 C plus 2 27 E plus 2
4 A plus 3 16 C plus 3 28 E plus 3
5 A plus 4 17 C plus 4 29 E plus 4
6 A plus 5 18 C plus 5 30 E plus 5
7 B plus 0 19 D plus 0 31 F plus 0
8 B plus 1 20 D plus 1 32 F plus 1
9 B plus 2 21 D plus 2 33 F plus 2
10 B plus 3 22 D plus 3 34 F plus 3
11 B plus 4 23 D plus 4 35 F plus 4
12 B plus 5 24 D plus 5 36 F plus 5
Control types
Value Name Description
0 None
1 Trig fwds The chosen source is used as a trigger to advance the switch one step forwards.
2 Trig rev The chosen source is used as a trigger to advance the switch one step
backwards.
3 Trig pong The chosen source is used as a trigger to advance the switch, the direction
alternating on each pass. For example, if the chosen inputs/outputs are 1-2-3,
the switch will advance like so: 1-2-3-2-1-2-3-2-1-etc.
4 Trig rand The chosen source is used as a trigger – the switch adopts a randomly chosen
position on each trigger.
5 Unipolar The chosen source is used directly to select a switch position. Values from 0V
to 5V map to switch positions from first to last.
6 Bipolar The chosen source is used directly to select a switch position. Values from -5V
to 5V map to switch positions from first to last.
7 Uni rev The chosen source is used directly to select a switch position. Values from 0V
to 5V map to switch positions from last to first.
8 Bi rev The chosen source is used directly to select a switch position. Values from -5V
to 5V map to switch positions from last to first.
9 Link The switch position is linked to another switch's position, plus an offset.
Page 50
Reset sources
A sub-switch is reset when its chosen reset input goes over 1V, or when the chosen Macro goes
over 64.
Value Reset source Value Reset source Value Reset source
0 None
1 Input 1 5 Input 5 9 Macro 3
2 Input 2 6 Input 6 10 Macro 4
3 Input 3 7 Macro 1 11 Macro 5
4 Input 4 8 Macro 2 12 Macro 6
Page 51
7 – Looper
Video
Record/Overdub/Clear Play/Pause/Mute
This algorithm provides four simultaneous loopers, with two button record/play/overdub control in
the manner of many stomp-box loopers.
The loopers may be 8/16/32 bit, and mono or stereo, with corresponding adjustments to maximum
loop time. For the default 16 bit mono, each of the four loops has a maximum time of about 21s.
The inputs and outputs of each looper are highly configurable; they can all share inputs & outputs,
or all have their own dedicated inputs and outputs, or something in between. There are output mix
controls for the loops themselves, and for a monitor mix (i.e. a mix of the looper inputs).
Loops can have crossfades, they can fade in and out, and overdubbing can fade in and out, all of
which is designed to make it easy to achieve smooth, ambient looping.
All looping operations can also be synchronised to a clock input, if tight rhythmic looping is more
your thing.
Loops may also be reversed, and played at half speed (an octave down).
Page 52
The target loop is set by parameter 7. You may like to map this to a knob for ease of access; or you
may not, to avoid the risk of accidentally changing it. Note that special MIDI control of the target
loop is provided – see below.
The commands are given by parameters 56-58 & 62. It is implemented this way to give you the
flexibility to map these commands to whatever CV, MIDI, i2c, button etc. you like.
The command is given when the parameter changes from '0' to '1'.
Basic looping
The basic procedure is as follows
– Connect an input signal (all loopers default to input 1).
– Choose the target loop.
The bottom of the display is divided into four, for the four loopers. Each will initially show
a square, which is the 'stopped' symbol. The target loop or loops are shown with inverted
colours.
– Press 'L' to begin recording.
The symbol for the target loop will change to a circle, for 'recording'. The recording time
will start counting up in the upper right of the display.
– Press 'L' again to end recording and immediately enter playback.
The symbol for the loop will change to a triangle, for 'play'. The upper right area shows the
current time in the loop, and the loop length. Both the upper right area and the loop's own
rectangle also indicate the position within the loop graphically.
– If the recording approaches the maximum loop time, the upper left of the display will show
'remain:' and the remaining loop time.
The display will show the record icon (circle) with an 'M' for mute.
Page 53
Pausing/muting the loop
Once a loop is playing, pressing 'R' pauses or mutes the loop, depending on the 'Pause/mute'
parameter.
If the loop is paused, the symbol changes to the 'double vertical line' icon:
Overdubbing
While a loop is playing, pressing 'L' enters overdub mode. Incoming material is recorded on top of
the previous loop. The loop's symbol shows both the play (triangle) and record (circle) icons.
While you hold the button, the word 'CLEAR' will appear with a graphical countdown. After two
seconds, the loop will be cleared.
Crossfades
Each loop can have a crossfade time set, which helps to make smooth loops. Note that raising the
crossfade time effectively reduces the loop time, since two passes of the loop have to be overlaid
and mixed.
If the crossfade time is set before recording the loop, the recording will run on after the end-of-
record command, in order to record extra material for the crossfade. The overall loop time will still
be correct i.e. the time between the start- and end-of-record commands.
Envelopes
Two attack-decay envelopes are provided; one for when a loop is started and stopped, and one for
when overdubbing starts and ends.
While the loop is in the decay stage, fading out towards pause/mute, a 'v' is indicated in its display.
While the end of overdub decay stage is active, the record indicator (the circle) flashes.
Page 54
Overdub fade
By default, loops do not fade out. You can use the 'Overdub fade' parameter to choose to fade out
previous material while overdubbing new material. Note that the fade stops (i.e. the loop no longer
decays) when overdubbing ends.
Clocked operation
If a clock input is chosen, any looping command is deferred until the next clock that arrives.
ES-5 outputs
If an ES-5 is connected (see above), the outputs of the ES-5 plus any attached ESX-8GT expanders
are selectable as the loops' trigger outputs.
MIDI support
MIDI notes 48, 50, 52 & 53 (i.e. C3, D3, E3 & F3) can be used to set the target loop (C is loop 1, D
is loop 2 etc.). While keys are held, subsequent presses are additive – that is, you can play a chord
to select multiple loops.
MIDI notes 55, 57, 59 & 60 (i.e. G3, A3, B3 & C4) activate Record, Play, Reverse and Octave
Down respectively.
Processing of MIDI notes can be disabled from the algorithm's menu:
Parameters
Name Min Max Default Unit Description
1-6 Attenuverter -200 200 100 % Applies an attenuverter to the corresponding
1-6 input. A negative value indicates that the CV
will be inverted.
7 Target loop 1 15 1 Selects which loop(s) will be affected by the
Record/Play/Reverse commands.
8 Record gain -40 6 0 dB The gain to apply at the loop inputs (does not
affect the monitoring levels).
9-12 Loop 1-4 0 6 1 Which input to use as the loop input, or '0' for
input 'None'. If the loops are stereo, this parameter
selects the left input and the next highest input
is used as the right channel input.
13-16 Loop 1-4 1 6 5 The loop output (1-4), or '5' to use outputs 1 &
output 2 as a stereo pair, or '6' to use outputs 3 & 4 as
a stereo pair.
17-20 Loop 1-4 -100 100 0 % If the loop output is a stereo pair, and the loops
pan are mono, this sets the pan position of the loop.
21-24 Loop 1-4 -40 6 0 dB The output gain of the loop.
gain
Page 55
Name Min Max Default Unit Description
25-28 Loop 1-4 x- 0 127 0 The loop crossfade time. The control is
fade logarithmic, offering times between 0.1ms and
5 seconds.
29-32 Loop 1-4 0 6 0 The input to use to control the loop level, or '0'
VCA for 'None'. If enabled, this is equivalent to
putting the loop output through a linear VCA,
with 5V being unity gain.
33-36 Monitor 1-4 1 6 5 The monitor output (1-4), or '5' to use outputs 1
output & 2 as a stereo pair, or '6' to use outputs 3 & 4
as a stereo pair.
37-40 Monitor 1-4 -100 100 0 % If the monitor output is a stereo pair, and the
pan loops are mono, this sets the pan position of the
monitor signal.
41 Monitor 1 -40 6 0 dB The monitor mix gain.
gain
42-44 Monitor 2-4 -40 6 -40 dB The monitor mix gain.
gain
45 Attack time 0 127 0 The loop attack time (when fading in from
pause/mute). The control is logarithmic,
offering times between 1ms and 30 seconds.
46 Decay time 0 127 0 The loop decay time (when fading out to
pause/mute). The control is logarithmic,
offering times between 1ms and 30 seconds.
47 Overdub 0 127 0 The loop overdub attack time (when entering
attck time overdub). The control is logarithmic, offering
times between 1ms and 30 seconds.
48 Overdub 0 127 0 The loop overdub decay time (when leaving
decay time overdub). The control is logarithmic, offering
times between 1ms and 30 seconds.
49 Overdub -240 0 0 0.1 Sets how much the previous loop content will
fade dB fade out on each pass while overdubbing.
50 Pause/mute 0 2 0 Chooses what happens when the pause/mute
command is given. The options are:
0 – Pause (loop stops)
1 – Mute (loop continues but is silent)
2 – Retrigger (as 1 but loop restarts from zero)
51-54 Trigger 1-4 0 52 0 Sets which output to use for a start-of-loop
output trigger pulse. The options are '0' for 'None', 1-4
for outputs 1-4, or 5-52 for the outputs of an
attached ES-5 module.
55 Clock input 0 6 0 Sets the clock input, or '0' for 'None'.
56 Record 0 1 0 Controls the 'record/overdub/clear' function. By
default this is mapped to the 'L' button.
Page 56
Name Min Max Default Unit Description
57 Play 0 1 0 Controls the 'play/pause/mute' function. By
default this is mapped to the 'R' button.
58 Reverse 0 1 0 Controls the 'reverse' function.
59 Bit depth 0 2 1 Sets the loop bit depth. The options are 8 bit, 16
bit or 32 bit.
60 Stereo 0 1 0 Chooses stereo or mono operation.
61 Lowpass 0 127 127 Sets the frequency of a second order high-pass
filter filter applied to the loop outputs. '127' disables
the filter; lower values set the cutoff frequency
with a minimum of 200Hz.
62 Octave 0 1 0 Controls the 'octave down' function.
down
Default mappings
The 'L' button is mapped to 'Record'.
The 'R' button is mapped to 'Play'.
Saving/loading loops
The Looper can load WAV files from the MicroSD card into the loops, and can save its loops as
WAV files.
When a preset is saved from this algorithm, it automatically saves its loops as WAV files, and loads
them when the preset it loaded.
Files are saved and loaded from the Looper's own menu, which is accessed by pressing 'P' in the
usual way:
You can then navigate to the WAV file that you want to load.
Then navigate to one of the files in the set. The files will be loaded to the loops that correspond to
their suffix number.
Page 57
Saving loops
From the Looper menu, select 'Save WAV' and then 'Save all loops':
Each looper that is not empty will be saved to the MicroSD card as a WAV file, into a folder named
“!LOOPER”. A unique filename is automatically generated, starting with “LP” and then a number,
and finally a suffix in the format expected by 'Load loop set'.
The filename is displayed when saving is complete:
Page 58
8 – Dream Machine
Video
Wave offset
Wave input
Fundamental wave
Stereo outputs
Fundamental envelope
This algorithm is designed to generate drones, allowing the user to explore non-traditional
harmonies based on prime ratios. It was inspired by the theories of composer La Monte Young20.
An interesting read is the pdf “Notes on The Theatre of Eternal Music” available in a number of
places online e.g. here21.
The output is a combination of five sounds – the fundamental and four harmonies. The prime ratios
that define the frequency relationships are controlled by parameters.
The algorithm uses wavetable synthesis to generate the tones. Additionally the fundamental may
instead be a pure sine, triangle or square wave.
Each tone has a simple attack/release envelope, controlled by its own gate parameter.
By default little is mapped to the CV inputs, and it is perfectly possible to drive the algorithm
entirely by hand. You may however like to map the inputs as FM inputs, or to control the gates.
20 https://en.wikipedia.org/wiki/La_Monte_Young
21 http://soundartarchive.net/articles/Young-2000-Notes%20on%20his%20Practice.pdf
Page 59
parameter (in thousandths of a Hz), or set from the algorithm's menu.
Note that the Hz value shown in the display also takes into account the octave parameter.
When setting the numerators, the pitch of the tone is shown, as well as the ratio reduced to its
lowest form. For example 48/32 reduces to 3/2, the familiar form of the perfect fifth in just
intonation.
Outputs
Outputs 1 & 2 are the main stereo mix.
Output 3 is the fundamental waveform (unaffected by its gain and envelope).
Output 4 is the fundamental's envelope.
Parameters
Name Min Max Default Unit Description
1-6 Attenuverter -200 200 100 % Applies an attenuverter to the corresponding
1-6 input. A negative value indicates that the CV
will be inverted.
7 Wavetable 0 999 0 Chooses the wavetable from those installed on
the MicroSD card. See below.
8 Prime 1 2 32767 2 Sets one of the four primes that may be
multiplied to create the denominator and
numerators of the frequency ratios.
9 Prime 2 1 32767 3 Sets the second prime.
10 Prime 3 1 32767 7 Sets the third prime.
11 Prime 4 1 32767 31 Sets the fourth prime.
Page 60
Name Min Max Default Unit Description
12 Fundamental 1 32767 29135 Sets the fundamental frequency, in thousandths
of a Hz.
13 Octave -8 8 1 Sets an octave shift for the fundamental.
14 Denominator 1 256 32 Sets the denominator of the frequency ratios.
15 Numerator 1 1 1024 42 Sets the numerator of the frequency ratio of
tone 1.
16 Numerator 2 1 1024 56 Sets the numerator of the frequency ratio of
tone 2.
17 Numerator 3 1 1024 62 Sets the numerator of the frequency ratio of
tone 3.
18 Numerator 4 1 1024 63 Sets the numerator of the frequency ratio of
tone 4.
19 Gate 0 0 1 0 Gate for the fundamental.
20-23 Gate 1-4 0 1 0 Gates for tones 1-4.
24 Gain 0 -40 6 0 dB Gain for the fundamental.
“-40” is treated as –∞dB.
25-28 Gain 1-4 -40 6 0 dB Gains for tones 1-4.
“-40” is treated as –∞dB.
29-32 Pan 1-4 -100 100 0 % Stereo pan position for tones 1-4.
33 Wave input 0 6 5 Which input to use to control the position in the
wavetable, or '0' for 'None'.
34 Wave offset -100 100 0 An offset for the wavetable position, added to
that set from the wave input.
35 Attack time 0 127 0 Attack time for the envelopes.
36 Decay time 0 127 0 Decay time for the envelopes.
37-40 FM input 1-4 0 6 0 Which input to use to frequency modulate (FM)
tones 1-4, or '0' for 'None'. The inputs are scaled
according to the FM Range parameter.
41 Waveform 0 0 3 0 Chooses the waveform for the fundamental.
Options 0-3 are Wavetable, Sine, Triangle and
Square, respectively.
42 FM Range 0 3 0 Sets the scaling for the FM inputs. The options
are 1Hz/V, 10Hz/V, 100Hz/V or 1kHz/V.
Default mappings
The 'L' knob is mapped to 'Wave offset'.
Input 5 is mapped to 'Wave input'.
Page 61
Fun fact
This algorithm was road-tested during development in a couple of online gigs, which you can watch
here22 and here23.
22 https://www.youtube.com/watch?v=zc5ksVeMXFA
23 https://www.youtube.com/watch?v=WTw6vz71LJM
Page 62
9 – Filter Bank
Video
CV input (optional)
Stereo inputs
Gate input (optional)
This algorithm provides a bank of eight parallel stereo bandpass filters or resonators. The filters'
levels can be controlled manually, via CV, or with envelopes driven from gates, and their pitch can
also be set manually or via CV or MIDI. An internal octature LFO is also provided for the levels.
The resonators in particular are good for being played as chords over MIDI, in the manner of the
Alesis Quadraverb Plus (see e.g. here24).
Filter modes
The filters can be set to one of three modes: Resonator, Bandpass or Multiband.
Resonators are peaking all-pass filters that greatly emphasise the narrow band of frequencies around
their centre frequencies.
Bandpass filters are a basic filter type that attenuate frequencies away from their centre frequencies.
In both of the modes above, all eight filters are completely independent. In Multiband mode
however, the filter frequencies set a series of crossover points, such as you might find in a
multiband compressor, for example. Therefore the frequencies passed by each band are bounded by
its own frequency on the one side, and the frequency of the next band on the other.
24 https://www.youtube.com/watch?v=ZObDS3Hvfuo&t=90
Page 63
Setting the filter frequencies
When set manually from the parameters, the filter frequencies are set in terms of MIDI note
numbers. The frequency in Hz is also shown for convenience.
Outputs
Outputs 1 & 2 are a mix of the dry and filtered signals according to the 'Dry gain' and 'Effect gain'
parameters.
Output 3 is a sum of the odd-numbered filters (1, 3, 5 & 7) only.
Output 4 is a sum of the even-numbered filters (2, 4, 6 & 8) only.
MIDI support
MIDI notes set the pitch and control the gates of the filters.
Processing of MIDI notes can be disabled from the algorithm's menu:
Parameters
Name Min Max Default Unit Description
1-6 Attenuverter -200 200 100 % Applies an attenuverter to the corresponding
1-6 input. A negative value indicates that the CV
will be inverted.
7 Mode 0 2 0 Selects the filter mode. The options are
Resonator, Bandpass or Multiband.
8 Gain/Q 1 100 50 % Sets the filter gain (for resonators) or resonance
(for bandpass/multiband).
9 Dry gain -40 6 -3 dB The amount of the dry signal to mix into the
outputs. At “-40” there is no dry signal at all i.e.
it's actually –∞dB.
10 Effect gain -40 6 -3 dB The amount of the effect (filtered) signal to mix
into the outputs. At “-40” there is no effect
signal at all i.e. it's actually –∞dB.
11 Attack time 0 127 0 The envelope attack time.
12 Decay time 0 127 0 The envelope decay time.
13-20 Pitch 1-8 0 127 The pitches/frequencies of the eight filters.
21-28 Gate 1-8 0 1 0 The gates for the eight filters.
29-36 Gain 1-8 -40 6 0 dB The gain for the eight filters.
“-40” is treated as –∞dB.
37-44 VCA input 0 6 0 The input to use as a VCA for the filter, or '0'
1-8 for 'None'.
Page 64
Name Min Max Default Unit Description
45 Spread -100 100 0 % Sets an amount by which to spread out the
filters in the stereo field.
46 LFO depth 0 100 0 % Sets the depth of an octature LFO modulation of
the filter gains.
47 LFO rate -100 100 50 Sets the LFO rate.
48 CV/Gate 0 2 0 Sets whether inputs 3 & 4 are used as a CV/gate
control pair to 'play' the filters as pitched voices. The
options are Off, On (filter pitch follows the CV)
and Quantized (filter pitch set to the nearest
semitone).
49 Controlled 1 8 8 Sets the number of filters that will be controlled
voices by MIDI or CV/gate. By reducing this, you can
elect to control some filters by MIDI while the
rest remain under manual control.
50 Mono input 0 1 0 If '1', only input 1 is used for audio input, and
input 2 is freed up for CV mapping.
Default mappings
None.
Page 65
Dual Mode Algorithms
The following pages describe the disting EX's “dual mode” algorithms that are not also algorithms
on the disting mk4.
Page 66
N-8 Dual VCO
Video
X is V/Oct pitch input 1
Y is V/Oct pitch input 2
Z is wavetable position
A is wavetable output 1
B is wavetable output 2
Receives MIDI
Parameter Min Max Default Description
0 0 99 0 Chooses the wavetable.
1 -32 32 0 Offset A.
2 -32 32 0 Offset B.
3 -64 64 0 Coarse A.
4 -64 64 0 Coarse B.
5 -50 50 0 Fine A.
6 -50 50 0 Fine B.
7 -64 64 64 Z attenuverter.
This algorithm is a dual wavetable VCO. See for example here25 for a brief overview of wavetable
synthesis.
X and Y are the pitch inputs for the VCOs, with a 1V/octave response. The 0V point for the pitch
input is C3 (approximately 130.81Hz).
A and B are the corresponding VCO outputs.
Parameter 0 chooses the wavetable.
The Z knob/CV controls the lookup point in the wavetable. Parameter 7 is an attenuverter for Z.
Parameters 1 & 2 offset the lookup point for the two VCOs (added to Z).
Parameters 3 & 4 are coarse tuning controls for the VCOs (in semitones); parameters 5 & 6 are fine
tuning controls (in cents).
25 https://en.wikipedia.org/wiki/Wavetable_synthesis
Page 67
WAV file naming conventions and playlists
The disting EX supports WAV file playlists exactly as documented for the disting mk4. However, it
also supports naming conventions to set the most commonly used settings without requiring a
playlist. Some of these naming conventions set features not available on the mk4 e.g. round robins.
Look in the folders on the MicroSD card that is supplied with the module for some examples.
Key Example Playlist flag Description
_<note name> piano_A2.wav -natural Sets the natural note pitch.
piano_C#5.wav
_SW<note piano_A2_SW40.wav -switch Sets the sample's switch point when used in
number> multisample algorithms. The 'note number'
is the MIDI note number, in decimal.
_RR<number> snare_RR1.wav N/A Links files as round-robin variants of the
snare_RR2.wav same sample.
_V<number> snare_V1.wav N/A Sets up a velocity switched sample. The
snare_V2.wav lowest-numbered _V is used for the lowest
velocity.
_CK<number> amen_CK8.wav -clocks Sets the number of clocks per loop for the
Clocked Audio Playback algorithm.
_TR<number> funky_TR4.wav -triggers The number of triggers per loop.
_RP loop_RP.wav -ramp=1 Rising ramp.
_RN loop_RN.wav -ramp=-1 Falling ramp.
If round-robins and velocity switches are combined, the velocity switch comes first e.g.
snare_V1_RR1.wav, snare_V1_RR2.wav
snare_V2_RR1.wav, snare_V2_RR2.wav
In other words, each velocity layer can have round-robins.
Per-algorithm defaults
Note that unlike on the disting mk4, where all algorithms use the same default values for playlist
settings, the disting EX algorithms may have different defaults. These are noted in the
documentation of each algorithm.
Page 68
sample is pitched down within the gap.
For larger gaps, the lower sample is pitched up over half the remaining range.
For example:
Gap between samples Behaviour
(semitones)
1 Higher sample stretched down over 1
2 Higher sample stretched down over 2
3 Higher sample stretched down over 3
4 Higher sample stretched down over 3; lower sample stretched up over 1
5 Higher sample stretched down over 4; lower sample stretched up over 1
6 Higher sample stretched down over 4; lower sample stretched up over 2
Etc.
Wavetables
Wavetables are installed and formatted on the MicroSD card exactly as they are on the disting mk4.
For convenience, the relevant section of the disting mk4 user manual is reproduced here.
All wavetable files need to be in a top-level folder on the SD card called 'wavetables'.
Within the 'wavetables' folder, wavetables can take of one two forms: a single WAV file containing
26 https://sites.google.com/site/musicgapi/technical-documents/wav-file-format#cue
27 https://sites.google.com/site/musicgapi/technical-documents/wav-file-format#smpl
Page 69
all the waveforms concatenated, or a folder of WAV files, one per waveform.
By default the disting will consider all WAV files and folders of WAV files in the 'wavetables'
folder as wavetables. Optionally (say if you want to reorder the tables) you can specify a playlist:
the wavetables are then listed in the standard playlist format as above, but with the dedicated name
"playlist-wavetable.txt". Each entry is either a WAV file (as in the other playlist formats), in which
case the file is assumed to contain all the waveforms concatenated, or a folder name.
If a folder is specified in "playlist-wavetable.txt", the folder contains the individual WAV files that
represent one waveform each. The algorithm does not use any 'playlist.txt' file within the folder –
any files found files are used in alphabetical order.
Waveform WAVs must be in 16 bit mono format. The sample rate is unimportant, since the file is
assumed to contain exactly one cycle and so can pitched arbitrarily.
When using a single concatenated WAV file, the disting needs to be know how many frames in the
file make up one waveform. This is specified in the playlist via the -wavelength setting (default
600). There are no settings that apply to wavetable folders, nor to the individual files inside the
folders.
To reiterate – the use of playlists is entirely optional if your wavetables are in the form of folders of
individual waveform files.
Page 70
Settings
The Settings menu provides access to some global settings which are not part of a preset. These
settings are stored when changed and reapplied when the module powers up.
General
MIDI/I2C
Page 71
Setting Value range Default Function
TX channel (single) 0-16 1 The MIDI transmit channel for single mode
algorithms. '0' means 'Off'.
RX channel (dual L) 1-16 1 The MIDI receive channel for dual mode algorithms
running on the left half.
TX channel (dual L) 0-16 1 The MIDI transmit channel for dual mode
algorithms running on the left half. '0' means 'Off'.
RX channel (dual R) 1-16 2 The MIDI receive channel for dual mode algorithms
running on the right half.
TX channel (dual R) 0-16 2 The MIDI transmit channel for dual mode
algorithms running on the right half. '0' means 'Off'.
I2C address 0-127 49 The module's I2C address.
Select Bus function 0-3 3 The function of the Select Bus – see below.
Default first CC 0-127 7 Sets which CC# to start at in the default MIDI
mapping – see above.
Show MIDI 0-1 0 If '1', when a MIDI CC is received that changes a
parameter parameter, the current parameter is switched to the
changed one.
Show I2C parameter 0-1 0 If '1', when an i2c message is received that changes a
parameter, the current parameter is switched to the
changed one.
Algorithm select CC -1 – 127 -1 Sets a MIDI CC number which will change the
current (single mode) algorithm, or '-1' for 'Off'.
Program Change 0-1 0 Sets whether MIDI Program Change messages
opt(ion) change the current preset (0) or the current algorithm
(1). This applies to single and dual modes.
Page 72
Favourites
This menu lets you set up the 'favourites' dual mode slots, numbered O-1 to P-8. These slots can be
set up to point to any of the dual mode algorithms (A-1 to N-8), allowing convenient access to your
most often used algorithms.
Calibration
This menu contains functions relating to the calibration of the module. Note that the module is
calibrated in the factory and should not need further calibration by the user.
The 'Calibrate' menu item enters the calibration process – see below for details. If you enter this
mode by accident, pressing 'L' cancels it.
'View raw calibration' shows the raw data that the calibration process captures. This is intended for
debugging purposes only.
'View input voltages' shows the voltages that the module is reading on its six inputs, with the
calibration applied.
Reset Settings
This menu item allows you to reset all settings to their factory defaults. Note that this includes the
calibration – the module will need to be recalibrated if you do this.
Miscellaneous functions
Various functions that don't naturally fit anywhere else can be found under the 'Misc' menu.
Reboot
Reboots the module. Any changes to the current preset will be lost.
Shows the last four MIDI messages received by the module (most recent at the bottom). At the start
of each line is 'R' if the message was received on the Select Bus or 'B' if the message was received
via the MIDI breakout.
Page 73
Show I2C history
Shows the last 16 bytes received on the I2C bus. The address byte is shown inverted.
Show stats
Tests
The 'Tests' menu provides a number of tests to exercise various parts of the module's hardware.
They are mainly for factory use but are also useful to check if things are working correctly at any
time.
The available tests are:
Test outputs Outputs 1-4 output ±10V sine waves at 100Hz, 200Hz, 500Hz and 1kHz
respectively.
Test inputs The module's screen shows an oscilloscope-like view of the input signal of one
input at time. It automatically switches to show the active input. Full range on
the display corresponds to an input voltage of ±10V.
Test SRAM Tests the module's SRAM for integrity and displays a pass or fail message.
Test ES-5 Tests an attached ES-5 expansion module. The 8 LEDs on the ES-5 should
light in sequence.
Test FHX-8CV Tests an attached FHX-8CV expansion module. All 8 outputs of the FHX-
8CV should show a full range ramp. The FHX-8CV's jumpers should be set to
'Expansion number 0' (no jumpers on).
Test FHX-8GT Tests an attached FHX-8GT expansion module. The 8 LEDs on the FHX-8GT
should light in sequence. The FHX-8GT's jumpers should be set to 'Expansion
number 0' (no jumpers on).
Test MIDI out Sends MIDI channel 1 CC #0 messages with a value ramping from 0 to 127
from the MIDI breakout's output.
Test select bus out Sends MIDI channel 1 CC #1 messages with a value ramping from 0 to 127 on
the Select Bus.
Test SD speed Performs a large number of reads from the SD card and presents the resulting
timing information.
Page 74
5-pin DIN MIDI I/O
The disting EX has an expansion header on the PCB which can be used to add a pair of traditional
5-pin DIN MIDI ports to the module (one input/one output). This is compatible with the Expert
Sleepers MIDI breakout28.
Connections
The MIDI ports are exposed on a 4-pin expansion header (labelled GT4/MIDI) on the rear of the
module. All of the necessary electronics are on the PCB; all that needs to be added is the actual
sockets.
The header pin-out is as follows (pin 1 is closest to the 'GT4' text):
Pin Function
1 OUT pin 4
2 OUT pin 5
3 IN pin 5
4 IN pin 4
Pin numbers refer to the 5-pin DIN socket as in the MIDI specification29.
The header is a standard 0.1" pitch header compatible with e.g. typical IDC cable sockets.
When using the Expert Sleepers MIDI breakout, pin 1 of the breakout's header (GT1) corresponds
to pin 1 of the disting EX's header (GT4). Orient the ribbon cable to match up these pins. The
supplied ribbon cable has two rows of four contacts – use the same row of four at each end.
28 http://expert-sleepers.co.uk/dm4midibreakout.html
29 https://www.midi.org/specifications/item/midi-din-electrical-specification
30 https://www.midi.org/specifications/item/midi-din-electrical-specification
Page 75
MIDI System Exclusive (SysEx)
The disting EX supports a variety of features via MIDI System Exclusive messages.
SysEx Header
All SysEx messages are prefixed with a manufacturer's ID, which is a unique series of hex bytes
assigned by the MIDI Manufacturers Association. The Expert Sleepers ID is 00H 21H 27H, so all
SysEx messages relating to Expert Sleepers hardware will begin
F0 00 21 27
Messages for the disting EX follow this with 5DH:
F0 00 21 27 5D
and then with a byte to identify the specific type of message e.g.
F0 00 21 27 5D 01
32H – Message
F0 00 21 27 5D 32 <NULL terminated ASCII string> F7
This message is transmitted in response to any request for a string e.g the version string.
33H – Screenshot
F0 00 21 27 5D 33 00 00 <screenshot data> F7
This message is transmitted in response to a '01H – Take screenshot' message.
Page 76
Select Bus
The disting EX is capable of both sending and receiving on the Select Bus. Note that the jumper
needs to be set appropriately as shown below:
31 https://malekkoheavyindustry.com/product/varigate-8/
32 http://macromachines.net/products/storage-strip/
33 http://www.makenoisemusic.com/modules/tempi
34 http://makenoisemusic.com/modules/rene
Page 77
I2C Connection
The disting EX supports an I2C35 connection, via the header on the PCB marked “JP2”. The GND,
SCL & SDA lines are clearly marked on the PCB. Be sure to connect these to the corresponding
lines on the other I2C device(s) in use.
The pull up resistors are enabled if the switch is towards the power connector (as shown in the
photo above), and disabled in the other position.
Devices on an I2C bus have an address, which a sending device uses to identify the intended
recipient. The disting EX's address is set in the Settings (see above).
Currently the disting EX sends no messages on the I2C bus. It receives messages in the following
format:
<address> <command> <optional bytes according to command>
A table of supported commands is below.
Some commands are “get” commands. The disting expects the get command to be followed
immediately by a read of the requested data.
You may find the 'Show I2C history' menu item (above) helpful.
Value ranges
Preset, algorithm & parameter numbers are 1-based.
Voltages (and related quantities e.g. pitch) are signed and scaled as 16384 ↔ 10V.
Velocities are 0-16384.
Presets
load preset
<address> 0x40 <preset number MSB> <preset number LSB>
35 https://en.wikipedia.org/wiki/I²C
Page 78
save preset
<address> 0x41 <preset number MSB> <preset number LSB>
reset preset
<address> 0x42
Algorithms
load algorithm
<address> 0x44 <algorithm number>
Page 79
Algorithm-specific
Looper, clear
<address> 0x58
Performs an instant clear of the target loops.
Page 80
Voice Control (note based)
These messages in general behave in the same way as MIDI note on/offs.
Page 81
Calibration
The calibration menu is accessed via the settings, as described above.
Calibration requires a 3V voltage reference. Any stable and accurate voltage source can be used. It's
a good idea to let the whole system warm up for 5 minutes before calibrating to stabilise any
temperature-dependent factors.
The process can be cancelled at any time by pressing the 'L' knob.
The procedure is as follows:
1. With the disting powered up and with nothing connected to it, use the menu to select
'Calibrate'.
2. Calibration will begin immediately.
3. Wait for the display to show 'Waiting: A->X B->Y'.
4. Using patch cables (as short as possible), connect the left output A to input X, and output B
to input Y.
5. Press the 'P' encoder.
6. After a short delay, all four jack sockets should light up red. After another short delay, the
display will show 'Waiting: 3V -> X'.
7. Remove the patch cables. Connect the 3V voltage reference to input X.
8. Repeat steps 6 & 7 for inputs Y & Z.
9. Remove the voltage reference, and repeat steps 3-8 for the right side.
All being well, the display will show 'Calibration complete', and the new calibration will be saved.
If the calibration failed, the display will show 'Calibration failed' and the calibration stored in the
settings will not be overwritten.
Page 82
Firmware Updates
Video
The disting EX's firmware can be updated using a MicroSD card. (See 'Supported MicroSD cards'
above.) The process is as follows:
• Download the firmware from the Expert Sleepers website.
• Unzip the download.
• Copy the file (which will be named something like 'distingEX_1.0.0.hex') from the unzipped
download to the root folder of a MicroSD card.
• Turn off the disting and insert the MicroSD card into the socket.
◦ The exposed contacts of the card should face towards the display; the angled side of the
card itself points up.
◦ You are advised to observe basic ESD (electrostatic discharge) precautions - see for
example here. Don't be wearing a nylon sweater in an air conditioned room.
• Turn on the disting EX with the P knob pressed. It will go through the first stage of its
startup sequence, showing the bootloader version number.
• Hold P until the display changes. If the module finds firmware files on the card, it will show
'Choose firmware to install:' and then a filename.
• Turn the 'V' knob to select the firmware you want to install, then press 'V' to begin the
installation.
• The module should show the message “Flashing...” and a progress indictor.
• Finally it should show “Success! Press left encoder to reboot” at which point you can press
'P' to reboot or simply turn off the power.
• Any other message indicates a problem.
36 https://www.expert-sleepers.co.uk/contact.html
Page 83
Acknowledgments
The disting EX logo and boot animation were designed by Andrew Beltran.
The font used in the disting mk4 (and so also in the disting EX's 'retro' mode) is an adapted version
of 'Tom Thumb' by Robey Pointer. More on the font here37.
Much of the i2c implementation was developed in collaboration with scanner darkly38.
The Looper algorithm was developed in collaboration with Elinch39.
The Filter Bank algorithm was developed in collaboration with Jogging House40.
37 https://robey.lag.net/2010/01/23/tiny-monospace-font.html
38 https://github.com/scanner-darkly
39 https://elinch.bandcamp.com
40 https://jogginghouse.com
Page 84