The dsp-tool-box
contains very basic DSP algorithms. Algorithms can operate on one sample at a time. Like this an update of a parameter can be done any time while processing.
dsp-tool-box
+-- googletest
Execute the following commands on cli.
git clone https://www.github.com/hansen-audio/dsp-tool-box.git
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ../dsp-tool-box
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 algorithms are available:
- one pole filter
- modulation phase
All algorithm 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.
Use the create
method of the phase
class in order to get a valid context
. Afterwards use the static
methods like set_tempo
to modify the context
.
auto phase_context = ha::dtb::modulation::phase::create();
ha::dtb::modulation::phase::set_tempo(phase_context, 120.);
After setting all parameters of the context
the phase
can advance
a value
by the specified amount of samples, in this case 32
. The overflow
boolean flags an overflow.
real value = 0;
bool overflow = ha::dtb::modulation::phase::advance(context const& cx, mut_real& value, 32);
...
Copyright 2021 Hansen Audio
Licensed under the MIT: https://mit-license.org/