FastLED 3.9.15
Loading...
Searching...
No Matches

◆ calculateAWeightingGains()

void fl::audio::SpectralEqualizer::calculateAWeightingGains ( )
private

Calculate A-weighting gains.

Definition at line 78 of file spectral_equalizer.cpp.hpp.

78 {
79 // Use appropriate A-weighting curve based on number of bands
80 const float* curve = nullptr;
81 size curveSize = 0;
82
83 if (mConfig.numBands == 16) {
84 curve = A_WEIGHTING_16BAND;
85 curveSize = 16;
86 } else if (mConfig.numBands == 32) {
87 curve = A_WEIGHTING_32BAND;
88 curveSize = 32;
89 } else {
90 // Unsupported band count - use flat gains
91 FL_WARN("SpectralEqualizer: A-weighting not defined for " << mConfig.numBands
92 << " bands, using flat gains");
94 return;
95 }
96
97 // Copy A-weighting coefficients to gains
98 for (size i = 0; i < mConfig.numBands && i < curveSize; ++i) {
99 mGains[i] = curve[i];
100 }
101}
static constexpr float A_WEIGHTING_16BAND[16]
A-weighting coefficients for 16-band frequency analysis These approximate the A-weighting curve acros...
void calculateFlatGains()
Calculate flat gains (all 1.0)
static constexpr float A_WEIGHTING_32BAND[32]
A-weighting coefficients for 32-band frequency analysis.
SpectralEqualizerConfig mConfig
vector< float > mGains
Per-band gain multipliers.
#define FL_WARN(X)
Definition log.h:276

References A_WEIGHTING_16BAND, A_WEIGHTING_32BAND, calculateFlatGains(), FL_WARN, mConfig, and mGains.

Referenced by calculateGains().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: