Music In Education
More About MIDI
Our education correspondent gives a simple yet comprehensive guide to how MIDI can help in any studio.
Many serious recordists now use MIDI to some extent — but how many actually understand how MIDI works, or what the various MIDI messages really mean? Stephanie Sobey-Jones gives a simple explanation to help you get the best from your MIDI setup.
Over the last couple of months, I have looked at some basic uses of MIDI relating to simple sequencing techniques. However, MIDI has more far-reaching implications, and this month I am going to look at some different functions which can be performed via this powerful 'language'.
The 'basic' types of MIDI message, such as Note On/Off and Program Change have a well-defined function as far as MIDI sequencing is concerned — you can't get very far without using them if you want to hear the musical notes of your composition played on a variety of different voices! But these messages can also be used for other purposes — muting individual channels on a mixing console equipped with a MIDI mute facility, for example. A typical use for this might be to mute recorded vocal tracks during the introduction to a song or during an instrumental solo, de-muting them again a bar or so before the singing starts. This will mute any excess breathing, rustling, throat-clearing and so on. Some consoles can be muted using Note On commands generated from a keyboard or sequencer which work in the following ways (the console will be linked to the sequencer and/or keyboard as shown in Figure 1).
- Certain note numbers are assigned to the different console channels; for example, middle C (60) might be linked to channel 1, note 61 to channel 2, and so on.
- One MIDI channel/track on your sequencer will be reserved for the Note On information connected with the muting.
- Pressing a note activates or deactivates the mute on the appropriate channel. The velocity with which the note is struck determines the actual mute status, so that hitting a key hard (velocity values 65-127) switches the mute on, and hitting it softly (velocity values 0-64) switches the mute off. (This appears to be standard on several makes of console.) The information can be recorded into your sequencer and stored as part of the song file.
An alternative method of MIDI muting is to generate the muting 'instructions' via a Program Change (previously discussed as a means of changing patches on synths and effects units.) This is more practical when there are different combinations of tracks muted at various points in a song. Most consoles allow you to store a number of mute combinations, or 'snapshots', in memory, with a specific program number assigned to each (check the manual). Sending a Program Change at the appropriate point changes the mute combinations. As with the more 'conventional' uses of Program Change, the information can be manually entered into a sequencer and stored as part of the song file, occupying a specifically designated MIDI channel throughout.
So far we've looked at some alternative ways of utilising the basic MIDI commands which are more commonly associated with sequencing activities. In a previous article, I also briefly referred to the use of MIDI Controllers — in particular, MIDI Volume, which controls the overall volume of a keyboard or sound module. (Note that in this context the term 'MIDI Controller' is different from the guitar and woodwind controllers used in place of a keyboard to generate performance information.) There are 128 available MIDI Controller numbers, and the most common types of controller are allocated specific numbers — Sustain Pedal is number 64, MIDI Volume is number 7 and Modulation Wheel is number 1. Some of these controllers actually represent switches and are therefore either On or Off; Sustain Pedal, for example, generates a single piece of information when pressed. Others, such as Modulation Wheel, are known as Continuous Controllers, in that they generate huge amounts of information as they are moved — a new message for each change in value. (This can be a slight inconvenience in an event list/editor when trying to edit other performance data, and the information also uses up valuable memory, though some sequencers will allow you to filter it out.) Some controller numbers are not allocated to any specific type or function and can be used to control such things as delay time or reverb amount in MIDI-controllable effects units. Some console manufacturers use certain controller numbers for channel muting as an alternative, or even in addition, to use of Note On or Program Change.
If you are fortunate enough to have a console with automated channel faders (for example, the Soundcraft Spirit Auto), then MIDI control of these will almost certainly be via continuous controllers.
It takes some effort to completely erase the factory presets on a synth or sound module, yet I know of one person whose toddler has easily managed this feat! Another person — taking a recreational break from sequencing to play a quick computer game — discovered too late that the game supported various sound modules for added realism, thus overwriting his own presets with a selection of footsteps and door slams, etc! Therefore, transferral of data is another important application of MIDI, not just for replacing wiped voices, but for storing voice and effects patches, drum patterns, tempo maps and other valuable data, where the ability to either make a back-up or to store the information in an external format is vital. Taking the first example, in the event of losing a set of voices from a sound module or keyboard, you can replace them if you are able to locate the same model of instrument. In its simplest form, this is done by connecting a cable from the borrowed unit's MIDI Out to your own unit's MIDI In and following the manufacturer's instructions for the transfer of data. This particular method is a one-way transfer, in that the borrowed unit will transfer the data without first checking up on the state of your unit. An alternative method, however, is to use what is known as a 'handshake', where a second cable is connected from the MIDI Out of your unit to the MIDI In of the borrowed one. Using this method, the borrowed unit first checks up to see whether your unit is ready and capable of receiving the data before it is actually sent. The actual data is transferred between devices in the form of System Exclusive messages — which is information specific (or exclusive) to a particular instrument manufacturer. Some sequencers allow you to store patches from keyboards and modules, and re-load them into the instrument when required. This function also makes use of System Exclusive messages, as does transferring the contents of a sampler to an appropriate storage device — known as MIDI Sample Dump.
The subject of MIDI to Tape synchronisation has been covered in previous issues, but I am going to look briefly at how MIDI information actually controls that synchronisation process. When two sequencers, or a sequencer and a drum machine, are to be synchronised together, one unit has to be designated the 'master', transmitting MIDI Clock messages to the other unit, so that one will lead and the other will follow — rather like a conductor controlling an orchestra. (The same is true with synchronisation to tape using FSK, where the code recorded on tape is generated from the sequencer's MIDI clock.) The information which comes from the internal MIDI Clock is sent in the form of MIDI messages at the rate of 24 per quarter note, so in the same way that an orchestral player has to wait for the conductor's baton to indicate the next beat, the 'slave' device has to wait until it has received 24 messages before moving on to the next quarter note.
To continue with the analogy, if the conductor waves his baton either faster or slower, the players will respond accordingly, and since the MIDI clock generated from a sequencer is related to the tempo of the sequenced material, it may take a longer or shorter time for the slave device to receive its 24 messages per quarter note beat, depending on the number of beats per minute at any particular time.
Just as the conductor has specific actions which dictate the start and end of a piece, and the resumption of playing after a long-held pause in the music, there are separate MIDI messages which are sent to start, stop and continue a sequence. The 'start' message always starts the sequence or song from the beginning, whereas 'continue' will allow you to begin at a set point during the song. This function can be used in conjunction with a Song Position Pointer — a calculation of how many 16th note beats have occurred since the start of the song — causing the song to start at the exact place indicated in the message sent out to the devices concerned.
The difference between the uses of SMPTE and of FSK as means of synchronisation to tape has already been explained in past issues of RM, but to briefly recap: SMPTE is a measure of time in hours, minutes, seconds and frames, as opposed to the tempo-related pulses of FSK. Because SMPTE time code is an audio signal recorded onto tape, a corresponding MIDI language is required so that the sequencer can interpret that information and locate the exact position on tape at any time. MIDI Time Code (MTC) — which is becoming increasingly popular as a means of synchronisation — is basically the MIDI equivalent of the hours, minutes, seconds and frames signal which is recorded on tape.
MIDI now has a variety of applications in the areas of music composition and production, ranging from the generation of simple note sequences to the control of highly complex functions.
Feature by Stephanie Sobey-Jones
mu:zines is the result of thousands of hours of effort, and will require many thousands more going forward to reach our goals of getting all this content online.
If you value this resource, you can support this project - it really helps!