1
0
2023-12-03 20:49:49 +00:00
2023-01-05 13:24:37 +00:00
2022-06-12 00:05:04 +01:00
2023-12-03 20:49:49 +00:00
2022-06-12 00:05:04 +01:00
2023-12-03 20:49:49 +00:00
2023-01-05 13:24:37 +00:00
2023-12-03 20:49:49 +00:00
2023-12-03 20:49:49 +00:00
2023-12-03 20:49:49 +00:00

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
Signalsmith Basics - a collection of simple effects implemented in C++
Readme 540 KiB
Languages
C++ 99.1%
CMake 0.6%
C 0.3%