MIDI events and controls
In addition to the already mentioned Clock, the MIDI protocol can manage notes, automations and commands to be executed by the machine that receives them, based on its channel setting.
The MIDI protocol provides a maximum of 16 channels for Daisy Chain and a device only performs the instructions sent on its channel.
A MIDI sequencer is a multitrack MIDI message recorder with the possibility of editing and playing 16 channels simultaneously per output. We can record a MIDI message coming from a keyboard / controller or write it directly in the sequencer and then play it back and send it to different machines.
When we send a message to channel 1, machine A will sound; when we send a message to channel 2, machine B will sound and when we send a message to channels 3/4/5, machine C will sound.
We could have a drum machine set on channel 1, a mono-timbral synth on channel 2 and a multi-timbral synth on channels 3/4/5 (one channel per timbre).
There are different types of MIDI messages, the most intuitive and useful for us at the beginning will be the NOTE ON and NOTE OFF messages.
Those commands will tell our machines when a note has been pressed and when it has been released, and the relative velocity.
Practically, with a drum machine on channel 1, we will be able to record notes related to the bass drum, snare drum, hi-hat on our sequencer and then reproduce our rhythm pattern.
The important thing is to read the manual of the drum machine in question and to understand to which note a certain drum sound corresponds (for example in the General Midi protocol, the C3 note is the bass drum, the D3 note is the snare drum, and the F3 note is the lower tom).
The following screenshots illustrate how these events are recorded on a sequencer like the MPC1000 (with JJOS operating system), but can also be pertinent to any other sequencer.
When working with a drum machine, being the rhythmic sounds mainly impulsive, we will opt for a visualization of the track in Grid mode, to better understand the rhythmic divisions when we program our drum patterns.
To make the rhythm pattern more interesting and natural, it’s important to manage the dynamics through velocity (the MIDI command relative to how fast the pad / key was pressed).
At high velocities there is generally a louder sound, at lower velocities a quieter one.
Working with a synth, if mono-timbral we will only have a single channel associated with it, but if it’s poly-timbral than we could have channel 3 associated to a bass, channel 4 to a pad and channel 5 to a lead sound (one channel for timbre) .
For that, we will prefer a Piano Roll view, which allows us to understand at a glance the duration of the notes played and their height.
The NOTE ON and NOTE OFF messages are undoubtedly the most useful and simple messages that we will use in the creation of our songs, but after writing our rhythmic and melodic parts and arranging the piece to our taste, we may want to automate our filters, or change the LFO divisions or other settings, all based on the capabilities of the machine we’re going to use.
As already mentioned, a MIDI sequencer simply records and plays MIDI events, but the fact that these events are going to be recognised by the machine to which we will send them depends only on the capabilities of the machine itself.
It’s important to read the MIDI Implementation Chart and the MIDI CC Control Change table of each machine before recording MIDI events.
A MIDI Implementation Chart is a table of the main MIDI messages recognised by a particular device, such as timbral extension (Note Range) or possibility to transmit / receive velocity or control commands.
Arturia Microbrute, for example, doesn’t recognise velocity commands if they are sent via MIDI but only if they are sent by computer via USB.
In this case it will be useless to program the Microbrute track paying attention to the velocity, since they will not be recognised anyway from the synth.
If instead we wanted to record a filter automation for Novation Mininova, we would have to read its MIDI CC table to find out that the frequency cutoff of Filter 1 is controlled by the CC 74, then go to our sequencer, record the automations of CC 74 on a track and send that track to the MIDI channel of the machine we’re using (in the case of my studio, the Mininova is under MIDI channel 11).
Reading the MIDI CC table it’s important to understand which parameters can be automated, as well as giving us new ideas on how to make our songs more lively and interesting, for example by changing the volume of the oscillators, changing their waveform or modifying the shape of the ADSR envelope during the song.
Another command of great interest is the MIDI Program Change, an instruction that changes the patch of our synth and allows us to use different sounds of the same machine in a song.
With a mono-timbral synth, the timbres cannot be used simultaneously but recalled individually during the song.
In the case of the Mininova, we read in the MIDI Implementation Chart that it can receive and transmit Program Changes.
We will then be able to play a pad in the first part of the piece, then recall a bass sound with filter automations during the first verse and return to the initial pad but with a more aggressive ADSR envelope for the bridge, all by programming a single MIDI track and using only one synth and its related MIDI CC and Program Change.
In the third part of this tutorial we will analyse practically how to do it, see you soon!