Expert Sleepers Disting mk4 User manual

disting mk4
Firmware v4.23
User Manual
Page 1

Copyright © 2022 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
Installation...........................................................5
Power requirements........................................5
Inputs Outputs and Controls...............................5
Inserting a MicroSD card....................................5
Startup.................................................................6
The encoder & menu system...............................6
Selecting an algorithm.........................................6
Settings................................................................7
Help.....................................................................7
Parameters...........................................................8
Knob Recorder....................................................8
Tap Tempo..........................................................9
Favourites............................................................9
Presets................................................................10
Preset 0.........................................................10
Select Bus..........................................................11
SD Card Playback.............................................12
Supported MicroSD cards............................12
Supported audio files....................................12
Audio file naming & Playlists......................12
Loop markers in audio files..........................13
Supported MIDI files....................................13
MIDI file naming & Playlists.......................13
Audio Playlist Format...................................14
MIDI Playlist Format....................................16
Example Files...............................................17
MIDI/CV conversion....................................17
Scala Support.....................................................17
Organising the files on the card....................17
Example Files...............................................18
Scale Playlist Format....................................18
Possible Sources of Error.............................18
Algorithm Overview.........................................19
A-1 Precision Adder.....................................20
A-2 Four Quadrant Multiplier......................21
A-3 Full-wave Rectifier................................21
A-4 Minimum/maximum..............................21
A-5 Linear/Exponential Converter...............22
A-6 Quantizer...............................................22
A-7 Comparator............................................24
A-8 Dual Waveshaper..................................25
B-1 Sample and Hold...................................25
B-2 Slew Rate Limiter..................................27
B-3 Pitch and Envelope Tracker...................27
B-4 Clockable Delay/Echo...........................28
B-5 LFO........................................................29
B-6 Clockable LFO......................................30
B-7 VCO with linear FM..............................31
B-8 VCO with waveshaping.........................32
C-1 Counter..................................................33
C-2 Voltage Controlled Delay Line..............34
C-3 Clockable Ping Pong Delay (Z feedback)
......................................................................34
C-4 Clockable Ping Pong Delay (Z input pan)
......................................................................35
C-5 Resonator...............................................36
C-6 Vocoder.................................................36
C-7 Phaser.....................................................37
C-8 Bit Crusher.............................................38
D-1 DJ Filter.................................................39
D-2 Tape Delay............................................40
D-3 Waveform Animator..............................41
D-4 State Variable Filter...............................42
D-5 LP/HP Filter..........................................42
D-6 LP/BP Filter...........................................43
D-7 BP/HP Filter..........................................43
D-8 BP/Notch Filter......................................43
E-1 AR Envelope..........................................44
E-2 AR Envelope & VCA............................45
E-3 Dual AR Envelope.................................46
E-4 Stereo Compressor.................................47
E-5 Side-chain Compressor..........................47
E-6 Mono Compressor..................................48
E-7 Euro to Buchla Converter......................49
E-8 Buchla to Euro Converter......................50
F-1 Clockable AD Envelope (with mute).....50
F-2 Clockable AD Envelope (with gate)......51
F-3 Clockable AD Envelope (with trigger). .52
F-4 Clockable AD Envelope & VCA...........53
F-5 Shift Register Random CVs...................53
F-6 Shift Register Random Quantized CVs. 55
F-7 Shift Register Random Triggers............57
F-8 Shift Register Random Dual Triggers....58
G-1 ES-1 Emulation.....................................59
G-2 ES-2 Emulation.....................................59
G-3 Pitch Reference......................................59
G-4 Frequency Reference.............................60
G-5 Tuner.....................................................60
G-6 Clock.....................................................61
G-7 MIDI/CV...............................................63
G-8 CV/MIDI...............................................65
H-1 Crossfade/Pan........................................65
FX Loop usage.........................................66
H-2 Dual Sample and Hold..........................66
H-3 Dual Quantizer (Z scale).......................67
Page 3

H-4 Dual Quantizer......................................68
H-5 Dual Euclidean Patterns........................70
H-6 Dual Delayed Pulse Generator..............71
H-7 Noise......................................................72
H-8 Quantizer 2............................................73
I-1 Audio Playback.......................................74
I-2 Clocked Audio Playback.........................76
I-3 Audio Playback with V/Oct....................76
I-4 Audio Playback with Z Speed.................78
I-5 Audio Playback with Reverse.................78
I-6 Audio Playback with Scrub....................79
I-7 Dual Audio Playback..............................80
I-8 Dual Audio Playback with Z Speed........80
J-1 MIDI File Playback (Clocked)...............81
J-2 Multisample 2 Audio Playback..............82
J-3 MIDI File Playback (Free Running).......83
J-4 Audio Playback with End CV.................84
J-5 Audio Recorder.......................................85
J-6 Multisample Audio Playback.................85
Multisample playlists...............................86
J-7 Mono Audio Recorder............................88
J-8 Audio Playback with Crossfade..............88
K-1 Wavetable VCO....................................90
Loading wavetables.................................91
K-2 Clockable Wavetable LFO....................92
K-3 Wavetable Waveshaper.........................93
K-4 Clockable Wavetable Envelope.............93
K-5 Programmable Quantizer.......................94
K-6 Clockable SD Delay..............................96
K-7 Stereo Clockable SD Delay...................97
K-8 Stereo Clockable SD Delay (Z clock)...97
L-1 Stereo Reverb.........................................98
L-2 Mono-to-Stereo Reverb.........................99
L-3 Dual Reverb.........................................100
L-4 Dual Vowel Filter................................100
L-5 Stereo Chorus.......................................102
L-6 Mono Chorus.......................................103
L-7 Mixer....................................................104
L-8 Gate......................................................104
M-1 Delayed LFO......................................105
M-2 Scaled LFO.........................................106
M-3 Logic...................................................107
M-4 Half-wave Rectifier............................107
M-5 Stereo Filter........................................108
M-6 Stereo Tape Delay...............................109
M-7 Granular Pitch Shifter.........................109
M-8 Chaos..................................................111
N-1 Switch..................................................112
N-2 Rotary..................................................113
N-3 Attenuverter/Offset..............................113
N-4 Low Pass Gate.....................................114
N-5 Pulsar VCO..........................................114
N-6 Phase Shifter........................................116
N-7 Frequency Shifter................................116
N-8 Clockable SD Ping Pong.....................117
MIDI I/O.........................................................118
Introduction................................................118
Connections................................................118
Breakout module.........................................118
MIDI "Low-Voltage Signaling".................118
Controlling the disting mk4 via MIDI........119
MIDI Thru..................................................119
Calibration.......................................................120
Calibration Procedure.................................120
Calibration Data..........................................120
Firmware Updates...........................................122
Acknowledgments...........................................123
Page 4

Introduction
Congratulations on your purchase of an Expert Sleepers disting mk4. Please read this user manual
before operating your new module.
Installation
House the module in a Eurorack case of your choosing. The power connector is Doepfer standard. If
using the power cable supplied with the module the red edge of the cable is nearest the bottom 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 mk4 draws 51mA on the +12V rail and 19mA on the -12V rail.
It does not use the 5V rail.
Inputs, Outputs and Controls
From top to bottom the disting has
•A rotary encoder/push button named 'S'.
•A dot matrix display.
•A MicroSD card slot.
•A knob referred to as the 'Z' control which controls some
aspect of the algorithm. This knob also has a push button
function.
•Three input sockets.
◦The top input is the 'Z' CV input which controls the
same thing as the 'Z' knob. The two are added
together.
◦The other two inputs are 'X' and 'Y' and their function
depends on the current algorithm.
•Two output sockets named 'A' and 'B'.
The sockets are illuminated to reflect the voltage at the socket (or in the case of 'Z' the combined
voltage of the input and the knob). Red indicates a positive voltage; blue indicates a negative
voltage.
Inserting a MicroSD card
The disting's MicroSD card slot is to the left of the display.
The exposed contacts of the card should face towards the display; the angled side of the card itself
points up.
The slot is of the "push-push" type - to remove the card push it in slightly and it will spring out.
Page 5

