You are here

Sonar: Upsampling Plug-ins

Sonar Tips & Techniques
By Craig Anderton

Run your plug-ins at higher sample rates in Sonar.

The argument about whether people can tell the difference between the same audio played back at 44.1kHz and at a higher sample rate such as 96kHz has never really been resolved, although I’ve yet to meet anyone who can do so reliably under rigorous test conditions. However, under some circumstances, recording at a higher sample rate can give audibly superior sound quality. This isn’t a wine-tasting-type difference (“the sound is pert, yet unassuming”), but an obvious, audible effect.

However, the sample rate you work at can also make a difference with sounds generated ‘in the box’, for instance using a virtual instrument plug-in that synthesizes a sound, or distortion created by an amp simulator. In these cases, the basis for the improvement heard with high sample rates is eliminating ‘fold-over distortion’, otherwise known as ‘aliasing’. A digital system is only capable of accurately representing audio at frequencies lower than half the sampling rate: 22.05kHz, in a 44.1kHz project. If an algorithm within a plug-in tries to generate harmonic content above this ‘Nyquist limit’ — say, at 32kHz — then what is actually heard is not a 32kHz tone but the ‘aliasing’ created when this tone is ‘folded down’ below the Nyquist limit (to 12.1kHz, in this case). Aliasing thus appears within the audible range, but is harmonically unrelated to the original signal, and generally sounds ugly.

This ‘fold-down distortion’ can happen with synthesized waveforms that are rich in harmonics, as well as with non-linear processing. Although your amp-sim harmonics may be weak, if you’re applying 60dB of gain to create overdrive or distortion, harmonics can often be strong enough to cause audible aliasing. Synthesizer waveforms with sharp rise and fall times, like pulse waves, can also be problematic, and even limiters can cause issues.

However, not all plug-ins will exhibit these problems, for one of four reasons:

  • The audio coming out of them isn’t rich enough in harmonics to cause audible aliasing.
  • The plug-in itself can oversample, which simply means that as far as the plug-in is concerned, the sample rate is higher than that of the project. As a result, any fold-over distortion occurs outside the audio range.
  • The project sample rate is high enough to provide the same kind of environment as oversampling.
  • The plug-in designers have built appropriate anti-alias filtering in to the algorithms.

Many modern virtual instruments and amp sims oversample, and DAWs can handle higher sample rates, so you’d think that might be the end of it. Unfortunately, there can be limitations with oversampling and higher project sample rates.

First, recording an entire project at a higher sample rate stresses out your computer more, reduces the number of audio channels you can stream, and won’t allow you to run as many plug-ins. Second, oversampling requires more CPU power, so even if all your instruments are oversampling internally, you may not be able to use as many instances of them. Finally, although some instruments may perform 2x oversampling, that may still not be sufficient to eliminate aliasing on harmonically rich sources.

Furthermore, with plug-ins that oversample, the sound quality will be influenced by the quality of the sample-rate conversion algorithms. It’s not necessarily easy to perform high-quality sample-rate conversion: check out comparisons for various DAWs at https://src.infinitewave.ca (where, incidentally, Sonar rates as one of the best), and remember that the conversion algorithms for a plug-in might be more ‘relaxed’ than what’s used in a DAW.

Upsampling to higher sample rates can let you retain some of the CPU efficiencies of running at a lower sample rate while reaping the benefits of recording at higher sample rates.

Sonar’s Solution

Paradoxically, I found out the extent to which recording some virtual instruments at higher sample rates produced superior sound quality while creating audio examples for a panel discussion at New York’s New Music Seminar — where my plan was originally to show that higher sample rates didn’t make a difference! Oops. After that, whenever appropriate I got into the habit of upsampling prior to rendering (as described in the ‘Upsampling’ box, below), particularly when using amp simulators.

However, I then asked Noel Borthwick, Cakewalk’s Chief Technical Officer, whether it would be possible to automate the process so I didn’t have to export, import, close projects, create new projects, and so on. He came up with a practical implementation that upsamples when rendering (or bouncing, exporting or freezing), and which does so transparently, in the background. The only way you’ll notice upsampling is happening is that rendering takes a little longer than usual.

