Synchronization via MIDI clock
A Clock signal is a part of the Real Time MIDI Messages, signals that are transmitted and executed in real time before any other MIDI message.
It’s useful for synchronizing multiple machines with each other over a specific BPM, after the Master (who transmits) and the Slave (who receives) are set.
It’s not possible to have more than one Master in the same Clock chain.
Master and Slave are defined by us directly on the machines we are going to use, it is not a standard setting and the same recorder / sequencer / synth can be used in Master or in Slave mode, it only depends on what we need in that precise time of production, as we will see later.
The Master sends to the Slave a MIDI Clock pulse every 1/4 (quarter) of the Bpm, generally at 24 PPQ (beats per quarter).
Every changes in the Bpm will also modify the 1/4, shortening or expanding the temporal distance between the pulsations and making the Slave machines understand that the Bpm has been changed, and keeping everything synchronized.
If theoretically this solution seems optimal, in reality we are instead limited by a very slow protocol, the MIDI one, especially when implemented in a very large Daisy Chain (a serie of machines).
Connecting one machine after another via MIDI Thru / Out is not the best solution if our Daisy Chain has more than 10 devices, due to delays and data loss between a machine and the next one.
To better structure our system we must first understand the differences between the three types of MIDI ports:
MIDI In: Input port
MIDI Out: Output port
Both of these ports connect to the UART (Universal Asynchronous Receiver Transmitter), an internal device for each MIDI machine that converts data streams, receiving incoming MIDI and converting it into instruction and vice versa, by transforming the notes or controls we play in an outgoing MIDI message.
MIDI Thru: Output port that doesn’t pass through the UART, but it’s instead a copy of the signal that arrives at the MIDI In port.
When we connect one device to the next via MIDI Thru, it is as if all the machines are virtually connected to the first one, and not to their previous one.
However, since the Thru is a split we will have a qualitative loss at each connection and because of that a Daisy Chain is be able to support a maximum of 10 machines connected to each other with very short MIDI cables, to minimize errors.
But despite the errors are actually minimized and the data correctly sent, with such a long chain there could be delays, in the order of milliseconds but still audible in the reproduction.
Those errors are given by the actual physical distance between the first and the last machine.
An optimal solution will be to use a MIDI Thru Box, basically a MIDI splitters with an Input port and several Thru ports (from 2 to 8), in order to minimize playback delays, since all the machines are connected to the first one at the same distance.
Practically, it’s important for us to understand which machine will become the center of our studio and then designate it as a Master.
A modern hardware sequencer like Akai MPC, Elektron Octratrack or Squarp Pyramid, or a more vintage like Yamaha QY700, will do the job, with its ability to record and play back MIDI notes and events on multiple tracks that can then be routed to the different MIDI channels of our synthesizers / samplers / rack effects.
Therefore setting our sequencer as Master Clock and connecting it via MIDI Thru Box to the rest of our machines, we will have the certainty that our MIDI system will always be synchronized to the Bpm we chose for a given track, without having to manually change the Bpm of each machine one by one.
In my studio, for example, I opted for an Akai MPC1000 with JJOS as main sequencer and MIDI center, to which the rest of the machines are connected by two Daisy Chains (two Daisy Chains because the MPC1000 has two separate MIDI A and B).
Once the machines are synchronized, we will be ready to record MIDI events, as we’ll see in the second part.