Oversampling rant

January 17, 2013

This post is a copy&paste from a comment I posted on KVR where someone was arguing that 384kHz oversampling is a prerequisite for acceptably low levels of aliasing:

Oversampling a linear process (EQ) offers no benefit in terms of aliasing, because there isn’t any aliasing to get rid of.

Oversampling a time-variant process up to 2x is worthwhile, assuming an audio-rate (or lower) modulator, because you then have two spectra worth of audio content convolved together (spectrally speaking); I usually include dynamics in this category, since if your sidechain signal is generating a gain reduction signal that contains faster-than-audio-rate content, you are concerning yourself with compression-as-distortion, rather than compression as dynamics. I’ll take the point that the switch between attack and release might fall into this category, but as a designer of dynamics, we’d want to make that transition as smooth as possible. Or things would sound bad (e.g. Gate chatter, for instance).

Oversampling distortion is one easy way to ‘improve’ the sound of a naive distortion. Or even to add a little finesse to a good one. But of course, the degree of oversampling that’s beneficial is a function of the nature of the distortion, and how hard you hit it.
I’d like to speculate that most worthwhile, modern distortions are designed around an implicit oversampling-type process; runge-kutta being a good, topical example. But there are plenty of naive distortions around, and without oversampling, they sound terrible. I don’t know how it’s still a thing, but seemingly it is. I suppose the key factor is that aliasing is ALWAYS going to be a LOT quieter than signal, so it’s going to remain “grab the spec analyser” kind of problem. (Except in Massive, where the aliasing is what makes it good)

Rant over.

Dave.

2 Responses to “Oversampling rant”

  1. Just to add to your comments: 2X oversampling of a time varying process is enough to prevent aliasing, assuming that the time variation is amplitude modulation. AM only generates a single sum and a single difference sideband.

    When you get into frequency or phase modulation, you can get sidebands at multiples of the sum and difference frequencies, and these can alias at 2X oversampling. This is theoretically an issue with delay modulation, as this can be viewed as frequency modulation. From a practical point of view, this is probably not something to worry about with your typical low & slow delay modulation algorithms.

  2. Hi Dave,

    this is an interesting subject, allow me to add a few words.

    The pure amplification part of a dynamics device (“gain-cell”) theoretically doesn’t need more than a double bandwidth (and proper src) to avoid the specific multiplication aliasing over the full target bandwidth.

    But this is still a matter of specification. An economic approach could define the bandwidth of interest only up to say, 16kHz. That is, one can decide than aliases above 16kHz can be tolerated. In this case, it is sufficient to bandlimit the control signal only to say, ~6kHz (in a 44.1kHz rate environment).

    Of course, some applications need fast reaction times and the 6kHz bandwidth (just an example) is not sufficient for some cases. But there is mathematically no way around oversampling if one wants to offer very fast and reasonably well sounding dynamics processing.

    All this math is only true if both the audio path and control signal get bandlimited before they reach the gain cell! Most “brute force” oversampled dynamics do not seem to do this and end up multiplying two very wide band signals, still producing heavy aliasing in the final output. More clearly, the oversampled audio signal will always contain (arguably irrelevant) content above the original Nyquist frequency. But the control signal itself will ask for an incredibly wide bandwidth. The RMS, thresholding, A/R filters and the common additional trickery are pretty heavy non-linear processes in a cascade. The distortion produced by first order A/R filters alone is nearly as severe as clipping (I was shocked to learn this).

    It is not sufficient to oversample the gain cell 2x, one must prevent aliasing inside the control path as well and band limit the control path before it multiplies the audio signal.

    Also, gain control devices base all their assumptions on the shape of the audio waveform. The digital data delivered by the DAW is not the audio waveform. One can either reduce the bandwidth of the control path (i.e. make it very slow). But there is no way around 4-8x oversampling (of the control circuit) in order to get enough data to achieve the typical speeds analogue processing can deliver.

    In short. If one want very fast and accurate dynamics processing, there is simply no way around higher processing rates. I personally wouldn’t call it oversampling, it’s sampled “good enough” at best. ;)

    @Sean: That’s interesting, I never looked into the details of phase and frequency modulation. Harvesting wikipedia right now ;)

Leave a Reply