|
FastLED 3.9.15
|
WLED-style equalizer detector that provides a 16-bin frequency spectrum normalized to 0.0-1.0, plus convenience bass/mid/treble/volume getters.
Unlike FrequencyBands (which gives raw float band energies), this detector outputs pre-normalized values suitable for direct LED mapping.
Usage:
Definition at line 83 of file equalizer.h.
#include <equalizer.h>
Inheritance diagram for fl::audio::detector::EqualizerDetector:
Collaboration diagram for fl::audio::detector::EqualizerDetector:Public Member Functions | |
| EqualizerDetector () FL_NOEXCEPT | |
| ~EqualizerDetector () FL_NOEXCEPT override | |
| void | configure (const EqualizerConfig &config) |
| Reconfigure equalizer tuning parameters at runtime. | |
| void | fireCallbacks () override |
| float | getAutoGain () const |
| float | getBass () const |
| float | getBin (int index) const |
| const float * | getBins () const |
| float | getDominantFreqHz () const |
| float | getDominantMagnitude () const |
| bool | getIsSilence () const |
| float | getMid () const |
| const char * | getName () const override |
| float | getTreble () const |
| float | getVolume () const |
| float | getVolumeDb () const |
| float | getVolumeNormFactor () const |
| float | getZcf () const |
| bool | needsFFT () const override |
| void | reset () override |
| void | setMicProfile (MicProfile profile) |
| Set microphone correction profile (propagated from Processor). | |
| void | setSampleRate (int rate) override |
| void | update (shared_ptr< Context > context) override |
Public Member Functions inherited from fl::audio::Detector | |
| virtual | ~Detector () FL_NOEXCEPT=default |
| virtual bool | needsFFTHistory () const FL_NOEXCEPT |
Public Attributes | |
| function_list< void(const Equalizer &)> | onEqualizer |
Static Public Attributes | |
| static constexpr int | kNumBins = 16 |
Private Member Functions | |
| void | computeBinCenters (float *out) const |
| void | recomputePinkNoiseGains () |
Private Attributes | |
| float | mBass = 0 |
| vector< AttackDecayFilter< float > > | mBinMaxFilters |
| vector< AttackDecayFilter< float > > | mBinOutputFilters |
| float | mBins [kNumBins] = {} |
| vector< ExponentialSmoother< float > > | mBinSmoothers |
| EqualizerConfig | mConfig |
| MicProfile | mCurrentMicProfile = MicProfile::None |
| float | mDominantFreqHz = 0.0f |
| float | mDominantMagnitude = 0.0f |
| float | mEqBuffer [kNumBins] = {} |
| float | mGain = 1.0f |
| bool | mHasMicCorrection = false |
| bool | mIsSilence = false |
| float | mMicGains [kNumBins] = {} |
| float | mMid = 0 |
| float | mPinkNoiseGains [kNumBins] = {} |
| shared_ptr< const fft::Bins > | mRetainedFFT |
| int | mSampleRate = 44100 |
| SpectralEqualizer | mSpectralEq |
| float | mTreble = 0 |
| bool | mUseAttackDecaySmoothing = false |
| float | mVolume = 0 |
| float | mVolumeDb = -100.0f |
| AttackDecayFilter< float > | mVolumeMax {0.001f, 4.0f, 0.0f} |
| float | mVolumeNormFactor = 1.0f |
| float | mZcf = 0 |
Static Private Attributes | |
| static constexpr float | kFFTDownscale = 0.40f |