MIDI Basics (Part 2)
More of the mysteries of MIDI dispelled, as Bob O'Donnell puts MIDI plug into MIDI socket and connects controller to expander. Part two of this new series.
In the second part of our series on MIDI basics we explore the all-important connection between a MIDI keyboard and an expander module.
ONE OF THE first things that people discover about MIDI is that, as well as being an invaluable tool, it's a lot of fun. Playing a couple of synthesisers at once from one keyboard gives you a very enjoyable feeling of power. There's nothing quite like pushing down one key and hearing all that sound rush from the speakers. Add a sequencer and drum machine to this simple arrangement and you have a music making system that's as intoxicating as it is inspiring.
Interestingly enough, working with these instruments also gives you a strong urge to learn more about, and do more with, this Musical Instrument Digital Interface. And now that you've read, digested and completely understood the basic theory from the first part of this series (OK, maybe you didn't get all of it first time round), it's time to do just that.
This month we'll begin our look at real world applications of MIDI - no more theory, I promise - and start to put together a typical MIDI system.
THE MOST BASIC, but most important MIDI connection (in terms of understanding exactly how MIDI works) is between one MIDI keyboard and another; whether it's a synth, sampler, expander or whatever. If you've spent any time at all with MIDI equipment, then you've undoubtedly seen how you can link two instruments together using MIDI In and Out sockets, and play one from the other. As was explained last month, this is because the master instrument sends messages from its MIDI Out to the slave instrument's MIDI In, and these messages tell the slave which notes to play, how loud to play them and so on.
Before we look any more closely at these messages, it might be helpful to look at the basic structure of a typical MIDI synthesiser and explain how it differs from an expander module and a keyboard controller. As you can see in Figure 1, the two basic components of any synthesiser are the keyboard itself and the sound generating circuitry. The keyboard should be self-explanatory and the sound generating circuitry is the portion of the instrument which is actually being referred to when you say an instrument is an analogue synth, an FM synth or a sampler.
In most instruments these two sections are hardwired together so that whenever you play a note on the keyboard, the sound generating circuitry produces the specified note. The interface between the keyboard and the circuitry may consist of a data bus carrying control voltages or some combination of control information - the specific control signals employed are not really important here. Let's just say that this "local control" exists in some form or other.
Some instruments allow you to disconnect the local control, so that playing a note on the keyboard will not produce any sound. Referred to as Local On/Off in MIDIspeak, this feature is primarily used for advanced sequencing functions (which we'll look at next month). Right now we can use it to help us understand how expanders and keyboard controllers actually work.
A synth module, which is basically a synthesiser in a box, is functionally equivalent to the sound generating portion of a synthesiser. It cannot produce any sound on its own, but as soon as it receives the right control signals - specifically MIDI note messages - it acts upon them and sounds the appropriate notes. Keyboard controllers, on the other hand, function like the keyboard portion of our "typical" synth. They produce no sound of their own, but instead generate MIDI information which "tells" the synth module what to play. So, if you link a keyboard controller and an expander module together via MIDI, you have the equivalent of a complete MIDI synthesiser (see Figure 2).
Most keyboard controllers - master, mother or remote keyboards, as they are usually called - offer more sophisticated MIDI control, and often have more attention paid to their control facilities and range, quality and "feel" of their keyboards (for example, both Yamaha's KX88 and Roland's MKB1000 are seven-octave, weighted mother keyboards with comprehensive MIDI control functions).
Some synthesisers also have more sophisticated control features to make them more suitable controllers as well as synthesisers. For the purposes of this article, we'll assume that our master keyboard produces sound as well.
WE'VE REACHED THE moment of truth. Having connected the MIDI Out from the master keyboard to the MIDI In on the synth module, it's still possible that we won't hear both instruments when the master is played. All is not lost, it's a simple matter of set-up. So let's have a look at potential MIDI pitfalls.
"If you combine a keyboard controller and an expander module together via MIDI, you have the equivalent of a keyboard synthesiser."
The first thing you need to check is the MIDI mode the synth module is operating in. As mentioned last month, there are four of these and they determine how an instrument will deal with incoming MIDI data. Many instruments power up in Omni Mode (Mode 1) which means they will accept incoming messages on any MIDI channel, and therefore play any notes sent on any channel. Among other things, this is a simple way of ensuring, at least initially, that your MIDI connections are OK. So the quick check for a silent synth module is to put it into Omni mode.
In use however, you may have more than one synth module connected to the master keyboard's MIDI Out. And Omni mode may not be much use. If you want each synth to play a different series of notes, you'll need to use different MIDI channels for each of these. In this case, each receiving synth must be set to Poly mode (Mode 3) or Mono mode (mode 4). We'll use Mode 3 to demonstrate another solution to the mute synth module problem.
With the module in Mode 3, it will only respond to the master keyboard if the MIDI channel of the module matches that of the note messages sent by the master keyboard. It doesn't matter whether you change the master keyboard's transmit channel, or the synth module's receive channel - the result's the same.
Of course, the note messages sent by the master to the slave merely determine what note is played, and not what sound to play. This can be arranged, as we'll soon see. But first, let's have a look at what MIDI messages are made of.
THE MOST BASIC type of MIDI information exchanged between the master and the synth module are Channel Voice messages. Several additional pieces of information are included with each of these messages. For example, when you play a middle C on the master keyboard, it sends a MIDI message to the synth module saying, "A note has been turned on, it is on channel 3, it is note number 60 and it was played at this velocity". In English, this means that you played a middle C on a specific transmitting instrument, and hit the key with a certain amount of force.
Breaking this down we have:
- Message Status: the first thing made clear is that this is a "Note On" message.
- Channel Number: we're dealing with Channel Voice data, so the master keyboard's MIDI channel number is included in the first part of the message as well.
- Note Number: the number 60 refers to the pitch of the note and must be one of the 128 possible notes that the MIDI specification allows for. Each of the notes in this ten octave range - three more than a full-sized piano - are assigned a specific number so that notes can be sent over the MIDI cables as digital data. Not all instruments can respond to the entire range - in fact, very few can - but every MIDI instrument will transpose the notes out of its range into notes it can play.
- Velocity: the velocity refers to how hard you hit the key and, as a result, how loud it will sound. If your master keyboard is not touch sensitive, however, the velocity level, and therefore the volume, will always be the same no matter how hard you hit the key.
Once the expander unit receives these messages it will respond to them by doing exactly what the sound generating portion of the master keyboard did. In other words, the system works as if the master keyboard is directly connected to both sound generating sections.
Of course, playing a synthesiser involves more than just picking out a few notes on the keyboard, and so MIDI is capable of transmitting and responding to other types of messages as well: performance controllers such as pitch-bend and modulation wheels and pressure or aftertouch sensitivity (the pressure applied to the keyboard after you have initially played a note). The sustain pedal and overall instrument volume also play a very important role in making the synthesiser a musical instrument, and so information concerning these parameters can also be sent over MIDI as Channel Voice data.
"Playing a synthesiser involves more than just picking out a few notes on the keyboard; MIDI is capable of transmitting and responding to other types of messages as well."
The controller messages, referred to as MIDI controller data (oddly enough), come in two forms: continuous controllers and switches. Continuous controllers send a continuous stream of messages which continually define the position of the controller. For example, set the pitch-bend wheel - one of the many continuous controllers - to change the pitch of a note by one octave at its fully extended position. Now, as you move the controller away from the centre position, you'll hear the pitch gradually change from its initial pitch to one an octave higher.
The reason you hear a smooth change between these two pitches and not a jump from one note to the next, is because the pitch wheel is constantly sending out information about its location. If you stop somewhere in the middle, the messages will stop and the last location message sent should tell the synth and the expander to play a pitch some interval higher than the original.
One thing you need to be aware of though, is that the pitch-bend range of the two instruments must be set to the same interval if the pitch of both instruments is to correspond. The pitch-bend controller only sends information about its relative location, if one instrument is set to a seven-semitone range and the other to a two-semitone range, as you move the pitch wheel you're going to hear some very odd intervals between the two notes.
Other continuous controller information that can be sent over MIDI includes aftertouch, modulation wheel, breath controller (an accessory device for some Yamaha synths that you blow into and which sends out controller information based on how hard you blow) and foot controller (similar to a volume pedal, but which may control a number of different synthesiser parameters). There are others but we won't go into them all here.
The second type of controller information which can be sent as Channel Voice messages is switch information. This is self-explanatory: you either turn them on or off. Examples of switch controllers are sustain pedal, portamento on/off and a footswitch which could be used as a sostenuto pedal or soft pedal.
If your expander is not responding to these controller messages, there are two possible explanations. Although MIDI is an incredible tool it is not magical, if an expander module does not have the ability to respond to mod wheel and aftertouch control data, sending it MIDI data about them will not magically give it these capabilities. Any messages that an instrument cannot respond to will be ignored.
Some instruments, however, can respond to information that they cannot send. For example, Roland's Alpha Juno 1 does not have a touch or velocity-sensitive keyboard and cannot send velocity information over MIDI, but it will respond to incoming velocity information sent from another instrument. To find out exactly what MIDI information your instruments can transmit and receive, refer to the MIDI implementation charts that came with them - they're usually in the owner's manuals.
Some instruments allow you to selectively enable and disable - that is, turn on and off - the transmission and reception of certain MIDI controllers. So the second likely reason is that these controllers have been disabled. Again, you'll need to refer to your owner's manuals to find out what disable functions are implemented. As an example, Ensoniq's ESQ1 allows you to turn on and off the transmission and reception of various controllers. In other words, even though the instrument is capable of sending and receiving pitch-bend information, it will not do so if this control is turned off. So if the note reception is fine but the controllers don't seem to work, you may want to check these settings.
Program Change is yet another type of switching message which can be sent over MIDI as Channel Voice data. Program changes consist of a number between 0 and 127 (again, some instruments cannot send the whole range) that corresponds to one of the many programs or patches available on a synthesiser. By sending program change messages from your master keyboard, you can remotely select patches on the expander or second keyboard just as if they were notes. In other words, if you select patch 35 on your master synth, the slave expander will also call up whatever patch corresponds to MIDI program 35.
There is a catch though. Because different manufacturers use different numbering schemes for their patches, figuring out what program change number calls up which patch can be a bit confusing. Remember also that a program change is only a number, it does not tell the connected expander anything about the parameters or the timbre of the patch it is playing.
IF YOU ARE interested in sending information about specific parameters of a patch from the master keyboard to the expander it is possible - as long as the facility has been implemented by the manufacturer. The messages used to describe this information are not Channel Voice messages but System Exclusive messages. Generally, System Exclusive messages (which, if you recall from last month, reach every instrument connected in the system, regardless of their mode or reception channel) are sent between synths for the purpose of patch storage and editing. They can also be used with personal computers for the same purpose, as long as you have suitable software, of course. We'll look more closely at this in a later article.
"A MIDI Thru socket transmits an exact copy of the information that appeared at the instrument's MIDI In socket back into the system."
If you have two identical instruments, however, it is often possible to transfer the patch memory of one to the other. For example, if you MIDI together two DX7's or a DX7 and a TX7, you can transfer all the internal patch memories so that the slave instrument will have all of the sounds from the master keyboard in its internal memory.
System Exclusive messages can also be used to remotely program one instrument from another. Right now you can only use this procedure with two of the same instruments but recent additions to the MIDI specification pave the way for a time when you may be able to program any synth from any other one.
IF YOU WANT to use more than one synth expander with your master keyboard MIDI makes this possible too. But a couple of complications arise which need to be sorted out. On a purely practical level, you need to have a way to connect the master keyboard to all the expanders. The designers of MIDI made this simplicity itself with what is called the MIDI "Thru" socket. What MIDI Thru does is to repeat any information that arrives at the instrument's MIDI In connection. For example, when our master keyboard sends information out to the expander, an exact duplicate of those MIDI messages is transmitted from the expander's MIDI Thru socket to the next instrument in the chain. In this way the master can be used to control a series of expanders or keyboards (see Figure 3).
MIDI Thru does not, however, combine incoming MIDI messages with MIDI messages generated in the instrument itself. In other words, if the first slave instrument is another synthesiser and you play both the master and the slave keyboards at the same time (for your Keith Emerson impersonations), two sets of different MIDI messages are created. The first set comes from the master keyboard and appears at its MIDI Out socket and the slave instrument's MIDI Thru socket. The second set will appear at the second keyboard's MIDI Out socket and, if one is connected, the third instrument's MIDI Thru socket. The second keyboard's MIDI Thru port will not send out both sets of messages combined. Should you want to combine the two you'll need a specialized device called a MIDI merger. Also, because it is not receiving any information via its MIDI In socket, the master keyboard's MIDI Thru socket will not transmit anything at all.
As nice as the MIDI Thru facility is, some instruments do not have it. If yours doesn't, don't worry, once again MIDI can get round the problem. What you need is a MIDI Thru box. A Thru box, or MIDI splitter as they are sometimes called, functions just like a MIDI Thru port built into an instrument: it takes the MIDI signal present at its MIDI In socket and produces an exact copy at its MIDI Thru socket. In the case of a Thru box, though, there are usually a number of MIDI Thru sockets, so you can use the input from a master keyboard to simultaneously control a number of expanders.
Our diagram of a typical MIDI system in last month's MIDI Basics shows a 2X8 MIDI Switcher linking the various pieces of equipment. A MIDI Switcher is basically a fancy Thru box with more than one input and several outputs. If you have several pieces of equipment which you may want to use as the master controller, such as another keyboard or a sequencer, you'll find a MIDI switcher a godsend - unless you enjoy plugging cables in and out all day long. Basically, it will allow you to switch between different MIDI controllers instead. A hidden bonus is that a switcher will allow you to disconnect a master keyboard from an expander with a minimum of fuss.
The second problem has to do with MIDI channels. If you want all your slave instruments to respond to the same note information from the master keyboard, all you have to do is make sure that they are all in the same mode. If they're in Omni Off mode you'll also have to make sure they're set on the same MIDI channel.
With this setup, all the expanders will play all the notes from the master keyboard at the same time. Ideal for that Phil Spector "wall of mush".
If you have a master keyboard which can transmit on two or more MIDI channels at once, you may want to try something a bit more involved. Some instruments, for example, allow you to split the keyboard and send notes played on the lower half on one channel and notes played on the upper half on another channel. Others take this idea a stage further and allow keyboard "zoning". This is rather like having a number of splits that may also overlap for crossfading sounds and so on. But let's keep it simple for now. If you want to send the lower half of a keyboard to one expander and the upper half to another, all you have to do is make sure that the transmission channel for the upper keyboard matches the reception channel for the first expander, and the transmission channel for the lower keyboard matches the second expander. You won't have to worry about multiple MIDI cables because MIDI messages for up to 16 channels are sent over a single cable at the same time.
Next month we'll add a sequencer to the system and look at the possibilities and problems that that entails.
If you want more technical information on MIDI, you could join the International MIDI Association, who will supply you with the latest spec and a monthly newsletter with all the latest news. If it's a detailed description of the spec that you're after, the MIDI Detailed Specification Document is also available. Contact the IMA at (Contact Details).
Feature by Bob O'Donnell
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!