You are here

Automatic Error Correction With Sonar MIDI Plug-ins

Sonar Notes & Techniques By Craig Anderton
Published July 2007

The Transpose MIDI effect is being used here to automatically transpose all notes up by eight semitones, in real time.The Transpose MIDI effect is being used here to automatically transpose all notes up by eight semitones, in real time.

Why wait to fix it in the mix when you can mend MIDI tracks while you're recording them? Sonar 's MIDI plug-ins allow you to automatically fix anything from incorrect timing to inconsistent velocities - and more.

If you use Microsoft's Word and you enable 'auto-correct', Word can fix your typing mistakes as they happen. In other words, if you type 'ahppen', Word knows you meant to type 'happen' and will fix it as you type, so that you don't have to go in later and fix it. Most of the time the program understands what you want, and its ability to correct your errors in a pre-emptive manner can save you quite a bit of time.

What does this have to do with Sonar? Well, if you're playing MIDI parts, Sonar has several real-time auto-correction options that can make sure what you play falls within a certain velocity range, is constrained to a particular scale, or hits a particular rhythm. Far from 'robotising' your playing, these facilities allow you to choose how much you want auto-correction to influence your playing. For example, although Sonar has an automatic input-quantise feature, so that incoming notes hit exactly on the specified rhythmic value, you can also ask the program to be a little bit looser about the procedure, or add some swing to your playing.

If you learn how these functions work, you'll often be able to play MIDI parts that need no editing afterwards — especially in the case of drum and percussion parts.

If You Only Play In C

Some keyboard players are more comfortable playing in certain keys than others. So if the song's in G-sharp but you want to play in C, Sonar has just the ticket: the Transpose MIDI plug-in. Here's how to use it.

1. In the FX bin of the MIDI track driving your synth, right-click and choose MIDI Plugins / Cakewalk FX / Transpose.

2. Under Transpose Method, choose Interval.

3. Use the Offset slider to select the desired amount of transposition. In our example above (see screen, top), if you wanted to play in C and have the notes come out in G-sharp, you'd set offset to +8 to transpose up, or ­4 to transpose down.

4. To verify the amount of transposition, click on the plug-in's Notes button, and the right 'To' column will display the result of playing the note listed in the left 'From' column. (You can click on the Pitch button if you like, but there seems to be a bug that doesn't let it show sharps and flats.)

