HOMO ELECTROMAGNETICUS

HOME :: ARTICLES :: PROJECTS :: REVIEWS :: LINKS :: GALLERY ::


Timing and Jitter for Electron's Turbo MIDI Protocol

Introduction

Elektron's instruments have, for some time now, come equipped with a feature called the Turbo MIDI protocol. This feature purportedly increases the speed that MIDI messages are transmitted between devices for which Turbo MIDI is available and engaged. This would seem like an improvement to any musician who cares about timing between multiple instruments linked by an otherwise standard MIDI connection. Unfortunately, the language Elektron uses to describe Turbo MIDI is a bit unclear.

From the Octatrack manual, "Connecting the Octatrack to other Turbo protocol compatible gear, like the Machinedrum and the Monomachine, makes it possible to increase the normal MIDI bandwidth by up to 10x. This increases the accuracy of MIDI clock signals as well as the timing of CC messages."

From the Monomachine manual, "The TURBO menu, only available in OS 1.22 and higher, allows you to use the Turbo protocol when connecting the Monomachine to other units that have the Turbo protocol implemented. This will speed up MIDI transfer times considerably, which is handy if you for example want to transfer sysex data or waveforms to another Monomachine."

The Octrack manual suggests improved MIDI timing is possible with the Turbo MIDI protocol, but the Monomachine manual only references file transfers between machines. The manuals for more recent Elektron instruments are even less descriptive about what exactly Turbo MIDI does than these two. Does Turbo MIDI improve timing between two equipped devices?I decided to take some measurements for myself to see what was going on.

Experimental setup

To test the effect, if any, of using Turbo MIDI for communication between two Elektron insturments, I used the Octatrack and the Monomachine. For my tests, the Octatrack was the master device, sending clock and note data to the Monomachine. The only other commercial devices that use Elektron's Turbo MIDI protocol is the Social Entropy Engine, which I did not have access to for this test.

I performed mutltiple tests for the following conditions:
  1. Octatrack is only sending clock and transport information to the Monomachine.
  2. Octatrack is sending clock, transport information, note data at every beat of a 4/4 measure, and one MIDI LFO to the Monomachine.
  3. Octatrack is sending clock, transport information, note data at every 16th note of a 4/4 measure, and six MIDI LFOs to the Monomacine.
For each condition, I measured the timing delay between the click of the Octatrack's metronome and a simple high-pitched sine tone generated by the Monomachine every quarter note of 4/4 measure. The Monomachine's tone was triggered by the its own sequencer for consistency across all three test conditions. The aforementioned timing delay was measured for normal MIDI, Turbo MIDI x2, Turbo MIDI x5, Turbo MIDI x8, and Turbo MIDI x10 settings.

Results

the note-on delay at various conditions width=

Figure 1. The note-on delay for various test conditions. Note that the "with notes" data series reflects condition set two above, and the "with many notes" series reflects condition set three above. Every point represents between 11 and 15 measurements averaged together. Lower delay times represent a closer or tighter timing between master and slave devices.

the note-on delay jitter at various conditions width=

Figure 2. The note-on delay jitter for various test conditions. Note that the "with notes" data series reflects condition set two above, and the "with many notes" series reflects condition set three above. Every point represents the mean absolute deviation from the note-on delays shown above. Lower jitter values mean a more consistent timing between master and slave devices.

The data suggests a small reduction in note-on delay times for increasing Turbo MIDI multipliers in the "just clock" condition, but the situation for other conditions is less straightforward. Certainly these results are not what one expects when reading a setting label like "Turbo X10!" I will leave a more detailed interpretation of these results to the reader, but will note finally that I am somewhat disappointed by them.