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

◆ Reactive()

fl::audio::Reactive::Reactive ( )

Definition at line 16 of file audio_reactive.cpp.hpp.

17 : mConfig{}, mContext(fl::make_shared<Context>(Sample())), mFFTBins(16) // Initialize with 16 frequency bins
18{
19 // Initialize enhanced beat detection components
22
23 // Initialize previous magnitudes array to zero
24 for (fl::size i = 0; i < mPreviousMagnitudes.size(); ++i) {
25 mPreviousMagnitudes[i] = 0.0f;
26 }
27
28 // Configure spectral silence envelopes — tau=0.2s chosen because FFT noise
29 // floor is brittle; these metrics should snap to zero quickly in silence.
30 SilenceEnvelope::Config envCfg;
31 envCfg.decayTauSeconds = 0.2f;
32 envCfg.targetValue = 0.0f;
33 mDominantFrequencyEnvelope.configure(envCfg);
34 mMagnitudeEnvelope.configure(envCfg);
35 mSpectralFluxEnvelope.configure(envCfg);
36}
fl::unique_ptr< SpectralFluxDetector > mSpectralFluxDetector
SilenceEnvelope mDominantFrequencyEnvelope
shared_ptr< Context > mContext
SilenceEnvelope mMagnitudeEnvelope
ReactiveConfig mConfig
fl::unique_ptr< PerceptualWeighting > mPerceptualWeighting
fl::array< float, 16 > mPreviousMagnitudes
SilenceEnvelope mSpectralFluxEnvelope
fl::enable_if<!fl::is_array< T >::value, unique_ptr< T > >::type make_unique(Args &&... args) FL_NOEXCEPT
Definition unique_ptr.h:261
shared_ptr< T > make_shared(Args &&... args) FL_NOEXCEPT
Definition shared_ptr.h:414

References fl::audio::SilenceEnvelope::Config::decayTauSeconds, fl::make_shared(), fl::make_unique(), mConfig, mContext, mDominantFrequencyEnvelope, mFFTBins, mMagnitudeEnvelope, mPerceptualWeighting, mPreviousMagnitudes, mSpectralFluxDetector, mSpectralFluxEnvelope, and fl::audio::SilenceEnvelope::Config::targetValue.

Referenced by begin().

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