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.
Enters Audio ToolKit. It is loosely inspired by ITK and VTK, with a pipeline concept that should allow for composition and extensibility. The first official release supports my previous example with a simple overdrive.
It is currently only available on OS X, as it is now my main development platform. It should be quite easy to compile ATK 0.1.0 on Windows and Linux once the FFT filter based on Accelerate can support other FFT implementations (which is a goal for 0.2.0).
Download link: ATK 0.1.0
Changelog:
0.1.0
* Butterworth low pass filter
* Python wrappers for Distortion filters
0.0.3
* Audio files input/output filters based on libsndfile
* Input and output filters based on pointers
* Python wrappers for Core filters
* Python wrappers for EQ filters
* Python wrappers for Tools filters
0.0.2
* Middle Side separator filter for stereo channels
* Sinus generator filter for Mock tests
* Frequency tester based on Accelerate FFT for Mock tests
* Second order EQ filters
* Decimation filters
* Oversampling filters
* Basic Wav input/output filters
* Overdrive filter implementation
0.0.1
* Base filter with automatic type conversion to help assemble plugins with different processing types
* Mock filters for generating and checking some signals
* Pan filters with different laws
* 0 dB center, sin/cos taper, constant power
* -3 dB center, sin/cos taper, constant power
* 0 dB center, square-root taper, constant power
* -3 dB center, square-root taper, constant power
* -6 dB center, linear taper
* 0 dB center, balance control
* Volume filter, with gain input in dB and no dB
* Sum filter
“Qt plugins are no longer an option (for me)”
This is ambiguous, what do you mean?
Why didn’t you use fftw for the FFT?
Hi David!
I mean that the solution I used to create VST plugins with a Qt interface is not maintained anymore. I think I’ll try cockos library soon when I port the previous plugins to ATK.
As for the FFT, I used Accelerate because it was easier at the time. On git, the development version uses FFTW by default (and I will have to use FFT even more for my current FIR development).