Tutorials » Spitfire Audio » The sustain pedal

In this blog I'll be looking at the sustain pedal - why some Spitfire products have a problem with it, and how this can be fixed.

The sustain pedal and your DAW

If you're a pianist, you'll be familiar with the sustain pedal, but here's a quick crash course for those new to music (or those not familiar with how it translates to use in your DAW). The sustain pedal is a [physical or digital] 'pedal' that can be held down in order to sustain notes without having to hold down the actual keys. For pianists, this is used so that they can play a series of notes and release their fingers from the keys without the notes coming to a stop. I won't go into advanced concepts, or cover the other piano pedals, but it generally 'sustains' in two ways -

  1. Any notes played while the pedal is already pressed will sustain until it is released,
  2. Any notes already held while the pedal is pressed will also sustain until it is released.

Your DAW uses a specific continuous controller (CC) to denote whether the pedal is down or up. The MIDI specifications define this as CC64. As with all specs, various manufacturers implement it slightly differently, but the basic idea is that when the value of CC64 is set to 63 or below it's considered up. When it's set to 64 or above, the pedal is considered down. Some hardware pedals switch between two values (ie 0 and 127, or 0 and 64) while others are continuous and blend from 0-127 depending on the position of the pedal. Your DAW can specify any value from 0 to 127:

In the picture above, the first three notes will not sustain, as they were pressed before the pedal (shown in the CC lane) was held down (>= 64). The second three notes will all sustain until the point that the pedal is up (< 64). The last three notes will all sustain (the 7th note was still held at the point when then pedal is pressed down).

Spitfire libraries and the sustain pedal

The sustain pedal can be a bit tricky to script. Conceptually, it's a simple idea - you sustain notes that were pressed when the pedal was down whilst you release notes that weren't. The tricky part is making this work with all-in-ones, and making advanced techniques such as legato work correctly. In general the sustain pedal is not supported in most Spitfire libraries. Whilst it works in many situations, the behaviour can sometimes be a little quirky (weird envelopes, missing release triggers, etc.) and does not work at all with legato instruments. I try to fix any reports I get of the pedal not functioning correctly, but it's just not possible to guarantee this when relying on a third party platform such as Kontakt.

So how do I make it work?

Have you got a new Spitfire library and the sustain pedal doesn't seem to be behaving as you'd hoped? Don't worry - that's the reason for this blog! We're going to [hopefully] make all Spitfire libraries (including legato instruments) work correctly with your sustain pedal (or DAW simulation of the pedal) using a simple Multiscript I've whipped up for Kontakt. So to start off with, download the Multiscript preset by clicking the icon below:

Once you've downloaded the NKP preset, you'll want to place it in the right folder on your PC. This differs depending on whether you're on a PC or a Mac. First completely close Kontakt, and then follow the instructions below based on your platform:

Windows PC

On a PC, you'll want to look inside your My Documents folder for a directory called Native Instruments. Inside this folder will be a further folder for each of your Native Instruments products. You'll want to then enter the Kontakt 4 or Kontakt 5 folder (depending on which version you use).

Inside this folder is another one called presets - enter into that one. Inside presets is a folder called multiscripts - open this one.

This is where you want to copy the NKP file you downloaded. To recap, that's
My Documents\Native Instruments\Kontakt {x}\presets\multiscripts.

Mac

On a Mac, you'll want to look inside your Documents folder for a directory called Native Instruments. Inside this folder will be a further folder for each of your Native Instruments products. You'll want to then enter the Kontakt 4 or Kontakt 5 folder (depending on which version you use).

Inside this folder is another one called presets - enter into that one. Inside presets is a folder called multiscripts - open this one.

This is where you want to copy the NKP file you downloaded. To recap, that's
Documents/Native Instruments/Kontakt {x}/presets/multiscripts.

Script installed. How do I use it?

Using the multiscript is easy. First, click the Multiscript button in the Kontakt toolbar. It's the one that looks like a little papyrus script ( ). Clicking this will open the Multiscript window, which allows us to load the preset. Click the Preset option, find User -> Spitfire Sustain Pedal Support and give it a click to load it. You should now see the Spitfire Sustain Pedal support script:

The script is now fully operation. Try holding down the sustain pedal and playing some keys. You should notice that the Spitfire instruments in this instance of Kontakt sustain correctly. You can load this script into any instance of Kontakt that is hosting a Spitfire instrument to correct pedal behaviour. It shouldn't affect any non-Spitfire instruments, but I haven't tested that extensively.

There are a few options:

  1. Ignore pedal CC tells Kontakt that it should prevent sending the actual pedal CC to any instruments. This is off by default, but you can turn it on in case the pedal CC is causing problems in the instruments,
  2. Keep rel. velocity makes sure that the instrument receives the correct release velocity. Defaults to on, but if you're experiencing problems with an instrument try toggling this on or off,
  3. Pedal CC# is the CC you're using for the pedal. This defaults to CC64, but can be customised in case you're using a different CC.
To wrap things up

With the script above you should now be able to use the pedal in any Spitfire library, with any articulation or patch. Note that it will likely also fix problems you're having with any other libraries that do not support the sustain pedal. Feel free to contact me if you have any problems and I'll see if I can help.

© 2021 Blake Robinson Synthetic Orchestra

All original content available from this site © 2021 Synthetic Orchestra™ Ltd. All Rights Reserved. Orchestrations, Covers, Remixes & Trademarks are hosted externally and © their respective copyright owners.