FastLED 3.9.15
Loading...
Searching...
No Matches
fl::audio::detector::EnergyAnalyzer Class Reference

Detailed Description

Definition at line 12 of file energy_analyzer.h.

#include <energy_analyzer.h>

+ Inheritance diagram for fl::audio::detector::EnergyAnalyzer:
+ Collaboration diagram for fl::audio::detector::EnergyAnalyzer:

Public Member Functions

 EnergyAnalyzer () FL_NOEXCEPT
 
 ~EnergyAnalyzer () FL_NOEXCEPT override
 
void fireCallbacks () override
 
float getAverageEnergy () const
 
float getMaxEnergy () const
 
float getMinEnergy () const
 
const char * getName () const override
 
float getNormalizedRMS () const
 
float getPeak () const
 
float getRMS () const
 
bool needsFFT () const override
 
void reset () override
 
void setHistorySize (int size)
 
void setPeakDecay (float decay)
 
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
 
virtual void setSampleRate (int) FL_NOEXCEPT
 

Public Attributes

function_list< void(float avgEnergy)> onAverageEnergy
 
function_list< void(float rms)> onEnergy
 
function_list< void(float normalizedRms)> onNormalizedEnergy
 
function_list< void(float peak)> onPeak
 

Private Member Functions

void updateAverage (float energy)
 
void updatePeak (float energy, u32 timestamp)
 

Private Attributes

float mAverageEnergy
 
float mCurrentRMS
 
MovingAverage< float, 0 > mEnergyAvg {43}
 
u32 mLastPeakTime
 
float mMaxEnergy
 
float mMinEnergy
 
float mNormalizedRMS = 0.0f
 
float mPeak
 
float mPeakDecay
 
AttackDecayFilter< float > mRunningMaxFilter {0.001f, 2.0f, 1.0f}
 

Static Private Attributes

static constexpr u32 PEAK_HOLD_MS = 50
 

The documentation for this class was generated from the following files: