Devil Fish MIDI Options
2018-12-18 Robin Whittle
rw@firstpr.com.au
To the main Devil Fish page.
Before I developed the Devil Fish MIDI In and Out system, I occasionally installed Colin Fraser's MIDIBass 303 system:
http://www.sequentix.com/sq_mb303.htm.
This is a well regarded system, but we no longer install
it since it is not available:
https://www.sequentix.com/shop/midibass-303-mark-ii-kit . For
those customers who have this, here is the documentation:
DF-Sequentix.pdf .
Between 2014 and 2016 I also installed the Quicksilver 303 CPU
replacement system in some Devil Fishes. This had MIDI In and
Out. However as of 2017, it is no longer available.
Since about 2017 there has been another TB-303 CPU replacement system, designed for the RE-303 TB-303 replica project (
http://re-303.com/): the Sonic-Potions system:
https://shop.re-303.com/product/sonic-potions-re-303-cpu/
. It should be possible to install this in the original
TB-303. This has MIDI In and MIDI In and Out. It cannot
provide MIDI control of the Filter Frequency, and is unlikely to do so
in the future, since there is no spare microcontroller pin for the
requisite Pulse Width Modulation signal. The Devil Fish MIDI In
and MIDI In and Out systems support this, as did the Quicksilver
303. Once I have installed and evaluated this system I will
describe it in greater detail on this page.
Introduction
The basic Devil Fish modifications for
the Roland TB-303 do not provide MIDI connectivity. I can install
the
Devil Fish MIDI In system or the
Devil Fish MIDI In and Out system, which can support Dynamic Bank/Channel Switching. The prices for
these options are at:
#minijack-midi
2018-12-18: Special note on the wiring of the MIDI Out 3.5mm socket:
With the Devil Fish MIDI In and MIDI In
and Out systems, the Sequentix MIDI In and Out system, the Quicksilver
303 MIDI In and Out system, the MIDI In signal is received by the Sync
Socket, using pins 4 and 5, which are the intermediate pins between the
centre pin (2) and the outside pins (1 and 3). So there is no
3.5mm socket for MIDI In.
For the MIDI Out systems (Devil Fish and in the past Quicksilver and
Sequentix, but also in the future the Sonic-Potions system) there is no
room for a 5 pin DIN socket for MIDI Out. Instead, I use a 3.5mm
socket mounted to the right of the Sync socket (left when looking from
the rear) together with a short adaptor lead which ends in a 5 pin DIN
socket.
MIDI consists of two signal and one
ground connections, though the ground connection is not normally used
on a MIDI In socket - it is just there to connect to the cable's shield
around the two wires for the other two signals. With a 3.5mm
stereo socket (AKA stereo
minijack), the ground of course is carried by the body of the connector
("sleeve" in ring, tip and sleeve terminology). There are two
ways of assigning the other two signals to the tip and the sleeve.
In 2014 I chose to assign the positive signal (270 ohm resistor pullup
to +5V,
pin 4 on the DIN socket) to the
tip and the negative signal
(pull down to ground, via a 270 ohm resistor,
pin 5 on the DIN
socket) to the
ring. There are potential arguments for this and the opposite arrangement, but none of them are particularly strong.
This is the arrangement suggested by Peter Kirn on
2015-08-26:
Some equipment manufacturers do it this way, some the other (see the
above article). This is a pest, especially since there is
an increasing desire to use these compact connectors instead of the
bulky DIN sockets for Eurorack and other equipment where space is at a
premium.
Three years later the MIDI Association published a standard with the
opposite arrangement, for both 3.5mm and 2.5mm stereo connectors:
From 2019, Devil Fish MIDI Out 3.5mm sockets will follow the official
MIDI Association standard. This means the adaptor leads will be
wired accordingly. I will update the MIDI In and Out manual to
mention these new arrangements.
If you have Devil Fishes with the two divergent arrangements, you will
either need to remember which adaptor lead goes with which Devil Fish,
or get a technician to convert one machine and its adaptor lead to
match the other. I suggest adopting the new standard simply
because it is the standard.
The Devil Fish MIDI In and MIDI In and Out systems
The
MIDI In system is documented in the User Manual:
../DF-MIDI-In-Manual.pdf
. It receives Notes, with Slide and Accent (by various
techniques, but usually tied notes and velocity respectively) and MIDI
Sync. MIDI In is via the Sync Socket, which can still be used as
a Sync Socket when MIDI In is not used. If it is desired to
receive MIDI and drive DIN Sync (derived from MIDI Sync) out to other
devices (such as TR-606s, TR-808s or other TB-303s) then this can be
achieved with the optional Sync Lead:
../sync-lead/ .
The
MIDI In and Out
system extends the above to provide MIDI Out on a 5 pin DIN
socket of a short adaptor lead which connects to the Devil Fish via a 3.5mm socket on the
rear panel between the Sync Socket and the Tuning knob.
MIDI Sync
Out is created in response to the TB-303's internal Tempo system,
external Roland/DIN Sync In or MIDI In Sync. All MIDI Out
messages are on the same channel as is currently selected for MIDI In -
which is any channel 1 to 16. For complete information on the new
MIDI Out facilities, please take a look at the
Devil Fish MIDI In and Out system User Manual: ../DF-MIDI-In-Out-Manual.pdf . The following description concentrates on the MIDI Out capabilities of
the MIDI In and Out system. It does not attempt to describe the
system's Dynamic Channel Switching capabilities - please see the manual for full information on this.
There are three modes of operation -
Int Seq mode,
Ext CV mode and
MIDI In Follow mode. All three modes share two facilities:
- Non-Accented notes and Accented notes normally (after the
machine is turned on) have Velocity values of 64 and 127
respectively. At any time, including while the Internal Sequencer
is running, in any of the three MIDI Note Out modes, these values can
be changed by sending via MIDI In Control Changes for Controllers 20
(non-Accented Note Velocity value) and 21 (Accented Note Velocity
value). The range for both is 1 to 127. This enables
dynamic and perhaps manually controlled (via an external MIDI
controller, DAW software or whatever) Accent dynamics in the slave
instrument(s) being driven by MIDI Out.
- The values for Filter Frequency which are received on MIDI In are replicated via MIDI Out.
Despite the complexity the details of exactly what these three
mode do the default settings of the machine should be suitable for
most uses without the need to read the manual. The most likely
change people will want to make is to change the receive and transmit
channel from its default of 1. This and other user definable
parameters can be changed by pressing the Back and Tap whilst looking
at the Blue MIDI LED which shines through the 'e' of the "Devil Fish"
logo. Page 23 of the manual shows how to change the MIDI
channel. The values set for the MIDI channel and the other user
definable parameters are stored in non-volatile memory, so they are
retained after the machine is turned off and on again.
Pages 46 and 47 of
../DF-MIDI-In-Out-Manual.pdf contain further details of these three modes.
Int Seq mode
The pitches created by the Internal Sequencer,
with its timing, Accent and Slide are used to drive MIDI Out. The
Gate In socket, Slide In socket, Accent In socket and the Accent button
also affect these notes as described below for the Ext CV mode.
If MIDI Notes are not currently being received, this mode is
automatically selected if the Run/Stop LED is ON, which is usually when
the Internal Sequencer is playing a pattern in Pattern Write, Pattern
Play, Track Play or Track Write mode.
Ext CV mode
The pitches used for MIDI Out Notes are derived from measuring the voltage returned by the CV In socket. This enables the Devil Fish to be used as a CV-to-MIDI Converter.
If MIDI Notes are not currently being received, this mode is
automatically selected if the Run/Stop LED is OFF, which is
when the Internal Sequencer is not playing a pattern. However,
the Internal Sequencer could be used at this time for inputting or
altering Pitch and Time information in Pattern Write mode, during which
it may play notes, with Accent and Slide. If nothing is
plugged into the CV In socket, then the MIDI Out notes will derive
their pitches from the Internal Sequencer, since the Internal Sequencer is driving the
TB-303's 6 bit 1/12th volt per semitone DAC, and the voltage from the
DAC is switched through the CV In socket if nothing is plugged into
this socket.
The timing of the MIDI Out notes depends to the final Gate signal,
which is the OR of the Gate output of the Internal Sequencer, the
signal coming from the Gate In socket, and the signal coming from the
Slide In socket if it is driven with a signal above 4.0 volts.
The Slide status of the MIDI Out Notes is likewise driven by the
OR of the Internal Sequencer's Slide signal and the signal from the
Slide In socket.
Similarly, the Accent status of the MIDI Out notes is driven by the OR
of the Internal Sequencer's Accent signal, the signal from the Accent
In socket and the
state of the Accent button.
This mode is automatically selected if the Run/Stop LED is On, which is
usually when the Internal Sequencer is playing a pattern in Pattern
Write, Pattern Play, Track Play or Track Write mode.
MIDI In Follow mode
Irrespective of the state of the Run/Stop LED, if the Devil Fish is
receiving MIDI In Notes - and so also receiving MIDI In Control Changes
for Filter Frequency, All Notes Off and potentially for alternative
control arrangements for Gate and Slide, in this mode the MIDI Out note events follow exactly the way Devil Fish MIDI In
system responds to incoming messages.
For instance, receiving MIDI In notes involves potential transposition
and handling up to ten notes being On at once, with a priority system
to determine which pitch to play on the Devil Fish's monophonic
synthesizer as these notes are released. The actual notes which
are played as a result of this, with their Accent and Slide, are
transmitted to MIDI Out.
The Accent state of the Devil Fish's synthesizer is the OR of three signals:
- The Accent state of the MIDI In received note (determined by
whether its velocity is above the threshold selected in Parameter 6,
MIDI In Accent Velocity Threshold, which defaults to 65).
- The state of the Accent CV In socket circuit, which is turned on by more than about 2.3 volts.
- The state of the Accent Button.
So one, two or all three of these being On means that the Accent is On
for the synthesizer. The Accent state of the Internal Sequencer,
which might be stopped on an accented note, or which might be playing a
pattern with accented notes, is ignored.
The Accent state of the MIDI Out notes (see note 1 above) follows
exactly that of the synthesizer. So it is possible to add accents
to the copy of the incoming notes which are sent to MIDI Out by
pressing the Accent button and/or by activating the Accent CV In with
more than about 2.3 volts.
If the MIDI In and Out system is configured to perform Dynamic Channel
Switching (switching between the notes of four adjacent MIDI In
channels, according to various MIDI In events, externally applied
Audio/CV signals and/or the state of two toggle switches) then MIDI In
Follow mode replicates on MIDI Out the resulting notes which are played
on the Devil Fish synthesizer.
The MIDI Out system is very fast and is capable of sending up to
400 notes a second. The MIDI In system (and all previous MIDI In
systems) can receive such notes without any problems, which is not the
case for quite a few MIDI synthesizers. Sync Clock bytes have
priority and there is no upper limit on the frequency which can be used
for square waves driving the Gate In socket. Please see the User
Manual for more information on the exact functionality of the 3 modes
and the systems minimal jitter.
In both the MIDI In and MIDI In and Out systems, there is a Blue MIDI LED located together with the Red Gate LED in the
'e of the "Devil Fish" logo on the Devil Fish's polycarbonate front
panel. The Blue LED shines sideways into the uncoloured Red
LED. (In an AluCase -
http://acid.ch
- these LEDs are in the same position, but there is no polycarbonate
front panel.) This LED is used for Front Panel operations and is typically used to
indicate MIDI activity for MIDI In.
To control the settings of the MIDI In (and Out) system there is a "front panel"
system using the Back and Tap buttons and the Blue LED. This
necessarily minimal physical interface can be used to alter a variety
of settings, such as the receive channel, which are retained in
non-volatile memory (independently of any batteries and of the main
memory of the TB-303's internal sequencer).
Potential Ground Noise and the Optical Isolation of the MIDI In Signal
There will be no ground noise problems from the MIDI lead via the Sync Lead since the Sync Lead carries only pins 4 and 5 from the MIDI cable to the Sync socket.
With all these three systems, I am
using the Sync Socket as a MIDI In socket. This is possible
because the three pins used for Sync (1, 2 and 3, being the left,
middle and right pins) are not used for MIDI In, which uses the
intermediate pins 4 and 5.
Normally, a MIDI In socket has only pins 4 and 5 connected. The
MIDI cable has two wires for these pins and a shield wire which is
connected to the centre pin 2 at both ends. However, in accordance with the MIDI Spec, most MIDI In
sockets have no connection for pin 2 and MIDI Out sockets always
connect pin 2 to ground.
Pins 4 and 5 drive an opto-isolator, which is a LED driving a
photo-transistor. So there is no hardwired electrical connection
between these MIDI In pins and the rest of the machine. This
prevents a series of problems known as "ground loops" or "ground noise".
Ground noise in an audio system occurs where one device has its
ground
voltage (zero volts, the reference for all other voltages) perturbed
with respect to the ground voltage of one or more other devices in the
system. This may be a very small disturbance, such as a fraction
of a millivolt. That noise will generally be imposed on the audio
output of the device, so noise will be introduced into the
system. Furthermore, the ground noise in the perturbed device's
ground is likely to perturb the ground voltage of other devices in the
audio system, to different degrees, via the ground connections of the
audio leads which connect them. So one affected device can
introduce pervasive background noise into an entire audio setup, such
as a studio. Balanced inputs on a mixer are intended to ignore
ground noise, but the problem will persist for any ordinary unbalanced
audio connections between devices.
The noise may be hum, or it may be some computer-related
more crackly, hissy or erratic noise. The causes may be
complex, hard to diagnose and difficult or impossible to fix. (In
addition, some poorly designed devices impose a hum noise noise between their
ground and the ground pin of their mains power cord. These will
introduce ground noise into a system and cause all sorts of
trouble. Since TB-303 power adaptors invariably have no ground,
this problem can't occur with Devil Fishes.)
The TB-303's Sync socket uses pin 2 (the middle pin) for its ground
connection. This is not connected solidly to the ground of the
machine - there is a 22 ohm resistor to the pin. This was part
of a circuit for the purposes (as far as I can tell) of loading the default patterns and tracks into the
TB-303's memory in the factory.
This 22 ohm resistor has a low enough resistance to be a functional
ground connection for Sync purposes, if the two connected devices have
no other ground connection. It is high enough to reduce any
ground noise arriving along pin 2 of the MIDI lead to levels which are
unlikely to be audible.
This 22 ohm resistor on pin 3 violates the MIDI standard for MIDI In
connections, in which pin 3 is supposed to be a non-connect.
However, since the 22 ohm value is high enough to avoid most or all
ground noise problems, we can still regard the MIDI In system as being
optically isolated and sufficiently isolated to avoid these problems.
No-one has mentioned any ground noise problems using the Devil Fish
MIDI In, the Sequentix system or the Quicksilver 303.