Matthieu Brucher has updated Audio ToolKit to version 2.2.0 with the major introduction of vectorized filters. This means that some filters (EQ for now) can use vectorization for maximum performance. More filters will be introduced later as well as the Python support. Vector lanes of size 4 and 8 are supported as well as instruction sets from SSE2 to AVX512.
This is also the first major release that officially supports the JUCE framework. This means that ATK can be added as modules (directly source code without requiring any binaries) in the Projucer. The caveat is that SIMD filters are not available in this configuration due to the requirement for CMake support to build the SIMD filters.
Changes:
- Introduced SIMD filters with libsimdpp.
- Refactored EQ filters to work with SIMD filters.
- Added module files for JUCE Projucer.
- Added a Gain Max Compressor filter with wrappers.
- Added a dry run call on BaseFilter to setup maximum sizes on a pipeline.
- Added a IIR TDF2 (Transposed Direct Form 2) filter implementation (no Python wrappers for now).
- Fixed max gain reduction in the expanders to use 20 log10 instead of 10 log10 (as it is applied to the amplitude and not power).
- Fix a bug in OutCircularPointerFilter with offset handling.
- Fix a bug in RIAA inverse filters.