Resources
In our last installment, we talked about MIDI sequencers: their origins, functions, and general features. This time we’ll wrap up our discussion of MIDI by discussing data entry, looking at how to import and export MIDI files in useful ways, and mentioning a few fun things you can try with your sequencer of choice.
Entering notes
Step entry
Not everybody plays keyboard well enough to play along with a click track in real time. Non-keyboardists can enter notes using a method called step entry or step sequencing. The most common methods of step entry use either the mouse alone or a combination of MIDI keyboard and computer keyboard. The mouse alone can be used to draw notes into a track with a virtual “pencil” or some other entry tool.
For some people, and depending on the style of music, it’s faster to use a MIDI keyboard to choose a pitch and then the mouse or computer keyboard to select that notes duration. Many sequencers let you set a default note duration, and every time you play a note the sequencer will step forward by one increment for you, ready for you to place the next note. For those with decent keyboard chops, this may be preferable to actually playing along to a click track in order to keep accurate time.
Real-time recording
Of course, for musicians who’d rather just play their axe than click a mouse, real-time performances can be recorded from a variety of MIDI controllers such as keyboards, guitars, drums, or clarinets. If the click is bothersome, and you don’t need to match up with the musical time grid of bars and beats you can simply turn it off.
Because you’re recording MIDI data, not audio, you can slow the tempo down for tricky passages and later raise the tempo on playback (although you may phrase and articulate differently at a different tempo, so watch for musical issues here that have nothing to do with MIDI itself).
A few sequencers now include a beat follow method of input. Here, the performer uses a MIDI footswitch or another trigger (such as a low note) to play the pulse while performing the notes to be recorded. The sequencer interprets this data to adjust to the performers varying tempo. This method can work very well, but does take some time to get used to.
When recording over previously recorded MIDI data it is possible to either replace the old with the new, or to merge the two. These two options are also sometimes available when copying data from one place to another.
Importing or “borrowing”
Loops, bass lines, and even melodic gestures can be imported from libraries of MIDI files or from musically generative virtual plug-ins. Though many of these offer some very cool material, and much of it cleared for your use, I still prefer to modify it to express my own personality. (I still like to think there’s a reason I’m writing music, rather than leaving it up to others… or the computer.)
MIDI file formats
MIDI sequence files can be saved in either sequencer-specific proprietary formats or in one of several Standard MIDI File formats. Proprietary files offer greater flexibility in the type and amount of data they can store. They offer very limited compatibility between systems and other sequencers, however. Conversely, standard MIDI files can be read by most sequencers but are limited in the type of information they contain. The three file types are as follows:
Type 0 – Here, all MIDI data is stored on a single track, but this track can retain channel information. (Remember, up to 16 MIDI Channels can coexist on a single MIDI data track, so a file of this type will be limited to 16 simultaneous instruments.)
Type 1 – This is a multitrack format in which each track can hold one or more channels of information. This removes the 16-instrument limit found in Type 0 files.
Type 2 – As Type 1, this is a multitrack format and each track can hold one or more channels of information. The difference here is that each track’s tempo map and starting time are independent. This works well for collections of loops and subsequences, rather than parts of a single ditty. Generally speaking, type 2 files are uncommon.
When importing MIDI files try, when possible, to work with Type 1. This offers the most control of each element of the arrangement as well as the final mix. Likewise, this is the best way to save files for general archive, transport and/or dissemination. Since standard MIDI files are small, I like to be safe and save in type 0 single channel, type 0 multichannel, and type 1 multichannel as well as the proprietary format of my DAW - including the format for at least one previous version of that DAW!) and in OMF (Open Media Framework, sometimes called the Open Music Format. Since this is more for audio and video, and MIDI data is not included, the standard MIDI files will still be needed).
OK, does this sound like overkill to you? Am I seeming a wee bit paranoid? Just because I’m paranoid and think archival formats and computers are out to get me doesn’t make me wrong….
Much of my engineering work with has involved either importing prerecorded materials from diverse studios and recording platforms onto my system, or bringing materials recorded at my studio to such foreign environments. With the enormous diversity of operating systems, audio hardware, DAW and sequencer software (and versions thereof), I quickly found that relying on a single transfer format that “is supposed to work…” was the best way to burst a major blood vessel and look incompetent in front of clients. Learn from my experience, and have as many ways to import your MIDI data as possible.
Tips and Tricks
Now that we’ve looked at the basic functions and common user interfaces of sequencers I’d like to offer some last tips on their use. These are things to think about and try; they may not work for your needs or style, but are worth a look.
Filtering events
When recording controller codes, pitch bend, or aftertouch from a MIDI controller (such as a keyboard) it is may be a good idea to filter some of these incoming messages. The modulation wheel is often used to change a timbre from one setting to another, let’s say 0 to 127. Even though you only need these two extreme values, the sequencer will record values in between as you move the wheel. If the sequencer can filter out the in-between values, have it do it, or go in and take them out in the edit list window. MIDI data is sent down the wire serially, one byte at a time, at a limited rate, so the fewer data bytes jockeying for position in the data stream the more efficiently your MIDI system will run.
Most sequencers will allow data to be filtered during recording, during editing, or even when drawing within control strips.
Humanize/Dehumanize
Many of us are not gifted either with great keyboard chops or the ability to hold a steady tempo. For cleaning up the rhythm of not-so-precise playing, there’s quantization. Quantization, in MIDI-speak, is the restriction of rhythmic note values – notes that fall in between those restrictions that automatically moved to the nearest specified restriction value. For example, if you tell the sequencer to quantize to the nearest quarter note, then all of the notes will fall on the quarter note beat, even if you play between beats. This is sometimes called a grid or snap mode. The trick here is to set quantization so that it is sensitive enough to properly interpret all of the rhythmic values that you want but not so sensitive as to pick up on all of your little discrepancies.
Another form of quantization, often called “groove quantize” is intended to combat precisely the opposite problem… when music is inserted into the sequencer in a manner that produces a rhythm and tempo that are so precise as to be robotic. Some sequencers offer quite an array of groove possibilities, including various methods to swing the beat or just add a little randomness to the playing.
Since some controllers and methods of input also make all velocities (dynamics) equal, there are often methods of varying velocity either by constrained randomness or by other “groove” style templates.
Massaging Sounds
Another one of the main drawback to using synthesized or sampled sounds is that they often fall short of the complexity and evolving nature of acoustic (or acoustically influenced) instruments in the hands of skilled player. This perception is further exacerbated by the fact that so many people simply dial up preset patches and leave it at that. What many don’t realize is that most MIDI-compatible instruments are capable of much greater tonal variation and expressiveness.
When a real human performer (let’s say a guitarist) plays a note, he continues to interact with the ringing tone. He adds such things as vibrato and muting as well as interaction with the amp and the space. Try various controller codes (especially modulation, breath, foot control, expression, sustain, soft, and legato), pitch bend (it can actually be used subtly), portamento, and aftertouch. You may be surprised how many of these your synth (or sampler) responds to. Judicious use of these can really bring stale sounds to life. In addition, the actual synthesis parameters may be mapped to controller codes, as well as parameters of the synths effects section.
Of course the audio channels of MIDI-controlled instruments can (and should) be mixed using the same compliment of audio tricks as any other channels. Don’t forget effects, eq, compression, etc…. In fact, many synthesized sounds are in need of eq much more than traditional instruments. This is especially true of the highest and lowest parts of the frequency range. Oscillator-based synthesis is capable of sub-sonic frequencies that can kill a mix (or your speakers) without you even being aware of what’s going on. Likewise, electronically produced audio can have stronger high frequency content than most acoustic sources. Filtering was an important part of early synthesizers, but is slowly becoming a lost art in the age of presets. Bring it back!
Another method to make synthesized or sampled sounds more interesting, is to layer them. For example, try triggering two versions of the same snare, slightly offset in time, and panned to opposite sides of the stereo field. Try layering different snare sounds on top of each other.
A few final thoughts
A couple final suggestions for managing messages: Separate each portion of the drum kit on a separate MIDI track, even if they are on the same instrument and channel. This makes the pieces of the kit much easier to edit individually.
Manuals are not always the friendliest read, especially when it comes to the real nitty-gritty of MIDI implementation. One of the best ways to figure out what MIDI messages may be mapped to which functions is to record-enable a sequencer track and twist some knobs on your synth. The MIDI messages recorded by the sequencer can then be traced back to the functions within the synth. This method also works well for figuring out banks and programs.
We’ve spent the last four TCRM installments on MIDI, and I feel like I’m only beginning to scratch the surface of it all. I hope this has given you enough to help you sort it all out and start exploring what your gear is really capable of. Next month we will start a three-month look at DAWs (aside from their MIDI sequencing capabilities).
John Shirley is a recording engineer, composer, programmer and producer. He holds a PhD in music composition from the University of Chicago and is a Professor in the Sound Recording Technology program at the University of Massachusetts Lowell where he serves as chairman of their music department. You can check out some of his more wacky tunes on his Sonic Ninjutsu CD at http://www.cdbaby.com/cd/jshirley.
Supplemental Media Examples
AUDIO
A general MIDI file of the “Little Fugue” in g minor by J.S. Bach is realized using the Advanced Instrument Research “Mini Grand” virtual piano in ProTools 9 native. I found this free file by web search on the MIDIworld site (http://midiworld.com/bach.htm). The opening is all that’s included here. TCRM25_1.wav
The Bach sequence is quantized to the eighth note. Note that all notes fall on the beat or upbeat. TCRM25_2.wav
The Bach sequence is quantized to the quarter note. Here, all notes are forced onto the beat. TCRM25_3.wav
The Bach sequence is quantized with an eighth note shuffle. TCRM25_4.wav
The Bach sequence is quantized with a sixteenth note shuffle. TCRM25_5.wav
The Bach sequence is quantized with a sixteenth triplet shuffle. TCRM25_6.wav
The Bach sequence is quantized with a dotted sixteenth note swing pattern. TCRM25_7.wav
The Bach sequence is quantized randomly with a 22% setting. TCRM25_8.wav
The Bach sequence is quantized randomly with a 30% setting. TCRM25_9.wav
The Bach sequence is quantized randomly with a 79% setting. TCRM25_10.wav
Now, the velocities of the Bach sequence are all set to 88 in order to even out the dynamics of the performance. All of the remaining examples from this sequence will be variation of this new version. TCRM25_11.wav
A command can be used to select individual notes and modify them. Here, all “a” notes are chosen, cut and copied to another track. Then their velocities are increased to accent them. TCRM25_12.wav
Now the “a” notes are muted. TCRM25_13.wav
The new track is now bussed to another instrument. TCRM25_14.wav
Now, the g is accented (the a is returned to normal). TCRM25_15.wav
Other cool patterns can be created by selecting and modifying notes by different rules. Here, every 3rd note is selected and accented by increasing their velocities. TCRM25_16.wav
Next, the same idea is used, with every 3rd note accented, but the pattern starts with the second note. TCRM25_17.wav
Finally, the 3-note accent pattern starts on the 3rd note. TCRM25_18.wav
Another variation on the every 3rd note idea is to transpose them rather than accent them with increased velocity. Here, the notes are transposed down two octaves. TCRM25_19.wav
Every third note is transposed up two octaves. TCRM25_20.wav
Finally, let’s see what happens when we transpose every third note up a Major seventh. TCRM25_21.wav
Of course, we can also use transpositions to change key or even mode…. Here, the Bach is changed to G Major. TCRM25_22.wav
The Bach in g Dorian. TCRM25_23.wav
The Bach in G Phrygian. TCRM25_24.wav
Now let’s change it up and listen to some examples using drums. For these next examples, I used a MIDI file from http://mididrumfiles.com. Here it is mapped to the Advanced Instrument Research “Boom” electronic drum kit in ProTools 9 native. TCRM25_25.wav
The drums are now quantized with an 8th note shuffle. TCRM25_26.wav
The drums with the kick and snare quantized with a sixteenth note swing. TCRM25_27.wav
Now, the hi hat is quantized with a sixteenth note swing and then, in the second section, the kick is quantized with an eighth note triplet pattern. TCRM25_28.wav
Layering can be a useful way to modify instrumental tone, especially with very short delays. Here, the snare drum is doubled on another track, and moved later in time by 13 milliseconds. It is then sent to the same instance and channel of “Boom.” TCRM25_29.wav
By sending the second track of snare data to a separate, second incidence of the “Boom” instrument, a different sound is achieved. It is still delayed by 13 milliseconds. TCRM25_30.wav
Now all three versions together. TCRM25_31.wav
By shifting the pitch of one of the snares in “Boom” the tone changes yet again. TCRM25_32.wav
The original MIDI drum track is now sent to a different virtual kit, this time using the Advanced Instrument Research “Structure Free” synth Studio Drums. TCRM25_33.wav
Both kits are then layered, without any delay or offset. TCRM25_34.wav
The “Structure Free” drums are now heard alone, but doubled with one version offset by a dotted eighth. TCRM25_35.wav
The doubled “Structure Free” drums, with one version first offset by the eighth, then the dotted eighth. TCRM25_36.wav
Finally, the “Boom” drums are doubled with one version offset by the dotted eighth. TCRM25_37.wav
In this one final example the vocal line of a song is converted to MIDI using Melodyne. The MIDI track is then used to trigger a software synth pad which doubles the line. TCRM25_38.wav
Special Thanks to Howard Sandroff for first introducing me to this method of electrical power generation; hooking JS Bach up to a turbine and playing him such creative MIDI versions of his tunes....
Thanks again to The Bay State for the use of their demo recording of “Liars” for TCRM25_38. All material used by permission; all copyrights reserved. Demo recorded by Michael Testa. The Bay State is Tom Tash, Drew Hooke, Susanne Gerry and Evan James. Check out their music on iTunes (including the commercial release of “Liars” or visit them on facebook at: http://www.facebook.com/thebaystate

















