Aliased wavetables - a problem?

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

I understand aliasing is in general an undesirable effect. For example using a "trivial" sawtooth oscillator without BLIT / BLEP or bandlimiting can produce frequencies which are not part of the harmonic series of the base note being played. These aliased freqs could even be below the fundamental or be DC.

However, here's an example I'm not so sure of: Let's say I take a wavetable in my synth:
Screenshot from 2024-02-06 14-27-04.png
And apply some non-linear processing in time domain, in this example a hard clipper
Screenshot from 2024-02-06 14-27-20.png
Now I do FFT to get this shaped wavetable into the spectral domain again. From here I operate like a normal bandlimited wavetable oscillator again: Bandlimit the waveform, i.e. zero out bins which would alias at the current freq, do iFFT and play this waveform back in my oscillators.

Now here's my point: Whatever the content of the spectral representation of the waveform is at this point, all it can ever contain are the fundamental + overtones, since it's basically a Fourier row to the wavetable (DFT of a periodic signal). For all we know, this table could have been generated in an additive / spectral bin editor by the user. So... what's the harm?

I see that the result should not be the exact same as doing the clipper in true analog domain and then recording it through an ADC and antialiasing filter pipeline. However the result is also not aliased like I described in the first paragraph, since albeit aliased, it can contain only "musical" overtones. This could for example never produce a DC freq.

So is this a kind of "musical aliasing"? Is it a valid approach? What am I missing? After all I'm doing waveshaping without ever touching an oversampler or anything. Maybe the harm comes from the fact that I still don't know how the spectrum folds down into the musical bins and hence leaves me without control over what's happening exactly?
You do not have the required permissions to view the files attached to this post.

Post

In your case aliasing is harmonic, because aliased partials are located at harmonic positions. Whether this is okay or not is largely a matter of taste and goals.

Post

This is no different than the problem with any wavetables. That harmonic content is baked into the table, and are harmonic until they alias. You would use your table to resample to different pitches, low notes will be fine, and high notes will alias more. My experiments were to generate a tone at 4-5khz (realistically the highest fundeental you'd need) and see if the aliasing is acceptable at that frequency.

Post

TheWaveWarden wrote: Tue Feb 06, 2024 1:51 pm I see that the result should not be the exact same as doing the clipper in true analog domain and then recording it through an ADC and antialiasing filter pipeline. However the result is also not aliased like I described in the first paragraph, since albeit aliased, it can contain only "musical" overtones. This could for example never produce a DC freq.
It can produce DC if either the waveform or the clipper isn't symmetrical, but otherwise you got it right: the results aren't quite the same as clipping in analog domain and band-limiting afterwards.. but any aliasing falls on top of the regular harmonics (or DC).

As Z1202 pointed out, whether this is "valid" is entirely a matter of taste. If you specifically want the harmonic series produced by an analog clipper, then you'd need something more complicated. If you don't care about that, then really anything you do with the contents of a wavetable will only ever result in harmonic partials (or DC), because that's all the wavetable can store and if the goal is simply to generate "sonically interesting" results, then go nuts.

Post Reply

Return to “DSP and Plugin Development”