Category Archives: Digital filters

Audio Toolkit: Optimization of the overdrive simulation

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.

Continue reading Audio Toolkit: Optimization of the overdrive simulation

Announcement: Audio TK 0.1.0

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.

Continue reading Announcement: Audio TK 0.1.0

Announcement: QtSimpleEQ 1.0 (QtVST)

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.

The code is available under the GPL2 on github and on Sourceforge.

The plugin can be download on the Sourceforge project page.

The plugin was tested with Tracktion 3 (Windows XP).

Snapshot:

QtSimpleEQ UI

Buy Me a Coffee!
Other Amount:
Your Email Address:

QtVST, Qt and QtSimpleEQ

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.

Buy Me a Coffee!
Other Amount:
Your Email Address:

Announcement: QtSimpleOverdrive 1.2 (QtVST)

I’m pleased to announce the 1.2 version of QtSimpleOverdrive.

Since last version, the GUI was changed, and mainly the automation has been fixed. As such, old parameters are no longer valid, sorry…

The code is now available under the GPL2 on github and on Sourceforge.

The plugin can be download on the Sourceforge project page.

Buy Me a Coffee!
Other Amount:
Your Email Address:

Announcement: QtSimpleOverdrive 1.0 (QtVST)

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).

Buy Me a Coffee!
Other Amount:
Your Email Address:

Electronic: The purpose of an oversampling filter

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.

Continue reading Electronic: The purpose of an oversampling filter

Electronic: Simulation of a simple overdrive

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.
Continue reading Electronic: Simulation of a simple overdrive