You are here

MIDI Basics: Part 4

Automation With MIDI Controller Information By Paul White
Published November 1995

Most contemporary sequencers include facilities that make it possible to automate all the key aspects of a MIDI mix, but all too often they remain unused. Paul White explains how to dip your toe in the water without falling in...

As you'll already know if you've been following this series, MIDI isn't restricted to carrying information relating to musical notes — amongst other things it also caters for Controller information. MIDI Controllers can be used to adjust many different parameters relating to a musical instrument, the most useful in a mix situation being Main Volume (Controller 7) and Pan (Controller 10). However, you're not limited to automating volume and pan during a mix — you can, in theory, change any parameter of an instrument that is assignable to a MIDI Controller, including Portamento Rate (Controller 5), Sustain Pedal (Controller 64) and, where supported, parameters such as Filter Frequency or Resonance.

These latter parameters aren't defined Controllers, and it's up to individual manufacturers whether and how they are implemented, so you'll need to look in the back of your instrument manual to see exactly what you can access via MIDI. You may also find that you can construct Bank Change messages for your synth using Controller data, so it really is worth looking into those apparently tedious back pages once in a while!

Patch Changes

Another fundamental of MIDI mix automation is the Program Change command. It's surprising how often even this humble feature remains unused, yet if you have a limited number of MIDI instruments, it can be very useful to be able to change sounds mid‑song. Most sequencers will let you enter a new program change command directly from within the event list, so that you can decide at exactly which bar and beat the change should take place. Sometimes, you need to be careful where you put the command in order to get a graceful changeover of sounds, but the vast majority of synths help you out by retaining the old patch sound for any sustained notes — these don't change until they are released, even if newly‑played notes have switched to the sound of the new patch.

If you have a sequencer that doesn't let you enter program changes directly (and to be honest, I can't think of one off‑hand that doesn't allow you do this in one way or another), you can instead use the Program Select buttons on your master keyboard to send a patch change command at the appropriate time. The patch change will be recorded into your sequencer just like any other MIDI event, and if it isn't in quite the right place, you can always go into the edit list and move it.

Program changes may also be used to switch MIDI effects units from one patch to the next, but here you have to be more careful, as some units can take up to a couple of seconds to change over, during which time the output is usually muted. If you're using a reverb or delay effect with a long decay time, you have to give the effect time to finish doing its thing before you hit it with a patch change, otherwise you're certain to hear the changeover when you listen to the mix. The basic rule here is: always change effect patches when there's no signal passing through them and where you have enough space following the changeover to allow the new patch to load up.

Even if you don't intend to change patches during a song, you should still put Program Change commands at the start of each track, ideally during the count‑in period, so that all your instruments are automatically set to the appropriate patches before playing commences. It also pays to be aware that if you copy a track so that you can use it with a different MIDI instrument, any embedded patch change information will also be copied, so don't forget to update these Program Change numbers before continuing work, otherwise you might find that totally inappropriate patches are being called up.


When you come to use Controller information to set up volume and pan effects, you first have to make sure that your instruments respond to these messages. This may sound obvious, but there are a few instruments out there, including Yamaha's otherwise excellent EMT10 piano module, that are totally oblivious to Controller 7. The only way to fade one of these babies is to either pull down the fader by hand or doctor the MIDI note velocity data in your sequencer so that the notes actually become quieter.

Thanks to modern sequencer design, there are now lots of ways to enter Controller information. In the early days of MIDI, you had to add Controller numbers and values to the MIDI event list or record them in real time, but now there are more intuitive graphic methods, for example Emagic Logic's new 'Hyper Draw'. This lets you shape your own Controller 'envelope' by dragging points on a line representing the Controller's numerical value. Once again, if you have no easy way to do this in your sequencer, you can send the data direct from your MIDI keyboard by using the modulation wheel (Controller 1). It helps to record this data on a separate track after recording the main musical part. Once you're happy with the result, you can merge the two tracks, but do keep them separate for as long as possible, as it's often easier to change or delete the controller information if it isn't mixed in with note data. Even though your mod wheel sends out Controller 1 data, you can still change the Controller number in your sequencer event edit list after recording. Having said that, if you have a sequencer that will allow you to change the Controller number in real time as you record, that's a better option, as you'll be able to hear what you are doing. If you simply record the data first and then edit it afterwards, you'll hear vibrato when recording rather than volume, pan or whatever it is you're trying to change, and that's certain to be very confusing! If you have a keyboard with assignable data sliders or wheels, these represent an even more convenient way of sending Controller data in real time without having to edit it afterwards.


