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.
A long time ago, I started implementing audio filters with a Qt GUI. I also started other pet projects in the same area, but I didn’t have a proper audio support library in C++ for that. Also Qt plugins are no longer an option (for me), I still hope to implement new filters in the future.
I’m pleased to announce the 1.0 version of QtSimpleEQ, a plugin with one low-pass, two peak and one high pass second-order filters. Nothing fancy in the algorithms, it’s mainly another show case for Qt VST plugins.
Today, I wanted to announce my new plugin, a 4-bands EQ, but when I started a test with pyVST, I encountered strange things:
The first is my fault, as the code of the EQ disappeared from my Git repository, so I have to code it again. Mainly it is just plugin the correct actions between the filters and the GUI.
The second is an error at the end of the test. I’ve updated my Qt version from 4.7.1 to 4.7.4, and since this update (or perhaps since I updated to Python 2.7 for pyVST), I found that even a recompiled QtSimpleOverdrive has the same behavior. It did not when I released it. It seems that Qt is complaining about events that are bounced between different threads, but the actual error message is more cryptic, and impossible to debug the application at this point.
I hope to fix these mistakes this month, I really hope I can get QtVST to work again.
A few months ago, I’ve posted a note on an overdrive. The main issue of this kind of non-linear filter is aliasing, a process that adds digital acoustic content. The best way to solve the issue is to oversample the input before processing the signal.
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.