Startup
Video
When the module powers up it first runs through some patterns on its display. The sequence is as
follows:
•Each of the seven columns in turn from left to right.
•Each of the five rows in turn from bottom to top.
It then shows the bootloader version (e.g. "b1") and the current firmware version (e.g. "v4.0").
If after the above the disting shows the message "Uncalibrated" then the calibration data in flash is
missing or corrupt. A default calibration will be used but for accurate results please recalibrate the
module (see below).
The encoder & menu system
Video
Pressing the encoder ('S') enters the disting's menu system which is indicated by the display
blinking.
At this time the menus are particularly simple there being only six menu items to choose from only
one of which you will normally need. In general the menu system works like this:
•Press the encoder to enter menu mode.
•Turn the encoder to select the menu item and press to select.
•At this point the behaviour depends on the chosen menu item.
Pressing 'Z' at any time cancels and exits the menus.
The menu items are:
•Algorithm – select algorithm
•Save – save a preset
•Load – load a preset
•Help – access help
•Settings – change settings
•Calibrate – begin calibration
◦If you accidentally enter this mode press the Z knob to cancel
Selecting an algorithm
Video
There is a single list of algorithms named A1 up to P8 (i.e. A1 A2 ... up to A8 then B1 B2 etc.).
See below for details.
The algorithm can be chosen via menu 1 "Algorithm". Press the encoder twice (to enter the menu
and to select "Algorithm"). Then turn the encoder to select the algorithm. Finally press the encoder
again to switch to the chosen algorithm.
Page 6

Settings
Video
The disting has a number of settings which are stored in flash memory. They are accessed by menu
4 "Settings". Once you've entered the Settings menu turn the encoder to select the setting to
change.
The settings are:
•Brightness – set the display brightness.
•Recall enable – enable/disable recall from the Select Bus (see below).
•In MIDI ch – the input MIDI channel.
•Out MIDI ch – the output MIDI channel.
•Thru MIDI – enables a soft MIDI thru.
•Pgm Chng Alg – controls whether MIDI program change messages load a preset (0) select
the current algorithm (1) or are ignored (2).
•Cont filenames – if set WAV and MIDI filenames scroll continuously in the display; if
unset filenames scroll once when a new file is chosen and then the display reverts to the
default algorithm name view.
•Scroll speed – the speed at which text scrolls across the display.
•WA sample rate – sample rate to use for the Audio Playback algorithms. The default (0)
uses the disting's usual sample rate of 75kHz. The alternative (1) uses a reduced rate of
46875Hz. This can help reduce the load on the SD card useful if e.g. you have a slower
card.
•SD delay max – the maximum delay time in minutes for the various Clockable SD Delay
algorithms. If the time between two taps is longer than this the second will be ignored. This
also affects how much of the delay file is wiped when the algorithm is chosen which
therefore affects how long the algorithm takes to start.
•Switch param – if set when a MIDI CC message is received to change a parameter value
that parameter becomes the current parameter (and so its value is displayed).
Once you've chosen the setting to change press the encoder to select it at which point the setting's
current value will be shown. Turn the encoder to change the value. Then press the encoder to accept
and store the value into flash or press Z to leave the menu without storing the value.
Help
Video
Accessing 'Help' from the menu displays algorithm-specific information. The help is loaded from
the MicroSD card if present (else the message "No card" is displayed) and scrolled across the
display. To exit the help function press Z.
The help text is a simple plain text file on the card so it can be freely edited (e.g. to put your own
choice of information first or to translate it into a different language).
Page 7

The default set of help files can be downloaded from the firmware update page here. Simply unzip
the file onto your MicroSD card. The file structure should look something like this:
i.e. the 'help' folder is at the root level of the card and inside is a file per algorithm named
'hXXX.txt' where XXX is the algorithm number starting from zero for algorithm A1.
Parameters
Video
In addition to the control provided on the Z knob each algorithm may have up to eight 'parameters'
offering further control over the algorithm's operation.
Unlike the Z control which is sampled at the same high rate as the X & Y inputs parameters should
be considered coarse non-real-time adjustments to the algorithm. They may cause glitching in the
outputs when changed.
Parameters are adjusted via the S knob. When changed the parameter value is displayed for a
couple of seconds.
If an algorithm has more than one parameter pressing the Z knob cycles through them (unless the
algorithm uses Z for Tap Tempo or some other purpose). The current parameter number is
displayed briefly (prefixed with 'P') followed by its name.
The current parameter can also be selected by pushing in the S knob and turning it while holding it
in. The parameter number (prefixed with 'P') is shown when you turn the knob; if you pause briefly
without turning the knob the parameter name is shown.
nob Recorder
Video
In many algorithms which do not use a Z knob press for another purpose pressing Z offers a 'knob
Page 8

