|
DSPark 1.6.1
Header-only audio DSP framework in pure C++20 — zero dependencies
|
Topology-Preserving Transform (TPT) State Variable Filter. More...
#include "DspMath.h"#include "AudioSpec.h"#include "AudioBuffer.h"#include "DenormalGuard.h"#include <algorithm>#include <array>#include <cmath>

Go to the source code of this file.
Classes | |
| class | dspark::StateVariableFilter< T > |
| TPT State Variable Filter with simultaneous multi-output. More... | |
| struct | dspark::StateVariableFilter< T >::MultiOutput |
| Result struct for simultaneous multi-output processing. More... | |
| struct | dspark::StateVariableFilter< T >::ChannelState |
Namespaces | |
| namespace | dspark |
| Main namespace for the DSPark framework. | |
Topology-Preserving Transform (TPT) State Variable Filter.
A 2nd-order multimode filter based on the Zavalishin/SVF topology. Produces lowpass, highpass, bandpass, notch, allpass, bell, low-shelf, and high-shelf outputs - all from the same structure, often simultaneously.
This is the fundamental building block for modular filter design. Unlike cascaded biquads, the SVF:
Three levels of API complexity:
svf.setCutoff(1000); svf.setMode(LP); svf.processBlock(buf);auto [lp,hp,bp] = svf.processMultiOutput(x, ch);References:
Threading: owner-managed. prepare/reset are setup-time; all setters and process calls belong to the owning audio thread (see the class note). processBlock installs a DenormalGuard; per-sample callers are expected to guard their own callback (framework convention) - resonant tails decay through the denormal range otherwise.
Dependencies: DspMath.h, AudioSpec.h, AudioBuffer.h, DenormalGuard.h.
Definition in file StateVariableFilter.h.