FastLED 3.9.15
Loading...
Searching...
No Matches
fl::AudioReactive Class Reference

Detailed Description

Definition at line 61 of file audio_reactive.h.

#include <audio_reactive.h>

+ Collaboration diagram for fl::AudioReactive:

Public Member Functions

 AudioReactive ()
 
 ~AudioReactive ()
 
void begin (const AudioReactiveConfig &config=AudioReactiveConfig{})
 
fl::u8 frequencyToScale255 (fl::u8 binIndex) const
 
float getBass () const
 
float getBassEnergy () const
 
const AudioDatagetData () const
 
float getMid () const
 
float getMidEnergy () const
 
const AudioDatagetSmoothedData () const
 
float getSpectralFlux () const
 
float getTreble () const
 
float getTrebleEnergy () const
 
float getVolume () const
 
bool isBassBeat () const
 
bool isBeat () const
 
bool isMidBeat () const
 
bool isTrebleBeat () const
 
void processSample (const AudioSample &sample)
 
void setConfig (const AudioReactiveConfig &config)
 
void update (fl::u32 currentTimeMs)
 
CRGB volumeToColor (const CRGBPalette16 &palette) const
 
fl::u8 volumeToScale255 () const
 

Private Member Functions

void applyGain ()
 
void applyPerceptualWeighting ()
 
void applyScaling ()
 
void calculateBandEnergies ()
 
float computeRMS (const fl::vector< fl::i16 > &samples)
 
void detectBeat (fl::u32 currentTimeMs)
 
void detectEnhancedBeats (fl::u32 currentTimeMs)
 
void mapFFTBinsToFrequencyChannels ()
 
float mapFrequencyBin (int fromBin, int toBin)
 
void processFFT (const AudioSample &sample)
 
void smoothResults ()
 
void updateSpectralFlux ()
 
void updateVolumeAndPeak (const AudioSample &sample)
 

Private Attributes

float mAGCMultiplier = 1.0f
 
float mAverageLevel = 0.0f
 
AudioReactiveConfig mConfig
 
AudioData mCurrentData
 
FFT mFFT
 
FFTBins mFFTBins
 
fl::u32 mLastBeatTime = 0
 
float mMaxSample = 0.0f
 
fl::unique_ptr< PerceptualWeightingmPerceptualWeighting
 
fl::array< float, 16 > mPreviousMagnitudes
 
float mPreviousVolume = 0.0f
 
AudioData mSmoothedData
 
fl::unique_ptr< SpectralFluxDetectormSpectralFluxDetector
 
float mVolumeThreshold = 10.0f
 

Static Private Attributes

static constexpr fl::u32 BEAT_COOLDOWN = 100
 
static constexpr float PINK_NOISE_COMPENSATION [16]
 

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