recorder' function.
When this is available holding Z down while turning it causes the Z value changes to be recorded.
As soon as the knob is released the recording is played back in a loop. To end playback turn the Z
knob slightly to regain manual control.
The maximum duration of knob recording is a little under 14 seconds.
Tap Tempo
Video
Some algorithms (notably the Clockable LFO and Clockable Delay/Echo) use a press of the Z knob
as a 'tap tempo' function. In these modes pressing Z has the same effect as sending a clock pulse
into the clock input. For example pressing Z twice will set the delay time/LFO period to the time
between the two button presses.
Note that if the algorithm is dividing down the clocked frequency pressing Z twice will not set the
output to the division of the time between the two presses; rather it will be the time between a
corresponding number of button presses. E.g. if the Clockable LFO is set to 1/4 (divide by 4) the
LFO time will be set by pressing the Z button 5 times and it will only change on the 5th press.
Favourites
You can define your own list of 16 'favourite' algorithms via a text file on the MicroSD card.
The favourites are accessed as algorithms O1-P8. If no favourites are defined or if there are empty
slots the disting runs algorithm A1 the Precision Adder.
The favourites are read from the SD card if present at power on. They are then stored in the
disting's flash memory and so persist even after the card is removed.
The favourites file is a simple text file which must be named 'favourites.txt' and placed in the root of
the SD card (not inside any folder). The contents look something like this:
disting favourites v2
B8 VCO
a1
C5 resonator
I4 SD z speed
b5 LFO
e dual AR w/ push
The first line must be "disting favourites v2". Subsequent lines specify an algorithm to add to the
list of favourites. After 16 algorithms any further lines are ignored.
Each algorithm is specified as its two character name (a letter followed by a number). Any further
text after the algorithm number is ignored so you can add a descriptive string (as in the example
above) to help you remember what's what.
Page 9

Presets
Video
The disting can store its current state to flash memory as a preset. The contents of a preset are
•the chosen algorithm.
•the parameter values.
•the current parameter number.
Anything controlled by the Z knob/CV is not stored – its value is always defined by the knob
position and CV input.
There are 64 preset slots. Presets are saved and recalled using the menu. To save a preset:
1. Press the encoder to enter menu mode.
2. Turn the encoder once (to show 'Save') and press to confirm.
3. Turn the encoder to choose the preset slot.
4. Press the encoder to complete the save.
As usual pressing Z at any point exits the menu without saving.
To load a preset:
1. Press the encoder to enter menu mode.
2. Turn the encoder twice (to show 'Load') and press to confirm.
3. Turn the encoder to choose the preset slot.
4. Press the encoder to complete the load.
If the current algorithm was selected via the Favourites the actual algorithm chosen is saved in the
preset not the favourites slot.1
Preset 0
Preset 0 the first slot is special:
•The contents of preset 0 are loaded at power-up.
•When switching algorithm the new algorithm state is saved to preset 0.2
Therefore if you want to save the disting's state so it powers up as it is currently you can manually
save to preset 0 which is “click turn click click” on the encoder.
Preset 0 is also an exception to the above comment regarding favourites. The actual favourites slot
is stored.
1 So if you change the favourites the presets are unaffected.
2 The thinking here is that if you forget to save your preset before turning off the power at least the disting will come
back up in the same algorithm next time you start.
Page 10

Select Bus
Video
If enabled in the settings the disting mk4 will respond to save/recall messages on the Select Bus.
The Select Bus is a means of inter-module communication currently supported by a handful of
modules from various manufacturers including the Malekko Varigate 8+ Macro Machines Storage
Strip and the Make Noise Tempi & René 2.
Note that the disting only responds to save/recall messages. It does not initiate them.
Any MIDI that arrives on the Select Bus that is not explicitly part of the Select Bus protocol will be
used as if it arrived on the disting's regular MIDI input – see below.
Page 11

SD Card Playback
Supported MicroSD cards
In theory any MicroSD card will work but in practice there is a huge variety of cards on the market
and we cannot possibly test them all. We recommend 32GB SDHC cards and in particular have
found "SanDisk Extreme 32GB microSDHC UHS-I U3" cards work well.
The MicroSD card must be formatted in FAT32 format which is the as-sold state for many cards. If
not cards can easily be reformatted to FAT32 in Windows or macOS.
The card also needs to be partitioned using the 'Master Boot Record' (MBR) scheme. In macOS's
Disk Utility you may need to select View->Show All Devices to inspect the partitioning scheme.
The Erase settings should look like this:
Supported audio files
As of now the only supported audio file format is 16 bit WAV mono or stereo. Any sample rate
can be used however.
Since higher sample rates impose greater bandwidth demands on the SD card streaming we suggest
you use the lowest sample rate that gives acceptable audio quality. All our testing generally uses
44.1kHz files.
Note that because the disting's outputs are DC-coupled the 'audio' files can actually contain
recorded or generated CVs so all the sample playback modes can also be used as complex
modulation or sequencing sources.
Audio file naming & Playlists
Audio files must have the extension '.wav' (or any other capitalisation of that e.g. '.WAV').
Page 12

The files should be placed in folders on the SD card. Unless noted otherwise audio playback
algorithms all support up to 100 folders of 100 sample files each. The folders themselves should be
at the top level of the card i.e. not inside any higher level folder.
The disting also supports 'playlist' files which are simple text files that instruct the disting which
files/folders to look at and which ones to ignore and also allow setting of options on a per-sample
file basis. Unless noted otherwise these files are optional.
The playlist filename is 'playlist.txt'. If a playlist is found in the root of the card it will be taken as a
list of folders in which to look for WAV files. If a playlist is found inside a folder of WAV files it
will be used to determine which files to use the order in which to use them and to set the per-file
options.
Note that it is explicitly allowed to have a playlist file which only contains global settings but lists
no actual WAV files. In this case the settings in the playlist will be used and the folder scanned for
WAV files automatically.
If playlists are not used folder and file names are sorted alphabetically.
Loop markers in audio files
The disting supports reading loop information embedded in the WAV file. If this information is not
present or is disabled with the playlist option (see below) any mode that loops the sample simply
loops the whole file.
Loops are inferred either from markers (cue points in WAV format parlance) or regions as follows:
1 marker point in file Marker is assumed to be loop start; loop is from the marker to the
end of the sample.
2 marker points in file Markers are used as loop start and end.
3 or more marker points in file First marker is ignored (assumed to be playback start point);
second and third markers used as loop points. Remaining markers
ignored.
1 or more regions in file First region is used as the loop; other regions and markers
ignored.
This video illustrates the use of loop markers:
Video
Supported MIDI files
Currently we support Format 0 files (single track). The division field of the header chunk must be in
"ticks per quarter note" format.
Happily this is the format that Ableton Live spits out if you do "Export MIDI Clip".
MIDI file naming & Playlists
All MIDI files need to be in a folder named 'MIDI'3. They can use any naming convention but the
extension '.mid' is usual.
A playlist file (see below) specifies what MIDI files the algorithm will use how they will be
ordered and what playback settings they will use. It is a simple text file as described below and is
3 Note that this changed in firmware 4.19 – previously the MIDI files went in the card root.
Page 13

optional. If no playlist is provided the MIDI playback algorithms search for any '.mid' files in the
'MIDI' folder. Of course if you do not provide a playlist you cannot customise the settings for the
MIDI files.
By default MIDI algorithms look for a file named 'midi-playlist.txt'. However each MIDI playback
algorithm first looks for an algorithm-specific playlist file the name of which is specified in the
algorithm descriptions below.
The playlist file if used should be placed in the 'MIDI' folder alongside the MIDI files.
The playlist files must be plain text. Note that TextEdit on macOS defaults to rich text. From the
'Format' menu choose 'Make Plain Text'.
Audio Playlist Format
An audio playlist file might look something like this:
disting playlist v1
-loop=0
-gap=0
-fadeIn=0
-fadeOut=0
TR _BD_aOrig_b_R1.wav
-fixedPitch=0.9
TR _Snare_aOrig_b_R1.wav
sample01.wav
-loop=1
-ramp=1
funky_lp.wav
-loop=1
-triggers=4
58 447main_JFKwechoosemoonspeech.wav
-loop=1
This breaks down as:
•The header: "disting playlist v1"
•Default settings (optional)
•List of audio files
•Per-file settings after each file (optional)
Files may appear more than once in the playlist with the same or different settings.
Settings are in the format "-" <setting name> "=" <setting value>
Settings that appear before any audio file apply globally to all the files in the playlist unless
overridden by the per-file settings.
The available settings are as follows.
Setting Default Description
loop 1 Whether the sample loops (value 1) or is a one-shot (value 0).
fadeOut 3 Fade out to apply when a sample is retriggered in
milliseconds.
fadeIn 3 Fade in to apply when a sample is retriggered in
milliseconds.
gap 3 Gap (silence) between fade out and fade in in milliseconds.
Page 14