Although you'll hear the transposed part, the notes that actually get recorded in the track are the notes you played, not the transposed version. So you'll need to leave transpose enabled to maintain the transposition during playback. If you want to alter the track permanently to the target key, select the track (or clip, if that's all you want to change) and go Process / Apply MIDI Effects. Sonar will give you the option to delete the MIDI effect automatically after processing, so that it doesn't transpose the newly transposed notes by mistake.

Creating Keyboard Splits

In this example, the upper Event Filter is sending notes C4-G10 to the piano track, while the lower Event Filter is sending notes C0-B3 to the bass track.In this example, the upper Event Filter is sending notes C4-G10 to the piano track, while the lower Event Filter is sending notes C0-B3 to the bass track.Although the main theme of this workshop is fixing problems, as we're talking about MIDI effects I can't resist including a useful trick for doing the splits using the MIDI Event Filter. Imagine you want a piano sound on the upper part of the keyboard (C4 and above), and a bass sound on the lower part (B3 and below):

  • Insert two appropriate soft synths.
  • Turn Input Echo On for the two MIDI tracks driving the soft synths.
  • Insert a MIDI Event Filter in each track.
  • In each MIDI Event Filter, click on the Notes button.
  • Adjust the Key parameter for each MIDI filter to send the desired note range to the desired destination.

If You Can't Even Play In C

If you have a hard time playing accurately in any key, Sonar can help with that too — again, thanks to the Transpose MIDI plug-in.

1. Follow step one from the example above.

2. Under Transpose Method, choose Key/Scale.

3. In the From field, choose the key in which you're playing. I recommend selecting Chromatic as the scale. This means that any incoming note will be constrained to the scale you specify in the next step.

4. In the To field, choose the key in which you're playing and, directly below that, select the scale to which you want to constrain the note.

5. Leave Offset at zero and click on the Constrain to Scale button.

Although you should, of course, try to play in the correct scale, if you play a 'wrong' note it will be constrained to the nearest 'correct' note. However, as in the example above, Sonar records what you play, so you need to apply the MIDI effect if you want this change to be permanent. You could alternatively experiment with choosing different 'To' scales and listening to what they sound like.

And If You Can't Play In Key, In A Scale, Or In Time...

... maybe you should consider a different line of work! Meanwhile, Sonar can apply quantisation in real time to incoming notes as you play. Simply enable the Input Quantisation field found in a MIDI track and specify the input quantisation value (for example, 16th notes). When you click on the symbol that normally shows 'R', to record, it will instead show 'Q' to indicate that quantised recording is active.

Click on the Enable box for input quantisation (the green square just below the magenta trim control), then select the desired quantisation value from the drop-down menu. If you select Quantise Settings, you can alter how the quantisation affects the incoming MIDI data.Click on the Enable box for input quantisation (the green square just below the magenta trim control), then select the desired quantisation value from the drop-down menu. If you select Quantise Settings, you can alter how the quantisation affects the incoming MIDI data.When you apply input quantisation, the notes are placed as specified. But what if you don't like the rigid, lock-step aspect of quantisation and would like Sonar to tighten up your playing just a bit? At the bottom of the Input Quantise Resolution menu you'll find an option for Quantise Settings. Here you can chose whether you also want to quantise controller events (you probably do; make sure 'Only Quantise Notes' is unchecked), and you'll also find parameters for Strength, Swing and Window. You'll probably want Window set to 100 percent so that all notes are affected. Setting it to a lesser value 'pulls' the window closer to the quantisation value, meaning that notes outside the Window's range won't be quantised. (I never did quite understand this parameter; I'd prefer to have notes close to a specified rhythmic value left alone, while quantising those that are further away.)

Note that there's also a Randomise box. I leave that one unchecked (if I really want a random performance, I can just have a couple of drinks).

Velocity Fixes

With drum parts you'll very often want to restrict your velocity values to specific ranges, as if you were using a compressor. This is easy to do with the Velocity MIDI plug-in, which works in real time: even though the part that's recorded is what you play, you hear the processed part while you're playing.

For example, suppose you want to add dynamics to the kick-drum part of a dance track. For the soft hits you don't want the kick to be too soft, but while it's easy to just whack a key to achieve maximum velocity, it's a little harder to refine your touch so that your lowest-velocity hits never go below, say, a velocity of 86. Fortunately, Velocity can solve these types of problems, as well as other ones.

To get started, insert the Velocity plug-in into the FX bin for the desired MIDI track. From here, you can do several useful things.The Event Filter has been programmed to remove all notes with a Velocity under 20 and/or a Duration of under 100, as well as all Channel Aftertouch and Key Aftertouch events.The Event Filter has been programmed to remove all notes with a Velocity under 20 and/or a Duration of under 100, as well as all Channel Aftertouch and Key Aftertouch events.

  • Limit the range of incoming notes: click on the Limit button, and set an upper limit, a lower limit, or both. Setting an upper limit can be handy when you're playing percussion parts, if you want to keep really prominent hits to a minimum.
  • Set incoming notes to a constant value: click on the Set To button and specify a particular velocity value. This is invaluable for those four-on-the-floor kick parts where you want every kick to hit at the maximum possible level.
  • Create a velocity 'sensitiser': the Change option adds or subtracts a constant amount to/from the incoming velocity value. Click on the Change button, then set a value with the slider. This is something like changing the sensitivity curve on a MIDI keyboard: use positive values to make the keyboard more sensitive (for example, setting the value to 20 will add 20 to all incoming MIDI notes) and negative values to make the keyboard less sensitive.
  • Create a velocity compressor: you can actually increase low velocity values while restricting peaks to the maximum available MIDI value — pretty much the equivalent of a MIDI velocity-value compressor. Just click on Scale and select a value above 100 percent. Higher values apply more 'compression'. For example, with a value of 150 percent, a velocity of 20 becomes 30, a velocity of 40 becomes 60, a velocity of 64 becomes 96, and all velocities over 85 hit the maximum value of 128.
  • Create a velocity randomiser: I'm not a big fan of randomising, but a little bit can sometimes be effective with percussion parts such as tambourine and congas. Once Randomise is ticked, the Amount slider determines the maximum amount by which the input value can be offset, while the Tendency slider sets the tendency of the offset to be lower (negative values) or higher (positive values).

MIDI Effects After The Fact

You may not always want to do MIDI processing in real time, but instead play the part first then apply a MIDI effect later, to try different variations. How to approach this depends on whether you want to process the entire track or just selected notes. To process the entire track:Automatic Error Correction With Sonar MIDI Plug-ins

In this screenshot, the Velocity MIDI plug-in is being used to limit incoming velocities between a maximum of 127 and a minimum of 90. As a result, any note with a velocity of 90 or below plays at 90.

1. Make sure the MIDI effect is in the track's FX bin.

2. Set up the effect parameters as desired.

3. Select the track, or, if you're in the piano-roll view, select any note or notes (it doesn't matter how many, as the entire track will be processed).

4. Go Process / Apply MIDI Effects.

To process selected notes instead of an entire track, it doesn't matter if a MIDI effect is in the track's FX bin or not. Do the following:

1. Select the notes you want to process, either by clicking on a clip that contains only those notes, or by selecting them in the piano-roll view.

2. Go Process / MIDI FX / Cakewalk FX / [name of MIDI effect].

3. Set up the effect parameters as desired.

4. Click on the MIDI FX 'OK' button.

5. The selected notes are now processed via the MIDI effect.

I'd Like To Use That Again

For any of these tips that use a MIDI effect, if you use a particular setting a lot you can save it, as you would any audio plug-in effect. Just type a name in the Preset field, then click on the floppy disk icon to save it.

Proof-reading Your Sequence

This tip is unlike most of the previous ones, as it's designed to act more like a spell-checker that fixes problems after you've played a part

No matter how good a keyboard player you are, the odds are that you'll hit some wrong notes that you don't even hear — maybe you brushed your finger against a key while changing from one chord to another, thus producing a low-velocity, short-duration note. And if you play MIDI guitar, I'm sure you'll know exactly what I'm talking about: little 'ghost' notes are a fact of life. But there's an easy way to get rid of them.

Insert the MIDI Event Filter into a MIDI track's FX bin and click the Notes button. Set the Velocity slider to around 20 and the Duration value to around 100, as in the screen above (a 32nd note has a duration of 120 ticks at the usual 960 ticks per quarter-note resolution). Then select the track and go Process / Apply MIDI Effects; all those useless little notes should disappear.

While you're at it, if your part didn't use any aftertouch, you might as well tick Chan Aft and Key Aft (if you're lucky enough to have a keyboard with polyphonic aftertouch!), as that will remove any aftertouch that might have been recorded accidentally by hitting a key too hard.

I hope this article will inspire you to check out Sonar 's MIDI effect options, as they can be extremely useful — and we haven't even touched on the arpeggiator or delay! Watch out for those in a future Sonar workshop. 

Buy Related Tutorial Videos