DSPark 1.6.1
Header-only audio DSP framework in pure C++20 — zero dependencies
Loading...
Searching...
No Matches
LadderFilter.h File Reference

Moog-style 4-pole resonant ladder filter (TPT, zero-delay feedback). More...

#include "DspMath.h"
#include "AudioSpec.h"
#include "AudioBuffer.h"
#include "DenormalGuard.h"
#include <algorithm>
#include <array>
#include <atomic>
#include <cmath>
Include dependency graph for LadderFilter.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  dspark::LadderFilter< T >
 4-pole resonant ladder filter (Moog topology, TPT discretization). More...
 
struct  dspark::LadderFilter< T >::ChannelState
 

Namespaces

namespace  dspark
 Main namespace for the DSPark framework.
 

Detailed Description

Moog-style 4-pole resonant ladder filter (TPT, zero-delay feedback).

Four cascaded TPT one-pole stages (Zavalishin) with the global feedback loop resolved analytically per sample - no unit delay in the loop, so cutoff and resonance match the analog prototype at the prewarped frequency.

Threading: parameter setters/getters are lock-free atomics (any thread). prepare/reset are setup-time; processBlock/processSample belong to the owning audio thread. 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 LadderFilter.h.