Setting Default Description
retriggerOnSampleChange 1 See below.
fixedPitch 0 Play the sample at a fixed pitch not controlled by the pitch
CV (if any).
ramp 0 Switch Output B to emit a ramp CV.
triggers 0 Switch Output B to emit trigger pulses.
clocks 4 Set the number of clocks per loop for the Clocked Audio
Playback algorithm.
wavelength 600 Set the number of sample frames per waveform for the
Wavetable VCO algorithm.
natural 0 The file's natural pitch as a MIDI note number.
switch 0 The file's switch point as a MIDI note number.
playToCompletion 0 Prevents a one-shot sample being retriggered while playing.
useStartOnSampleChange 0 Whether switching to a new sample continues from an
equivalent playback position or restarts.
startQuantize 0 Sets the quantisation of the start position.
useLoopMarkers 1 Use loop markers from the WAV file if available.
The fades are useful when retriggering samples especially when starting them at arbitrary points
within the sample to avoid clicks. However for maximum responsiveness when triggering say
drum samples set the fades and gap to zero.
The default behaviour (with retriggerOnSampleChange=1) when selecting a new sample
(via S or Z depending on algorithm) is to immediately begin playing the new sample. If a sample
has retriggerOnSampleChange=0 (or if the default is set to 0) then the next sample does not
begin playback until triggered by the input. A typical use case for this would be when you have a
set of one-shot (say drum) samples and you want to trigger each sample and have it play until the
next trigger not changing in the middle if the sample select CV changes. At an extreme you could
in this case feed white noise into the sample select CV to choose a random sample on each trigger.
The fixedPitch setting is a floating point number where 1.0 corresponds to playing the sample
at its natural speed 0.5 means play it at half speed etc. fixedPitch=0 (the default) means that
the sample respects the CV-controlled pitch.
ramp=1 outputs a rising ramp from 0V to +8V corresponding to the current position in the sample.
ramp=-1 outputs a falling ramp (+8V to 0V).
triggers outputs a number of triggers during the sample e.g. triggers=4 will output 4 trigger
pulses equally spaced over the sample length. The triggers are +5V pulses lasting about 10ms. The
maximum number of triggers per sample is 32767. This video demonstrates the triggers feature:
Video
ramp and triggers are mutually exclusive. The last setting in the playlist file for a given sample
is the one that takes effect.
natural and switch are used only by the Multisample Audio Playback algorithm (see below).
playToCompletion applies to one-shot (non-looping) samples only. If set the sample can not
be retriggered either by a trigger CV or by the current sample changing until it has played all the
way through.
useStartOnSampleChange controls the behaviour when the current sample is changed
Page 15

without an explicit trigger (e.g. when turning the Z knob in the I-1 Audio Playback algorithm).
When this is 0 (the default) the new sample starts playing at the same point relative to the start as
the previous sample. When set to 1 the new sample starts at the point defined by the start position
CV (if the algorithm has one) or at the beginning.
startQuantize applies to any algorithm where playback can be retriggered and which provides
a CV for the start position. The length of the file will be equally divided into the number of steps set
by startQuantize and retriggering will restart playback at the start of one of these steps. For
example if you have a one bar loop (in 4/4 time) and specify startQuantize=4 then playback
will always be triggered at the beginning of a beat within the sample.
The maximum number of sample files per playlist is 100. Files beyond that limit are ignored.
MIDI Playlist Format
A MIDI playlist file might look something like this:
disting playlist v1
-zeroVNote= 0
bach_2ptinv.mid
CDE_bend.mid
-bendRange=12
CDE_bend.mid
-loop=0
cc1_2.mid
-cc1offset=-1.5
-cc1scale=3
-cc2offset=2
-cc2scale=
This breaks down as:
•The header: "disting playlist v1"
•Default settings (optional)
•List of MIDI files
•Per-file settings after each file (optional)
Files may appear more than once in the playlist with the same or different settings.
Settings are in the format "-" <setting name> "=" <setting value>
Settings that appear before any MIDI file apply globally to all the files in the playlist unless
overridden by the per-file settings.
The available settings are as follows.
Setting Default Description
loop 1 Whether the MIDI file loops (value 1) or is a one-shot
(value 0).
zeroVNote 48 MIDI note number corresponding to zero Volts output pitch
CV.
bendRange 2 Pitch bend range in semitones.
cc1offset 0 Offset for CC#1 in Volts.
cc1scale 5 Range for CC#1 in Volts.
cc2offset 0 Offset for CC#2 in Volts.
Page 16

