Spread the love

So what is this Naïve Oscillator? I’m guessing you don’t know the term
(I didn’t know what it was for some time). Well it’s all to do with Aliasing, and the frequency limitations that apply to digital audio.
A “normal” oscillator in Synthedit is what is called “bandlimited” to prevent it producing frequencies above the Nyquist limit. The Naïve oscillator is not bandlimited and thus will produce aliasing (and lots of it!).
Note: The naive oscillator is also not very well optimised, so it’s a bit higher on CPU usage than the normal Oscillator module.

The difference between the Naive and normal stock oscillators.

Using the stock Frequency Analyser gives a good demonstration of the difference between the two oscillators.
The top oscillator is bandlimited, so has anti-aliasing built in.
Both Oscillators are generating a sawtooth at just over 1kHz. There is a noticeable amount of distortion and extra non-harmonically related frequencies generated at this frequency.
Notice all the extra frequencies below the 1kHz fundamental coming out of the Naïve Oscillator. What is happening here is that lots of high frequencies are being created by the sawtooth, but due to the limitations of the audio in Synthedit these higher frequencies are actually being folded back on themselves above the maximum audio frequency and appearing as spurious lower frequencies which are not harmonically related to the fundamental frequency.
You can see where the Bandlimiting starts to take affect; the level of the harmonics starts to dip, then suddenly cuts off, compare this with the Naïve Oscillator where the harmonics just keep on going…

Increase the Oscillator frequency to 8kHz and things will get even worse:

This diagram makes things a little clearer, the red dashed line shows the harmonics that have been “folded back” into lower frequencies, being above the maximum our digital audio can handle they aren’t ignored, but instead turned into an ugly sounding inharmonic mess.

Aliasing  and "folding back"

If you want to find out more try these articles:
https://www.metafunction.co.uk/post/all-about-digital-oscillators-part-1-aliasing-foldover
https://www.metafunction.co.uk/post/all-about-digital-oscillators-part-2-blits-bleps