FastLED 3.10.8
Loading...
Searching...
No Matches
fl::audio::Reactive Class Reference

Detailed Description

Definition at line 91 of file audio_reactive.h.

#include <audio_reactive.h>

+ Collaboration diagram for fl::audio::Reactive:

Public Member Functions

 Reactive () FL_NO_EXCEPT
 
 ~Reactive () FL_NO_EXCEPT
 
void begin (const ReactiveConfig &config=ReactiveConfig{}) FL_NO_EXCEPT
 
fl::u8 frequencyToScale255 (fl::u8 binIndex) const FL_NO_EXCEPT
 
float getBackbeatConfidence () FL_NO_EXCEPT
 
float getBackbeatStrength () FL_NO_EXCEPT
 
float getBass () const FL_NO_EXCEPT
 
float getBassEnergy () const FL_NO_EXCEPT
 
float getBassLevel () FL_NO_EXCEPT
 
float getBeatConfidence () FL_NO_EXCEPT
 
float getBPM () FL_NO_EXCEPT
 
float getBuildupIntensity () FL_NO_EXCEPT
 
float getBuildupProgress () FL_NO_EXCEPT
 
float getChordConfidence () FL_NO_EXCEPT
 
u8 getCurrentBeatNumber () FL_NO_EXCEPT
 
u8 getCurrentNote () FL_NO_EXCEPT
 
const Data & getData () const FL_NO_EXCEPT
 
float getDownbeatConfidence () FL_NO_EXCEPT
 
float getDropImpact () FL_NO_EXCEPT
 
float getDynamicTrend () FL_NO_EXCEPT
 
float getEnergyLevel () FL_NO_EXCEPT
 
float getGain () const FL_NO_EXCEPT
 
float getKeyConfidence () FL_NO_EXCEPT
 
float getMeasurePhase () FL_NO_EXCEPT
 
float getMid () const FL_NO_EXCEPT
 
float getMidEnergy () const FL_NO_EXCEPT
 
float getMidLevel () FL_NO_EXCEPT
 
float getMoodArousal () FL_NO_EXCEPT
 
float getMoodValence () FL_NO_EXCEPT
 
const NoiseFloorTracker::Stats & getNoiseFloorStats () const FL_NO_EXCEPT
 
float getNoteConfidence () FL_NO_EXCEPT
 
float getNoteVelocity () FL_NO_EXCEPT
 
float getPeakLevel () FL_NO_EXCEPT
 
float getPitchConfidence () FL_NO_EXCEPT
 
float getPitchHz () FL_NO_EXCEPT
 
const SignalConditioner::Stats & getSignalConditionerStats () const FL_NO_EXCEPT
 
u32 getSilenceDuration () FL_NO_EXCEPT
 
const Data & getSmoothedData () const FL_NO_EXCEPT
 
const SpectralEqualizer::Stats & getSpectralEqualizerStats () const FL_NO_EXCEPT
 
float getSpectralFlux () const FL_NO_EXCEPT
 
float getTempoBPM () FL_NO_EXCEPT
 
float getTempoConfidence () FL_NO_EXCEPT
 
float getTransientStrength () FL_NO_EXCEPT
 
float getTreble () const FL_NO_EXCEPT
 
float getTrebleEnergy () const FL_NO_EXCEPT
 
float getTrebleLevel () FL_NO_EXCEPT
 
float getVocalConfidence () FL_NO_EXCEPT
 
float getVolume () const FL_NO_EXCEPT
 
bool isBassBeat () const FL_NO_EXCEPT
 
bool isBeat () const FL_NO_EXCEPT
 
bool isCrescendo () FL_NO_EXCEPT
 
bool isDiminuendo () FL_NO_EXCEPT
 
bool isHiHat () FL_NO_EXCEPT
 
bool isKick () FL_NO_EXCEPT
 
bool isMidBeat () const FL_NO_EXCEPT
 
bool isSilent () FL_NO_EXCEPT
 
bool isSnare () FL_NO_EXCEPT
 
bool isSpectralEqualizerEnabled () const FL_NO_EXCEPT
 
bool isTom () FL_NO_EXCEPT
 
bool isTrebleBeat () const FL_NO_EXCEPT
 
void processSample (const Sample &sample) FL_NO_EXCEPT
 
void setConfig (const ReactiveConfig &config) FL_NO_EXCEPT
 
void setGain (float gain) FL_NO_EXCEPT
 
void update (fl::u32 currentTimeMs) FL_NO_EXCEPT
 
CRGB volumeToColor (const CRGBPalette16 &palette) const FL_NO_EXCEPT
 
fl::u8 volumeToScale255 () const FL_NO_EXCEPT
 

Private Member Functions

void applyAWeighting () FL_NO_EXCEPT
 
void applyGain () FL_NO_EXCEPT
 
void applyLoudnessCompensation () FL_NO_EXCEPT
 
void applyScaling () FL_NO_EXCEPT
 
void applySpectralEqualization () FL_NO_EXCEPT
 
void calculateBandEnergies () FL_NO_EXCEPT
 
float computeRMS (const fl::vector< fl::i16 > &samples) FL_NO_EXCEPT
 
void detectBeat (fl::u32 currentTimeMs) FL_NO_EXCEPT
 
void detectEnhancedBeats (fl::u32 currentTimeMs) FL_NO_EXCEPT
 
Processor & ensureAudioProcessor () FL_NO_EXCEPT
 
void mapFFTBinsToFrequencyChannels () FL_NO_EXCEPT
 
float mapFrequencyBin (int fromBin, int toBin) FL_NO_EXCEPT
 
void processFFT (const Sample &sample) FL_NO_EXCEPT
 
void smoothResults () FL_NO_EXCEPT
 
void updateSpectralFlux () FL_NO_EXCEPT
 
void updateVolumeAndPeak (const Sample &sample) FL_NO_EXCEPT
 

Private Attributes

fl::unique_ptr< Processor > mAudioProcessor
 
ReactiveConfig mConfig
 
shared_ptr< Context > mContext
 
Data mCurrentData
 
SilenceEnvelope mDominantFrequencyEnvelope
 
fft::Bins mFFTBins
 
FrequencyBinMapper mFrequencyBinMapper
 
fl::u32 mLastBeatTime = 0
 
SilenceEnvelope mMagnitudeEnvelope
 
fl::unique_ptr< detector::MultiBandBeat > mMultiBandBeatDetector
 
fl::unique_ptr< detector::MusicalBeat > mMusicalBeatDetector
 
NoiseFloorTracker mNoiseFloorTracker
 
fl::unique_ptr< PerceptualWeighting > mPerceptualWeighting
 
bool mPinkNoiseComputed = false
 
float mPinkNoiseGains [16] = {}
 
fl::array< float, 16 > mPreviousMagnitudes
 
float mPreviousVolume = 0.0f
 
SignalConditioner mSignalConditioner
 
Data mSmoothedData
 
fl::unique_ptr< SpectralEqualizer > mSpectralEqualizer
 
fl::unique_ptr< SpectralFluxDetector > mSpectralFluxDetector
 
SilenceEnvelope mSpectralFluxEnvelope
 
float mVolumeThreshold = 0.04f
 

Static Private Attributes

static constexpr fl::u32 BEAT_COOLDOWN = 100
 

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