|
DSPark 1.6.1
Header-only audio DSP framework in pure C++20 — zero dependencies
|
Multi-mode cascaded biquad filter engine with real-time parameter smoothing. More...
#include "../Core/AudioBuffer.h"#include "../Core/AudioSpec.h"#include "../Core/Biquad.h"#include "../Core/DspMath.h"#include "../Core/Smoothers.h"#include "../Core/AnalogRandom.h"#include "../Core/DenormalGuard.h"#include "../Core/StateBlob.h"#include <algorithm>#include <array>#include <atomic>#include <cmath>#include <cstdint>#include <vector>

Go to the source code of this file.
Classes | |
| class | dspark::FilterEngine< T, MaxChannels > |
| Professional multi-mode filter with cascaded biquad stages. More... | |
| struct | dspark::FilterEngine< T, MaxChannels >::CascadeInfo |
| Per-stage Butterworth cascade layout for an LP/HP slope (for analysis). More... | |
| struct | dspark::FilterEngine< T, MaxChannels >::ButterworthCascade |
Namespaces | |
| namespace | dspark |
| Main namespace for the DSPark framework. | |
Multi-mode cascaded biquad filter engine with real-time parameter smoothing.
Supports all standard filter shapes (LP, HP, BP, Peak, Shelves, Notch, Tilt, AllPass) with configurable slopes from 6 to 48 dB/oct via cascaded biquad stages. Parameters are smoothed per-sample to prevent zipper noise.
Dependencies: Core/AudioBuffer.h, Core/AudioSpec.h, Core/Biquad.h, Core/DspMath.h, Core/Smoothers.h, Core/AnalogRandom.h, Core/DenormalGuard.h, Core/StateBlob.h.
Threading: prepare(), enableAnalogDrift() and setState() belong to the setup thread; processBlock()/processSample()/reset() to the audio thread. The remaining parameter setters are safe from any thread (relaxed atomics read once per block); non-finite setter values are ignored. The shape helpers (setLowPass()/setShape()/...) write several atomics non-atomically as a group: the audio thread may see the new topology with the previous targets for one block (smoothed, click-free).
Definition in file Filters.h.