Signalsmith Basics
A collection of basic effects, available as plugins and re-usable open-source C++ classes.
How to use
The main project page has details about the specific effects (and audio examples), but they are all quite similar to use:
// Limiter with maximum attack/lookahead of 100ms
signalsmith::basics::Limiter effect(100);
effect.configure(sampleRate, maxBlockSize, channels);
effect.configure(sampleRate, maxBlockSize, inputChannels, outputChannels);
Then when processing (all on the audio thread):
// clear buffers
effect.reset()
// Change parameters with assignment
effect.attackMs = 20;
// process a block
float **inputBuffers, **outputBuffers;
int blockSize;
effect.process(inputBuffers, outputBuffers, blockSize);
You can also inspect latency (effect.latencySamples()) and tail length (effect.tailSamples()).
Description
Languages
C++
99.1%
CMake
0.6%
C
0.3%