QTSIMPLEOVERDRIVE
How it works and how it behaves
Block Diagram
The diagram is simple and straigthforward.
QtSimpleOverdrive and oversampling A sine sweep is fed through the plugin,
and is displayed as a spectrogram. The first spectrogram is the spectrogram
of the input. The second one is the spectrogram of
the distorted output.
Oversampling and spectral content The oversampling has a clear impact on
the spectral content. A small oversampling will induce a lot of
aliasing, even with an efficient low pass over- and undersampling filters
2x Oversampling
The original signal and the distorted content can be selected, but the alias is very important
8x Oversampling
Only the end of the sine sweep content has alias, but at lower than the 2x oversampling.
32x Oversampling
The high end of the sinesweep content shows even less aliasing, although it still has a lot of background noise.
The alias of the decimation can be seen, but it is low enough in the audible spectrum.
QtSimpleOverdrive and profiling On my laptop with Ubuntu, the test case
(2 millions samples for a sin sweep at 96kHz) takes 17s with a 2x oversampling, 20s for a 8x oversampling and finally 54s for an 32x oversampling. On Windows, those timings are respectively 14s, 22s and 63s.
Profil
The main culprit is the overdrive algorithm
The exponential function (the diode transfer function) represents 45%.
Conclusion
The 8x oversampling is the best compromise between performance and quality.
A 32x oversampling can be used for offline rendering.
Side note: the original sampling frequency should be at least 88.2kHz or 96kHz.