MIDI Performance 101 – Getting a Realistic Performance from Your MIDI Instruments
Getting started with MIDI sequencing? Get off on the right foot with this comprehensive overview of techniques by a master of the craft.
by Mike Lizotte, May 2014
Before we dive right into the MIDI performance techniques, I think it’s important to provide a brief overview of what MIDI is, and what MIDI is not. This will make sure everyone is starting from the same place.
A Brief Introduction to MIDI
MIDI stands for Musical Instrument Digital Interface. It was developed in the 1980’s as a way to allow one synthesizer to control another synthesizer by sending controller data from the first one to the second. MIDI works by sending information and controller commands between devices. These controller commands can be from your knobs, wheels and sliders, as well as note ON and OFF messages. MIDI does NOT send audio.
If we have a MIDI keyboard hooked up to our computer and we press a note, the only way for us to hear a sound, is for that MIDI “note” to trigger a sound source, such as a software synthesizer (AKA “soft synth”). The software synthesizer will have a sound or audio sample loaded into it. It will then be triggered by the MIDI controller data and note ON and note OFF messages.
To sum up: MIDI is not audio, it is only instructions.
Introduction to Software Synthesizers
A software synthesizer (soft synth) is a plug-in or computer program for digital audio generation. For the purposes of this article, I will simply explain that a soft synth will contain and play the sounds that our MIDI instructions tell it to. All of the major DAW’s (Digital Audio Workstations) come bundled with various soft synths. These will include sounds for drums, piano, orchestral instruments, guitars, bass and every other sound or instrument you can think of. There are also many third party soft synths. Some examples are: Dimension Pro – Addictive Drums – Omnisphere.
To sum up: Software synthesizers will play the sound after receiving MIDI instructions.
“MIDI shall be our conductor and soft synths shall be our musicians.”
MIDI Data in a DAW: Piano Roll View (PRV)
I consider the PRV to be the bread and butter view for MIDI editing. Not only can you insert notes in this view, but you can quickly and easily adjust velocity and all the different CC (continuous controller) parameters. The notes entered in the PRV are MIDI events that will trigger the correct notes in your soft synth.
Many people prefer to write music on a staff. Like the PRV, the notes inserted in the staff are MIDI events which will trigger the appropriate notes in your soft synth.
This is a a popular view for creating and inputting drum grooves. Like the name reads, each measure or beat is broken down and displayed in “steps”. Just like the previous two views, the inputted steps are MIDI events, meaning they will trigger the appropriate notes in your soft synth.
Continuous Controllers (CC)
Continuous controllers are MIDI messages that are sent to your soft synth to control specific patch parameters and performance instructions, such as Volume, Pan, Mod Wheel, Portamento, Expression and many others. Below is a list of common CC numbers and their assignments. However, there are many soft synths that do not follow this convention. In those cases, make sure to read the manual for the software, which will explain the specific CC assignments.
1 – Mod Wheel
2 – Breath controller
5 – Portamento
7 – Volume
10 – Pan
11 – Expression
64 – Sustain
121 – Reset all controllers
123 – All notes off
Difference between Volume and Expression (CC 7 and CC 11):
Volume (CC 7) – Volume controls the loudness of the track. In most cases, the volume fader on your mixing board will be assigned to CC 7 as well.
Expression (CC 11) – Expression also controls the loudness of the track. The advantage of using expression is that it allows you to control the inner dynamics of a track, while keeping your volume free to control the overall level.
CC Manipulation in Action
To keep this simple, I will demonstrate a four-chord progression without any CC manipulation and then the same progression using only expression data.
As you can hear, by using only expression (CC 11), our static chord progression has gained some life. In live instruments, chords and notes are constantly changing in volume, even in small amounts. Adding in subtle volume changes with expression can make for a more realistic sound.
For the above example, I used a four-part string progression and faded the chords in and out. I also made slight volume changes in the middle of the notes.. I like to treat each line and instrument individually, helping to simulate a live player. This process can be tedious, but your efforts will pay off in the end.
Playing Individual Lines
As mentioned above, it is a good idea to make pretend each line is performed by a real musician. The temptation to play block chords on your MIDI keyboard is often overwhelming, especially when pressed for time. However, giving in to this temptation can make your expensive orchestral library sound like a cheap synthesizer.
When writing a piece of music, think of voicing each individual instrument appropriately. If you are playing block chords on the keyboard, the voicings may not sound realistic. Playing individual parts will allow you the opportunity to add movement and interest. Picture a good jazz bass player: he isn’t just playing the root note on beat one of every chord.
So far, the theme of this article seems to be: try and approximate how a live band or live player would sound playing the part, and mimic that.
One problem we face if we load a “Full Orchestra” patch and play block chords on our MIDI keyboard is that our instrument ranges overlap. This means when we play middle C, we are hearing it on 18 violin 1’s, 11 violin 2’s, 10 violas and 9 cellos. Our notation will look like this:
While this can produce a full and layered sound, it may not yield authentic results.
Another issue we face is losing the ability for each individual line to have movement and articulations. Adding movement and articulations is key for realism.
If we take the same chord progression and split it up into our five-string section, we can alter the chord voicings and add movement to any of the lines. We can also add different articulations, and our score might then look a little more like this:
Whether you are playing the keyboard or writing your parts out in one of the previously mentioned views in your DAW, it’s a good idea to edit the start and end times of your notes. We all love to quantize and get everything in time. However, live players will not be computer-perfect, especially on starting and ending their notes. You can go into the PRV and shorten or lengthen notes slightly for a more realistic effect. Depending on the style of music, this can be another technique in our effort to get a realistic MIDI performance.
Every MIDI note will include a velocity level that will range from 0-127. The velocity is basically how hard you play the note. When using a sample library in a soft synth, velocity level will determine the sample that is triggered and the decibel of the triggered sample. This mirrors real life in that the harder you play a note or hit a drum, the volume will increase and the sound will change.
Different soft synths and instruments will have different velocity layers. Here is a general example:
Velocity Sample triggered
0-40 Soft Piano
41-87 Mezzo-Forte Sample
88-127 Forte Piano Sample
Velocity will be your main tool in controlling the dynamics in your track. Here is an audio example of a four-bar drum loop with all of the drum hits at the same velocity.
Here is the same drum pattern with velocity adjusted to better match how a real drummer might play it.
The difference is obvious. Controlling the velocity of each hit will introduce subtle dynamics into the piece, which will better match how a live player would sound.
Soundbytes’ own David Baer wrote a fantastic article regarding tempo and how important it can be in achieving a more realistic performance. The article is very in-depth and worth the read. It can be found here. Tempo manipulation is another tool used to achieve a realistic MIDI performance. Some styles of music thrive on a steady pulse, while other styles have floating tempos.
Layering Samples and Crossfades
Let’s imagine a single violin line. This imaginary line may contain an attack, a legato transition, vibrato and a fade-out at the end. Can one violin sample cover all of these sounds? Sometimes it can. But other times, we may want to use multiple samples. We can do this by layering the samples and using crossfades to transition between them. This technique takes some practice and patience to achieve a seamless transition.
For the attack, we use a sample with a strong attack and then fade the sample out at the same time we fade a legato sample in. We have to do the same process as we fade in our vibrato sample and again to bring in a non-vibrato sample to fade out to the end.
Some sample libraries offer multiple samples that you can crossfade between using the mod wheel (CC 1). Other sample libraries utilize the mod wheel to control vibrato. Each sample library is unique, and reading the manual is always recommended. Generally, it is much less work if you can crossfade between samples with the mod wheel, as opposed to manually using volume to lower one sample while raising the other sample for a seamless sound.
Crossfading between samples is also necessary when you need more than one velocity within a note. In MIDI, velocity cannot be changed mid-note; you can only adjust the amplitude using volume or expression. In real life, however, you regularly hear velocity changes on one note. Picture a sax player. He may start playing his note with a forte and then sustain the rest of the note softly, finally ending with a crescendo. In order to do this with MIDI, we must use a high velocity on the attack, then seamlessly crossfade a soft sustain note and end with a crescendo sample. Again, some sample libraries offer crossfade sounds just for this scenario.
Quality Sample Libraries
Despite what some people will argue, the better the sample library, the better the results you can achieve in your MIDI composition.. There are many talented people who create MIDI “mockups” of musical scores using the best sample libraries. These mockups are so good that most musicians would not be able to pick out the real recording from the MIDI mockup. It is truly an art in itself. Even if you will never find the time or have the drive to compete with the best MIDI mockup mixers in the world, you can still improve greatly by following the information contained in this article.
If you skipped to the bottom for the secret recipe, here it is:
- Make use of velocity.
- Layer samples if you have to, using crossfades between them.
- Treat each line individually and avoid playing block chords..
- Make use of expression (CC 11).
- Tempo – This is genre dependent. In a classical piece, know that a solo classical violin is probably not going to stay at the same tempo throughout.
- Learn which continuous controllers are used with your individual sample library and experiment with them.
- Try and emulate each MIDI part as if it’s being performed by a live player.