Magazine Archive

Home -> Magazines -> Issues -> Articles in this issue -> View

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'.

MIDI Muting

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).

Figure 1: MIDI being used to generate mute events for a mixing console with MIDI.

- 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.

MIDI Controllers

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.

Transferring/Storing Data

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.

Synchronisation Via MIDI

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.

MIDI Time Code

Stephanie Sobey-Jones is the Steinberg Education Co-ordinator for Harman Audio.

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.

How MIDI Works: A Simple Overview

MIDI information is transmitted and received in the form of 'messages'. These messages consist of several chunks, known as 'bytes' which carry all the relevant information — what type of message is being sent, and specific details such as the name of a note, its velocity, and so on. The main types of MIDI information we commonly deal with has values between 0 and 127 (for example, the note 'middle C', which has a value of 60). These values are transmitted and received in Binary, as a series of 0's and 1's which are sent one after the other down the MIDI cable. The individual binary digits are called 'bits' and a message chunk or byte usually has eight of them. (Incidentally, four bits — half a byte — are known as a 'nibble'!) Basically there are two types of MIDI message: Channel and System, which differ in the type of information they contain.

Channel messages are intended to be received on specific MIDI channels and they tend to carry information connected with performance. Note On/Off, Program Change, Pitch Bend and Controller messages all belong to this category. Figure 3 shows an example of a Channel message carrying Note On information which has three chunks or bytes. Byte 1 contains information about the type of message and its MIDI channel, and bytes 2 and 3 carry details of the note name (number) and its velocity.

Figure 3: A Channel message carrying Note On information.

System messages are not attached to any particular MIDI channel, and there are three main types of these messages: Common, Real-Time and Exclusive. Good examples of System Real-Time messages are timing ones — MIDI clock, Start, Stop and Continue. MIDI Time Code, on the other hand, sends out information connected with actual timing as System Common messages. However, the most important type of system message is System Exclusive (often referred to as SysEx.)

When the MIDI standard was originally established, a number of fixed rules were laid down which could apply to MIDI instruments made by any manufacturer. However, the purpose of SysEx was to allow for any future expansion and development which might occur over the MIDI spectrum as a whole, or which might apply purely to instruments made by an individual manufacturer. A System Exclusive message contains a special manufacturer code in one of its bytes, plus further information about the actual model of instrument or device, which means that appropriate instruments made by the same manufacturer will respond to the message, whilst others will ignore it. This type of message can consist of a large number of chunks or bytes, taking a relatively long time (in MIDI terms) to transmit.

Pitch Shifting With MIDI

One of the common functions of the pitch shift 'joystick' on most keyboards is to provide a means of added expression in performance, and it is also a quick way of transposing a performance 'on the fly'. However, pitch bend information can also be used as a means of correcting bad intonation on a taped track via MIDI! Let's imagine a recorded violin track with just the odd note slightly out of tune — enough to be annoying, but not bad enough to merit another 'take'. To do the pitch correction in a very basic form:

* Connect your tape recorder and keyboard (with pitch bend joystick/wheel) to an effects unit capable of pitch shifting and real-time MIDI control, as shown in Figure 2.

Figure 2: Pitch shifting with MIDI.

* Set the effects unit so that the amount of pitch change is assigned to MIDI pitch bend.

* Move the keyboard's pitch wheel or joystick at the appropriate point — this sends Out the appropriate MIDI message, which in turn affects the pitch of the taped notes via the effects unit.

Getting the movement absolutely right takes some practice, but is very effective in an emergency. However, a more permanent way of handling this is to record the pitch bend corrections, via the effects unit, into a sequencer, provided that your tape and sequencer are already synchronised. The advantage of this is that you will be able to edit the information if you didn't quite get the correction right in real time, and you have a permanent means of storing that correction.

Previous Article in this issue

Make Your Own Monitors

Next article in this issue

Special FX

Recording Musician - Copyright: SOS Publications Ltd.
The contents of this magazine are re-published here with the kind permission of SOS Publications Ltd.


Recording Musician - May 1993




Previous article in this issue:

> Make Your Own Monitors

Next article in this issue:

> Special FX

Help Support The Things You Love

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!

Donations for May 2021
Issues donated this month: 0

New issues that have been donated or scanned for us this month.

Funds donated this month: £21.00

All donations and support are gratefully appreciated - thank you.

Please Contribute to mu:zines by supplying magazines, scanning or donating funds. Thanks!

Monetary donations go towards site running costs, and the occasional coffee for me if there's anything left over!

Small Print

Terms of usePrivacy