The way it works is that, when you choose to render, Sonar sample-rate converts the file to a higher sample rate, renders the audio, then downsamples it back as audio to the project sample rate. The process works with VST 2, VST 3 and DirectX plug-ins.

The FX button in a plug-in’s upper-left corner accesses a menu where you can choose Upsample On Render and/or Upsample On Playback for a given plug-in. This setting persists in all projects for all instances of that particular plug-in, meaning that if you find a plug-in that benefits from upsampling, you need designate it for upsampling only once.

Furthermore, there’s a global upsampling enable/bypass button in the Control Bar’s Mix module for plug-ins that already have upsampling enabled.

Upsampling is set on a per-plug-in basis, and there’s also a  Control Bar button that allows global enabling/disabling of all plug-ins that are set to upsample.Upsampling is set on a per-plug-in basis, and there’s also a Control Bar button that allows global enabling/disabling of all plug-ins that are set to upsample.

What’s The Catch?

This process begs the question of whether you lose the benefits of upsampling when you later convert the sample rate back down to 44.1kHz. The answer is that it shouldn’t: all properly designed sample-rate converters include an anti-alias filter precisely to avoid this problem, and, as we have seen, the sample-rate conversion within Sonar is of a high quality, so this shouldn’t happen. Note, though, that upsampling can’t fix audio that already has aliasing distortion; upsampling audio that already contains fold-over distortion to 96kHz will simply reproduce the existing distortion. Similarly, it’s unlikely that upsampling something recorded via a computer’s audio interface will yield any benefits in and of itself, because the audio interface itself will have already band-limited the signal’s frequency range.

Final Thoughts

Finally, it’s important to note that upsampling isn’t a panacea, though it shouldn’t be dismissed either. Even with synths that don’t oversample, upsampling may make no audible difference. However, sometimes synths that do oversample still benefit from upsampling; with some sounds, it can take 4x or even 8x oversampling to reproduce the sound accurately, and the improvement can be dramatic. And, in Sonar, you can set a plug-in to oversample at more than the default rate of 2x the project sample rate by editing Sonar’s AUD.INI file. For details on how to do this, consult Sonar’s help files on upsampling.

Upsampling In Older Versions Of Sonar

Selecting BWF import and export simplifies upsampling if you don’t have June 2015 or a later version of Sonar.Selecting BWF import and export simplifies upsampling if you don’t have June 2015 or a later version of Sonar.

For those using a version of Sonar older than June 2015, here’s how to obtain the same results as Upsample On Render, which was introduced in October 2015 (unfortunately Upsample On Playback is not available on older versions). We’ll assume a 44.1 kHz project sampling rate.

For virtual instruments or audio tracks (such as a track being processed by an amp sim):

1. Save the virtual instrument or amp sim preset so you can call it up in step 5.

2. Slip-edit the MIDI clip driving the virtual instrument, or the audio clip being processed by the amp sim, so that it starts at the beginning of the project.

3. Export the MIDI or audio clip, then close the existing project.

4. Create a new project at a higher sample rate such as 88.2 or 96 kHz.

5. Insert the virtual instrument or amp sim you used previously, and then load its preset.

6. Import either the MIDI or audio clip.

7. Select All, then choose Tracks / Bounce To Track(s). You now have an audio track with either the virtual instrument or amp sim sound, rendered at the higher sample rate.

8. Export the audio track, then close the new project.

9. Open the original project and import the rendered audio track. Sonar will automatically sample-rate convert it to the original project’s 44.1kHz sample rate.

Note that for audio tracks, you can omit step 2 if, under Edit / Preferences / File / Audio Data, you tick ‘Always Import Broadcast Waves At Their Timestamp’ and ‘Export Broadcast Waves By Default’ prior to exporting or importing any files. A Broadcast Wave File time-stamps the audio so it imports to the correct place on the timeline.

Published September 2016