cc2scale 5 Range for CC#2 in Volts.
retriggerOnSampleChange 1 See below.
The default behaviour (with retriggerOnSampleChange=1) when selecting a new file is to
immediately begin playing the new file. If a file has retriggerOnSampleChange=0 (or if the
default is set to 0) then the next file not begin playback until triggered by the input.
The maximum number of MIDI files per playlist is 32. Files beyond that limit are ignored.
xample Files
A simple example playlist and some audio files which are known to be formatted correctly can be
downloaded here4.
MIDI/CV conversion
The are three primary modes of MIDI/CV conversion which can be mixed within a MIDI file:
1. Note on/off messages and pitch bend messages are used to generate a pitch CV from output
A and a gate CV from output B.
2. The two highest MIDI notes (126 & 127 aka F♯9 & G9) are converted to gates on outputs A
& B respectively. The amplitude of the gates is 5V scaled by the note velocity.
3. CCs #1 & #2 are used to directly control voltages on outputs A & B respectively. The 7 bit
CC value (0-127) is converted to a voltage according to the scale and offset settings (by
default 0-5V).
Scala Support
Some disting algorithms support microtonal scales using files generated by the program Scala5. The
files are loaded from the MicroSD card. See 'Supported MicroSD cards' above.
Organising the files on the card
To use Scala with the disting you will need a MicroSD card set up as follows.
•An 'scl' folder. A folder named 'scl' in the root folder of the card which contains all the
scale (.scl) files that you wish to use. Note: you are advised not to simply unzip the archive
of over 4000 scales available from the Scala website onto the card – you will find the disting
slow to load scales if you do.
•A 'kbm' folder. A folder named 'kbm' in the root folder of the card which contains all the
keyboard mapping (.kbm) files that you wish to use.
•The log tables. The disting uses precomputed mathematical tables when processing the
Scala files. Download the file 'logTables_16_20.bin' from here6 and place it in the root of
your SD card.
•The playlist. A file named 'playlist-scales.txt' which tells the disting which scales to use.
4http://expert-sleepers.co.uk/downloads/content/disting_sd_content_v4_8.zip
5http://www.huygens-fokker.org/scala/
6http://expert-sleepers.co.uk/downloads/content/logTables_16_20.bin
Page 17

xample Files
A zip file containing some example files which are known to work is here7.
Scale Playlist Format
A scale playlist file might look something like this:
disting playlist v1
-kbm=example.kbm
equal.scl
pyth_7a.scl
pyth_12.scl
johnson_7.scl
-kbm=7.kbm
equal.scl
-kbm=root+fifth.kbm
This breaks down as:
•The header: "disting playlist v1"
•Default settings (optional)
•List of scale files
•Per-file settings after each file (optional)
Files may appear more than once in the playlist with the same or different settings.
Settings are in the format "-" <setting name> "=" <setting value>
Settings that appear before any scale file apply globally to all the files in the playlist unless
overridden by the per-file settings.
Currently there is only one setting which is the name of the keyboard mapping file to use with the
scale file.
Possible Sources of rror
If there is a problem reading or interpreting the scale files the disting will not be able to use them.
Possible things to check include:
•The scale and keyboard mapping files must obviously be valid Scala format files that the
Scala application itself will load successfully.
•The scale and keyboard mapping must match – for example the keyboard mapping must not
refer to scale degrees that the scale does not have.
•For the keyboard mapping files the reference frequency must be given for a note that is
actually mapped.
7http://expert-sleepers.co.uk/downloads/content/disting_example_scales.zip
Page 18

