Your one-stop shop for JUCE modules, tools, assets and resources
dynamic equalizer plugin
ZL Equalizer is an equalizer plugin.
Please make sure Clang (AppleClang 16+ or LLVM/Clang 17+), cmake (minimum 3.25), ninja are installed and configured on your OS.
On Windows (with Intel chips), you may install Intel® Integrated Performance Primitives and set its path as an environment variable IPP_DIR. It is not a hard requirement as KFR has already been used for SIMD/DFT acceleration.
On Linux, you can install the remaining dependencies with the following command:
sudo apt-get update && sudo apt install libasound2-dev libx11-dev libxinerama-dev libxext-dev libfreetype-dev libfontconfig1-dev libwebkit2gtk-4.1-dev libglu1-mesa-dev
Once you have set up the environment, you can clone the ZL Equalizer code, populate all submodules, then configure & build the code. Please set:
ZL_JUCE_FORMATS as a list of formats that you want, e.g., "VST3;LV2".
ZL_EQ_BAND_NUM as the number of bands, default 24 bands
ZL_EQ_BAND_NUM may NOT be compatible with each other.KFR_ARCHS as a list of SIMD instruction sets you want to dispatch
"sse2;avx;avx2"."neon64"."avx".avx512 even if it is supported by your CPU.LLVM/Clang.
-DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++.-DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl.git clone https://github.com/ZL-Audio/ZLEqualizer
cd ZLEqualizer
git submodule update --init --recursive
cmake -B Builds -G Ninja -DCMAKE_BUILD_TYPE=Release -DKFR_ENABLE_MULTIARCH=ON -DKFR_ARCHS="sse2;avx;avx2" -DZL_JUCE_FORMATS="VST3;LV2" -DZL_EQ_BAND_NUM=24 .
cmake --build Builds --config Release
After building, the plugins should have been copied to the corresponding folders. If you want to disable the copy process, you can pass -DZL_JUCE_COPY_PLUGIN=FALSE, find the binary folders under Builds/ZLEqualizer_artefacts/Release and copy them manually.
ZL Equalizer is licensed under AGPLv3, as found in the LICENSE.md file. However, the logo of ZL Audio and the logo of ZL Equalizer are not covered by this license.
Copyright (c) 2023 - zsliu98
JUCE framework from JUCE
JUCE template from pamplejuce
inter by The Inter Project Authors
Vicanek, Martin. Matched One-Pole Digital Shelving Filters. (2019).
Vicanek, Martin. Matched Second Order Digital Filters. (2016).
Redmon, Nigel. Cascading filters. (2016).
Wishnick, Aaron. Time-Varying Filters for Musical Applications. DAFx. (2014).
Moler, Cleve. Makima Piecewise Cubic Interpolation. MathWorks Blogs. (2019).