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

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>
Include dependency graph for Equalizer.h:
This graph shows which files directly or indirectly include this file:

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.
 

Detailed Description

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.