|
DSPark 1.6.1
Header-only audio DSP framework in pure C++20 — zero dependencies
|
Multi-band parametric equalizer with Minimum and Linear Phase modes. More...
#include "Filters.h"#include "../Core/AudioSpec.h"#include "../Core/AudioBuffer.h"#include "../Core/Biquad.h"#include "../Core/DenormalGuard.h"#include "../Core/DspMath.h"#include "../Core/FFT.h"#include "../Core/StateBlob.h"#include <algorithm>#include <array>#include <atomic>#include <cmath>#include <cstddef>#include <cstdint>#include <cstdio>#include <memory>#include <vector>

Go to the source code of this file.
Classes | |
| class | dspark::Equalizer< T, MaxBands > |
| Parametric multi-band EQ using cascaded biquads or FFT overlap-save convolution. More... | |
| struct | dspark::Equalizer< T, MaxBands >::BandConfig |
| Full configuration for a single EQ band. More... | |
Namespaces | |
| namespace | dspark |
| Main namespace for the DSPark framework. | |
Multi-band parametric equalizer with Minimum and Linear Phase modes.
Combines multiple FilterEngine instances into a single processor. Supports up to MaxBands simultaneous filter bands. Lock-free parameter updates and zero memory allocations in the audio thread (the linear-phase engine, including its recompute scratch, is fully pre-allocated in prepare()).
Threading: prepare() belongs to the setup thread (allocates; never call it concurrently with processing). processBlock()/processSample()/reset() belong to the audio thread. Setters are atomic publications consumed at the next block (or next processSample() call); band configs follow the single-writer pattern (one control thread). Non-finite band fields are replaced with the band's current values. getMagnitudeForFrequencyArray() and getBandConfig() are unsynchronized analysis/UI reads.
Dependencies: Filters.h (FilterEngine), AudioSpec.h, AudioBuffer.h, Biquad.h, DenormalGuard.h, DspMath.h, FFT.h, StateBlob.h.
Definition in file Equalizer.h.