Audio Toolkit is now almost ready for its first stable release. Its content will now move toward more advanced DSP algorithms (zero delay filters, amplifiers).
It’s time for a new release of the toolkit. Much has been done in terms of basic filters, but also to simplify usage (static and shared libraries are compiled, no need to reset the pipeline before calling process…).
I’ve explained in earlier posts how to simulate a simple overdrive circuit. I’ve also explained how I implemented this in QtVST (and yes, I should have added labels on those images!), which was more or less the predecessor of Audio TK.
The main problem with simulating non linear circuits is that it costs a lot. Let’s see if I can improve the timings a little bit.
I’m pleased to announce the release of my first VST plugin (Windows 32bits), based on the simple overdrive prototype.
It is a mono filter, with an oversampling of 2 to 32, based on polyphase filters, and the undersampling is done after an 8th order Butterworth lowpass filter with a cut frequency of 22kHz.
The source code will be available (under the GPL) in the future if there is interest in the plugin and its support. The exact way it works will be explained in a future blog post.
The audio plugin is available on Sourceforge: https://sourceforge.net/projects/qtvst/files/QtSimpleOverdrive/
If you find any issue, please submit it on Github: https://github.com/mbrucher/qtvst
Please note that the oversampling can be quite CPU intensive (on my laptop, an Intel Core2 T7200, using an oversampling of 4 at 96kHz uses the full power of one core).
There are some effects that are simpler than other. Digital ones are generally easier than analog ones, and purely digital filter are also easier than digitally-transformed analog ones. Linear filters such as passband, cutband, … are easy to digitally design, chorus can be achieved through some spectral computations, delay and reverbation are computationnally expensive but easy to code.
It said that analog devices have a unique sound that digital devices cannot achieve. In fact, much is due to the simplications that occur when digitizing an analog device. One of the most blatant examples is the overdrive, which I took from Simulanalog.