Real World Interfaces logo

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:

http://cdm.link/2015/08/used-stereo-minijack-cables-midi/

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:

https://www.midi.org/articles-old/trs-specification-adopted-and-released

Positive signal (270 ohm resistor pullup to +5V, pin 4 on the DIN socket) to the ring.
Negative signal (pull down to ground, via a 270 ohm resistor, pin 5 on the DIN socket) to the tip.

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:
  1. 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.

  2. 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.



Update history:

© Robin Whittle 2012-2018 First Principles and Real World Interfaces

Return to the main Devil Fish page.