MIDI System Real-time Messages
We have already written a lot of posts on MIDI messages. We described how Channel Voice Messages work: Control Change, Program Change, Pitch Bend and Aftertouch. There was also a post about Channel Mode Messages.
Today we will talk about the System Real-Time Messages.
Where did this name originate from? You would think that all MIDI events take place in real time, i.e. they are sent without delay at a predictable speed.
The creators of MIDI specification probably didn’t have any ideas for a better name.
Real-time events include the following messages: Start, Stop, Continue, and Timing Clock (and Active Sensing and Reset, which we will not be describing because they are used sparingly).
Start, Stop, Continue
These are events which are pretty straightforward – they contain single bytes of information. They have no channels or additional parameters. They are meaned to control hardware or software – or more precisely – to start, stop and continue… – but what exactly? The specification only mentions “sequence”, but it depends solely on the MIDI receiver. This may be playing or recording a track, it can be controlling a looper or an effect, e.g. a tape delay.
- Stop – stops,
- Start – always starts the track from the beginning,
- Continue – continues from the point where the sequence was stopped.
The Start message should be followed by Timing Clocks, which are used to set the tempo.
Timing Clock (a.k.a. MIDI Clock)
Tempo is one of the key aspects in music.
If several instruments or MIDI devices, e.g. sequencers, loopers or effects, are to be synchronized, it means that they should work at the same tempo.
For the record, tempo is the speed of the underlying beat of the music. It’s measured in BPM – beats per minute. The beat is often defined as the pulse listeners would tap when listening to a piece of music, or the numbers a musician counts while performing. One beat every second is 60 BPM. In typical Western music ⁴⁄₄ time, counted as 1 2 3 4, 1 2 3 4, …, one beat is equal to one quarter note, or a crotchet. This is crucial because the MIDI specification defines the tempo relative to a quarter note.
Timing Clock, like the previous real-time messages, is a single byte of information, but it does not contain numerical information, e.g. 60 BPM. Musically, in the context of synchronization, it would not make sense.
Timing Clock, 1 byte, is sent 24 times per quarter note. This is quite often. For 60 BPM, the period is 1/24 s, i.e. 1 MIDI Clock is sent every 42 ms, for 120 BPM - every 21 ms.
We can change it smoothly or set at once, which provides a lot of possibilities during live performances.
On stage and in the studio, many devices work at a certain tempo and should be synchronized, or at least have a set tempo. These include sequencers, arpeggiators, and loopers. You can also synchronize the delay time with the tempo of the song, but only if you want to use it creatively, and not as a natural-sounding effect.
Most professional hardware and software MIDI controllers can act as a MIDI sync host which sends the MIDI clock and controls other devices, or as a sync device that responds to MIDI clock events by adjusting its internal tempo accordingly.
When you want to change the tempo of synchronized devices during a live performance, especially in the middle of a song, it is good to be able to set the tempo without entering a numerical value, but more naturally, e.g. by tapping the tempo, preferably with your foot.
If you want to change it smoothly, e.g. by increasing the delay time, it’s good to use the expression pedal, so that the tempo will depend on its angle. Both of these functionalities are offered by beat bars foot controllers: FS3 MIDI Footswitch lets you tap the tempo, and the EX3 MIDI Expression Pedal controls it smoothly depending on the angle.