If in doubt, ask.
This page describes the current firmware version, which is 4.2

MIDI I/O

Introduction

The disting mk4 has a pair of industry standard MIDI ports - one input, one output - which can be used to connect to a huge variety of external equipment.

Connections

The MIDI ports are exposed on a 4-pin expansion header (labelled GT2) at the top of the PCB:

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:

PinFunction
1OUT pin 4
2OUT pin 5
3IN pin 5
4IN pin 4

Pin numbers refer to the 5-pin DIN socket as in the MIDI standard.

The header is a standard 0.1" pitch header compatible with e.g. typical IDC cable sockets.

Breakout module

A passive breakout module which exposes the MIDI ports as 5-pin DIN sockets will be available soon (also in kit form). See this page.

MIDI "Low-Voltage Signaling"

When MIDI was first conceived, standard logic circuits ran at 5V, and the initial hardware reference designs worked on this assumption. However, there is nothing in the MIDI standard that actually requires a specific voltage, since it operates as a current loop via an opto-isolator.

Nowadays it is much more common for logic to run at 3.3V or lower. The MIDI Manufacturers Association has now released a reference hardware design based on 3.3V, which they call the "Low-Voltage Signaling" standard, and it is this that the disting mk4 uses.

The disting is therefore fully compatible with any device that adheres strictly to the MIDI specification, but may not be with devices that play fast and loose with the spec and assume 5V.

Download the full MIDI electrical specification here.

Controlling the disting mk4 via MIDI

In addition to any algorithm-specific MIDI implementation, there are common MIDI controls shared by all algorithms. These are as follows.

MIDI channelMessageFunctionNote
1CC 1Set algorithm parameter 0
1CC 2Set algorithm parameter 1
1CC 3Set algorithm parameter 2
1CC 4Set algorithm parameter 3
1CC 5Set Z Sending this CC takes control of the algorithm's Z function and overrides the Z knob and CV input. The Z function remains overridden until the algorithm is changed.