|
DSPark 1.6.1
Header-only audio DSP framework in pure C++20 — zero dependencies
|
Envelope follower for real-time peak and RMS level metering. More...
#include "../Core/AudioBuffer.h"#include "../Core/AudioSpec.h"#include "../Core/DspMath.h"#include <algorithm>#include <array>#include <atomic>#include <cmath>#include <type_traits>

Go to the source code of this file.
Classes | |
| class | dspark::LevelFollower< T, MaxChannels > |
| Per-channel peak and RMS envelope follower with lock-free readout. More... | |
Namespaces | |
| namespace | dspark |
| Main namespace for the DSPark framework. | |
Envelope follower for real-time peak and RMS level metering.
Tracks per-channel peak and RMS levels with lock-free readout for UI metering. Peak uses an asymmetric attack/release one-pole; RMS uses a symmetric one-pole exponential integrator over the squared signal (a VU-style exponential window whose time constant equals the configured window time - not a rectangular moving average). A small constant offset keeps both recursions out of the subnormal range on decay tails; its equilibrium floor sits far below the -100 dB readout floor.
Threading:
Dependencies: AudioBuffer.h, AudioSpec.h, DspMath.h.
Definition in file LevelFollower.h.