Two options for Devil Fish MIDI In and Out
2014-11-13 Robin Whittle
Quick update 2017-11-12: The Quicksilver 303 system has not been available for a year or so.
I am not sure whether it will be available in the future. There is another CPU replacement system, with MIDI:
I will investigate this in 2018. The rest of this page is from 2014-11-13.
To the main Devil Fish page
There is also a QS-303 MIDI In and Out system for the TR-606: http://www.firstpr.com.au/rwi/tr-606/#qs-303
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. For those customers who have this, here is the documentation:
The basic Devil Fish modifications for
the Roland TB-303 do not provide MIDI connectivity. I can install
the Devil Fish MIDI In system, the Devil Fish MIDI In and Out system
with Dynamic Bank/Channel Switching, or the Quicksilver 303 CPU
replacement system, which has MIDI In and Out. The prices for
these options are at:
These three approaches differ from each other in too many ways to
represent in a simple comparison chart.
1: 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
Ext CV 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.
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
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 toggleswitches) 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).
2: The Quicksilver 303 CPU upgrade
The Quicksilver 303 is a bold development: http://socialentropy.com/quicksilver/
- and there is a companion system for the TR-606 For a decade or two people have
talked about and made efforts to create a replacement for the TB-303's
CPU - a 42 pin 4 bit mask-ROM (factory built, unchangeable, firmware) NEC
microcontroller. This is the first - and may remain the only -
such project to reach production. No replacement original TB-303
CPU chips are available, so in the event that a CPU dies, the machine
could not be used except via the Devil Fish CV and Gate inputs, the
Devil Fish MIDI In system, or now via the Quicksilver 303.
Here is the documentation I provide for a Devil Fish with Quicksilver
303. It contains a somewhat expanded account of the points in the
rest of this section.
The Quicksilver 303 is a circuit board which is installed in place of
the old CPU. It does not use the TB-303's internal memory, except
optionally to read patterns from this memory during installation to
write them into its own on-chip non-volatile memory. After this, the original memory chips would be removed. No battery
is required for the pattern and track storage, so the Devil Fish
board will not have a lithium battery.
The Quicksilver 303 cannot use the Devil Fish 32 Bank Memory System
It's Pattern and Track memory systems are structured differently from
those of TB-303 and are comparable in capacity to the original
machine's memory (one "bank" in the 32 Bank System). The
Quicksilver 303's memory does not rely on batteries - it is similar to
FLASH memory and is stored in the Quicksilver 303's microcontroller chip itself.
While this memory cannot be expanded, the patterns and tracks can be dumped to
MIDI in a SysEx message, and so can be saved on some external storage
device, and later written back into the memory via MIDI In.
The Quicksilver 303 does not drive Sync to the Sync Socket, so it can't drive Sync to other
machines via the optional Sync Lead.
The Quicksilver 303 has many advanced sequencer and MIDI control
functions. There are too many to list here, and the feature set
is being upgraded. Please refer to the User Manual at the
Quicksilver 303 site and to the Release Notes of the latest version of
I provide a printed and comb-bound copy of the
manual, to accompany the similarly bound Devil Fish user manual.
The Quicksilver 303 is a complex system and I believe that a personally
annotated printed and comb-bound manual is essential to making
full use of its many capabilities.
The Quicksilver 303 has a USB port
(via a Mini-USB socket) which
enables its firmware (the software which is programmed into the
microcontroller on the Quicksilver 303 circuit board, and so which
controls all its functions) to be upgraded via any PC (Windows, Linux
or Mac). This only takes a few minutes. This is an
especially valuable capability.
The USB port can also be used for MIDI In and Out. This enables the machine to be controlled from - and to send
internal sequencer notes and Sync back to - any MIDI capable
computer. The USB connection is not suitable
for driving a USB slave device, since the Quicksilver 303 is itself a
When I install
a Quicksilver 303 system in the Devil Fish, I install a MIDI Out buffer
to to protect the microcontroller chip
from excessive voltages which might otherwise damage it, via extraneous
voltages being applied to the normally unbuffered MIDI Out connection.
The MIDI In connection is via the Sync Socket, which cannot be
used for Sync In while the Quicksilver 303 is receiving MIDI Sync or
MIDI notes. MIDI Out is via an adaptor lead and a 3.5mm stereo socket
between the Sync Socket and the Tuning knob.
Please refer to the Quicksilver 303 Manual and Release Notes for the the choices of
using the DIN MIDI In and Out or the USB MIDI In and Out functions.
Isolating the USB connection
On the Devil Fish with a Quicksilver 303, the Mini-USB socket is located above
and between the old Headphone Socket (now Filter Audio Out and Filter
FM In) and the Audio Out socket.
The Quicksilver 303's USB connection goes straight to the Quicksilver
303's microcontroller chip. This raises two problems:
- There is risk of damaging the microcontroller due to static
electricity or other excessive voltage. This may put the USB port
out of action or it may stop the microcontroller - and therefore the
entire Devil Fish (unless driven from CV and Gate inputs) from
- There is a high likelihood of ground noise (AKA "ground loops",
see explanation below) being caused by the necessity of the ground of
the USB socket and whatever computer etc. it leads to being connected
to the ground of the Devil Fish.
I believe the risk of damage is high enough to be a concern and that
the chance of ground noise occurring is very high indeed.
Consequently, when I install a Quicksilver 303 in a Devil Fish, I
always do so with an inbuilt USB Isolator. This is a small
circuit board with a remarkable device: the AMD ADuM4160 (link
This tiny device uses five transformers to provide data links in both directions without
hardwired electrical connections, so providing the same several
thousand volt isolation achieved with opto-isolators.
This means there will be no need to use external USB Isolators to avoid
ground noise problems. With the buffered MIDI Out, with the MIDI
In already optically isolated, and with the USB internally isolated,
the Quicksilver 303 equipped Devil Fish should be highly reliable and
will not suffer from any ground noise problems.
Here is a photo of the rugged Amphenol USB socket we are now using for the QS-303 and QS-606.
We also supply a printed and comb-bound version of the QS-303 User
Manual and a double-side printed QS-303 cheatsheet card, as pictured
towards the end of the TR-606 page: ../../tr-606/
Here is the rear panel of a Devil Fish with Quicksilver 303 and the optional headphone socket.
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
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.