Algorithm Overview
1 2 3 4 5 6 7 8
APrecision Adder Four
Quadrant
Multiplier
Full-wave
Rectifier
Minimum/
maximum
Linear/
Exponential
Converter
Quantizer Comparator Dual
Waveshaper
BSample and
Hold
Slew Rate
Limiter
Pitch and
Envelope
Tracker
Clockable
Delay/Echo
LFO Clockable
LFO
VCO with
linear FM
VCO with
waveshaping
CCounter Voltage
Controlled
Delay Line
Clockable
Ping Pong
(Z
feedback)
Clockable
Ping Pong
(Z input
pan)
Resonator Vocoder Phaser Bit Crusher
DDJ Filter Tape Delay Waveform
Animator
State
Variable
Filter
LP/HP Filter LP/BP
Filter
BP/HP
Filter
BP/Notch
Filter
EAR Envelope AR
Envelope &
VCA
Dual AR
Envelope
Stereo
Compressor
Side-chain
Compressor
Mono
Compressor
Euro to
Buchla
Converter
Buchla to
Euro
Converter
FClockable AD
Envelope
(with mute)
Clockable
AD
Envelope
(with gate)
Clockable
AD
Envelope
(with
trigger)
Clockable
AD
Envelope &
VCA
Shift Register
Random CVs
Shift
Register
Random
Quantized
CVs
Shift
Register
Random
Triggers
Shift
Register
Random
Dual
Triggers
GES-1 Emulation ES-2
Emulation
Pitch
Reference
Frequency
Reference
Tuner Clock MIDI/CV CV/MIDI
HCrossfade/Pan Dual
Sample and
Hold
Dual
Quantizer
(Z scale)
Dual
Quantizer
Dual
Euclidean
Patterns
Dual
Delayed
Pulse
Generator
Noise Quantizer 2
IAudio Playback Clocked
Audio
Playback
Audio
Playback
with V/Oct
Audio
Playback
with Z
Speed
Audio
Playback with
Reverse
Audio
Playback
with Scrub
Dual Audio
Playback
Dual Audio
Playback
with Z
Speed
JMIDI File
Playback
(Clocked)
Multi-
sample 2
Audio
Playback
MIDI File
Playback
(Free
Running)
Audio
Playback
with End
CV
Audio
Recorder
Multi-
sample
Audio
Playback
Mono
Audio
Recorder
Audio
Playback
with
Crossfade
KWavetable VCO Clockable
Wavetable
LFO
Wavetable
Waveshaper
Clockable
Wavetable
Envelope
Programmable
Quantizer
Clockable
SD Delay
Stereo
Clockable
SD Delay
Stereo
Clockable
SD Delay
(Z clock)
LStereo Reverb Mono-to-
Stereo
Reverb
Dual
Reverb
Dual Vowel
Filter
Stereo Chorus Mono
Chorus
Mixer Gate
MDelayed LFO Scaled LFO Logic Half-wave
Rectifier
Stereo Filter Stereo Tape
Delay
Granular
Pitch
Shifter
Chaos
NSwitch Rotary Attenu-
verter
/Offset
Low Pass
Gate
Pulsar VCO Phase
Shifter
Frequency
Shifter
Clockable
SD Ping
Pong
Page 19

A-1 Precision Adder
Video
A = X + Y + offset, or X + offset
B = X – Y – offset, or Y ± offset
offset = ±10 in steps derived from Z
Knob recorder enabled
Parameter Min Max Default Description
0 0 1 0 Z Mode.
1 0 2 0 Sum Mode.
2 1 12 1 Divisor.
Outputs A & B are simple sums of inputs X & Y and an offset according to parameter 1:
Parameter
value
Output A Output B Notes
0 Sum of inputs X &
Y plus the offset.
Difference between inputs
X & Y minus the offset.
With nothing plugged into input X
B is therefore simply an inverted
copy of Y.
1 X plus the offset. Y minus the offset. This is particularly useful for
shifting between bipolar (e.g. ±5V)
and unipolar (e.g. 0-10V) CVs and
back again.
2 X plus the offset. Y plus the offset.
The Z knob/CV sets an offset which is applied to both A and B. By default the offset is a whole
number of Volts. If X/Y are 1V/Octave pitch CVs Z is therefore an octave shift control. The
maximum shift is 10V positive or negative.
When Z changes the offset is shown on the display. After a short while the display reverts to
showing the current algorithm.
When parameter 0 is 1 the offset is not restricted to 1V steps and changes smoothly with Z.
Parameter 2 sets a divisor for the offset so you can use fractions of a Volt as the offset. When the
divisor is set to 12 and the CV is being used as a pitch the offset is in terms of semitones8.
8 Semitones in 12-tone equal temperament that is.
Page 20
Other manuals for Disting mk4
1
Table of contents
Other Expert Sleepers Synthesizer manuals