FastLED 3.9.15
Loading...
Searching...
No Matches
equalizer.h File Reference
+ 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

struct  fl::audio::detector::Equalizer
 Snapshot of equalizer state, passed to onEqualizer callbacks. More...
 
struct  fl::audio::detector::EqualizerConfig
 Configuration for the equalizer detector. More...
 
class  fl::audio::detector::EqualizerDetector
 WLED-style equalizer detector that provides a 16-bin frequency spectrum normalized to 0.0-1.0, plus convenience bass/mid/treble/volume getters. More...
 

Namespaces

namespace  fl
 Base definition for an LED controller.
 
namespace  fl::audio
 
namespace  fl::audio::detector
 

Enumerations

enum class  fl::audio::detector::FFTScalingMode : u8 { fl::audio::detector::None , fl::audio::detector::SquareRoot , fl::audio::detector::Logarithmic , fl::audio::detector::Linear }
 FFT bin scaling mode applied before per-bin normalization. More...
 

Class Documentation

◆ fl::audio::detector::EqualizerConfig

struct fl::audio::detector::EqualizerConfig
Class Members
EqualizationCurve curve = EqualizationCurve::Flat Spectral equalization curve applied to FFT bins before normalization.
float maxFreq = 5120.0f High end of spectrum (Hz)
float minFreq = 90.0f Low end of spectrum (Hz). Must be >= FFT bin width (sampleRate/fftSize, e.g. 86 Hz at 44100/512) to ensure bin 0 receives data.
float normAttack = 0.001f Normalization attack time (seconds)
float normDecay = 4.0f Normalization decay time (seconds)
float outputAttack = 0.0f Output smoothing with separate attack/decay (dynamics limiter).

When outputAttack > 0 AND outputDecay > 0, uses AttackDecayFilter instead of ExponentialSmoother for per-bin output smoothing. WLED-MM uses attack ~24-50ms, decay ~250-300ms. Output attack time (seconds). 0 = use smoothing tau.

float outputDecay = 0.0f Output decay time (seconds). 0 = use smoothing tau.
FFTScalingMode scalingMode = FFTScalingMode::None FFT bin scaling mode applied to raw magnitudes before normalization.
float silenceThreshold = 10.0f Raw RMS threshold for silence detection.
float smoothing = 0.05f Bin temporal smoothing (ExponentialSmoother tau, used as attack)