Controller 7 acts exactly like a conventional volume control, enabling you to turn level up or down during a single sustained note — something you can't do simply by changing the note's velocity data. In practice, this allows you to vary levels during the course of a song, just as you would with an automated mixing console. The easiest way to enter data in this case (if you don't have a hardware MIDI fader unit or a bank of assignable faders on your master keyboard), is to create an on‑screen fader in your sequencer assigned to the appropriate Controller and MIDI channel. Most current computer‑based sequencers allow you to create faders which can be moved with the mouse, and if there are functions you want to use regularly, it's best to save these as part of your default song, so you don't have to re‑invent the wheel every time you boot up. For example, I have a couple of multitimbral instruments with built‑in reverb and chorus, so I've created a pair of faders for each part that can be used to set the appropriate effect levels. I work mainly in Emagic's Logic, and this allows you to give faders their own sequencer tracks if you want to automate their movements, but equivalent functions are available in most of the leading sequencer packages.

Once you've tried using MIDI mix automation, you'll probably wonder how you ever managed without it.

When automating functions such as level and pan, you have to remember that if you fade out at the end of a song, the next time you run the song, those instruments will remain turned down until new Controller information is sent. So don't simply use Controller data to fade the last few seconds of your song — also place some which sets your starting levels at the beginning of the song, during the count‑in bar. The same is true of pan: if everything goes out stage left, it will stay there until either the instrument is reset or new Controller information is registered. Putting Controller information at the start of a song is a good habit to get into, and once again, you can do this in your default song so that you only have to do it once. You can always make any required changes once the song is loaded.

Pan effects can work very nicely when they are in sync with the song tempo. An easy way to do this is to create a short section of pan information and then either copy or loop it. And yes, if you save a few examples as part of your default song, you can either use them or dump them when the song is loaded up.

Hints And Tips

Once you've tried using MIDI mix automation, you'll probably wonder how you ever managed without it, but there is a potential danger in treating MIDI automation like 'real' console automation; there are differences, especially when it comes to noise. On a conventional mixer, when you pull down a fader, anything being fed into that channel, both signal and noise, is turned down; on a MIDI instrument, when you turn down the instrument level, a certain amount of residual noise remains, because the output converters and any subsequent analogue circuitry are still as live as ever. What's more, because Controller 7 turns down a sound digitally, the lower the volume, the lower the resolution of the sound, because fewer bits are used to represent it. As you lower the resolution of a digital signal, the quantisation noise and distortion increases.

To make the best of this situation, always have the nominal level of your MIDI instruments set as high as possible, and in the case of a multitimbral instrument, make sure that the loudest part is peaking at or near to velocity values of 127, and that Controller 7 is fully up on the loudest parts. The only time you might need to rethink this is if you are using budget multitimbral modules that have insufficient headroom to allow everything to run flat out without distortion. If distortion occurs, reduce the value of Controller 7 until it stops.

As you can save all your automation data with your song, you can recreate the same mix any time you like — provided that you decide on standard gain settings for your keyboard mixer channels and always stick to them. Your external effects can also be called up repeatedly, as long as you always allocate the same effects unit to the same send and return points, use consistent gain settings, and include the effect's Patch Change data at the start of your song. If you work exclusively with MIDI pan and leave your console pans alone, you'll be able to recreate even the most complicated of mixes, providing you make a note of any console EQ settings — but then, making it too easy would spoil the fun, wouldn't it?

Because it's so easy to automate instruments in a MIDI mix, you'll probably find that you're able to do things never before possible, and though you may go over the top at first, don't be reluctant to experiment — it's only because users have constantly pushed at the boundaries of MIDI's capabilities that we have such a powerful MIDI spec available to us today.


At the end of last month's instalment of MIDI Basics, we promised the start of a new series on the basics of sampling. We got our months a bit confused, as there are still parts of MIDI Basics to come! Needless to say, the Sampling Basics series will follow when MIDI Basics has finished.

Advanced Uses Of Controller 7

If you have the patience, you can create envelopes for sounds using Controller 7 data. One neat trick is to emulate a keyed gating effect by using Controller 7 values of 0 and 127 to create a full‑on or full‑off effect.

By placing the Controller data at exactly the start of beats on your quantise grid, you can imitate the effect normally achieved by keying a noise gate from a drum track or other rhythmic source. For example, if you take a four‑beat bar where each beat is one eighth of a bar in duration, set Controller 7 to 127 at the start of each beat and to 0 at the end of each beat, your synth patch will pulse four to the bar. With a little imagination, you can design your Controller data to create interesting rhythmic effects, and you can, of course, use intermediate Controller values if you want the level to pulse rather than switch hard on and off.

Controller 7 can also be a useful way of tailing off a long sound that otherwise ends too abruptly — especially useful at the end of a song. You could achieve this by editing your synth patch, but the Controller 7 workaround is generally a lot easier and arguably more precise.

Hardware Control

If you intend to make extensive use of MIDI automation, you may feel it's worthwhile to buy a hardware MIDI fader control unit. These comprise a bank of faders, each of which can be independently assigned to send different types of MIDI message; suitable units are made by JL Cooper, Peavey, Roland (whose MCR8 controller is pictured left) and Penny & Giles, to name a few. To use one of these without unplugging your keyboard, you'll either need a fader unit with a MIDI Merge facility, a separate MIDI Merge box, or a MIDI interface with a Merge facility.