The fx-collection
library combines basic classes from dsp-tool-box
to audio effects. The trance gate effect for example uses three modulation phases and a one pole filter from the dsp-tool-box
.
fx-collection
+-- dsp-tool-box
+-- googletest
Execute the following commands on cli.
git clone https://www.github.com/hansen-audio/fx-collection.git
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ../fx-collection
cmake --build .
CMake geneartors for all platforms.
-
Linux:
cmake -DCMAKE_BUILD_TYPE=[Debug|Release] ...
-
macOS:
cmake -GXcode ...
-
Windows 10:
cmake -G"Visual Studio 16 2019" -A x64 ...
Currently the following effects are avaiable:
- Trance Gate
All effect classes in this library contain a context
and static
methods in order to modify the context
. Like this the data and the algorithm are separated and allow a usage in a multithreaded environment.
For the trance gate for instance, use the trance_gate::create
method in order to get a valid context
. Afterwards use the static
methods like set_mix
to modify the context
.
auto tg_context = ha::fx_collection::trance_gate::create();
ha::fx_collection::trance_gate::set_mix(tg_context, 1.);
In order to process the trance gate for instance, use the process
method. This method takes an input audio_frame
and an output audio_frame
. The audio_frame
struct contains an alinged buffer of four channels.
auto tg_context = ha::fx_collection::trance_gate::create();
ha::fx_collection::trance_gate::set_mix(tg_context, 1.);
ha::fx_collection::audio_frame input; // Insert your sample here
ha::fx_collection::audio_frame output;
ha::fx_collection::trance_gate::process(tg_context, input, output);
// Use the output for further processing
Copyright 2021 Hansen Audio
Licensed under the MIT: https://mit-license.org/