314#if SKETCH_HAS_LARGE_MEMORY
316 fl::size mHistoryIndex;
331#if SKETCH_HAS_LARGE_MEMORY
360 0.5f, 0.6f, 0.8f, 1.0f, 1.2f, 1.3f, 1.4f, 1.4f,
361 1.3f, 1.2f, 1.0f, 0.8f, 0.6f, 0.4f, 0.2f, 0.1f
364#if SKETCH_HAS_LARGE_MEMORY
366 fl::size mHistoryIndex;
UINumberField palette("Palette", 0, 0, 2)
bool detectBeat(float energy)
A fixed-size array implementation similar to std::array.
FrequencyBinMapper maps FFT output bins to perceptually-spaced frequency channels.
NoiseFloorTracker maintains an adaptive estimate of the background noise floor for audio signals,...
void applyAWeighting(Data &data) const FL_NO_EXCEPT
static constexpr float A_WEIGHTING_COEFFS[16]
~PerceptualWeighting() FL_NO_EXCEPT
PerceptualWeighting() FL_NO_EXCEPT
void applyLoudnessCompensation(Data &data, float referenceLevel) const FL_NO_EXCEPT
float getBassLevel() FL_NO_EXCEPT
bool isTrebleBeat() const FL_NO_EXCEPT
float getMoodValence() FL_NO_EXCEPT
float getVocalConfidence() FL_NO_EXCEPT
void processSample(const Sample &sample) FL_NO_EXCEPT
void mapFFTBinsToFrequencyChannels() FL_NO_EXCEPT
float getTrebleLevel() FL_NO_EXCEPT
bool isTom() FL_NO_EXCEPT
float getTreble() const FL_NO_EXCEPT
float getBass() const FL_NO_EXCEPT
float getTrebleEnergy() const FL_NO_EXCEPT
float mPinkNoiseGains[16]
float getMeasurePhase() FL_NO_EXCEPT
const Data & getData() const FL_NO_EXCEPT
bool isHiHat() FL_NO_EXCEPT
void calculateBandEnergies() FL_NO_EXCEPT
void updateSpectralFlux() FL_NO_EXCEPT
void setConfig(const ReactiveConfig &config) FL_NO_EXCEPT
u8 getCurrentNote() FL_NO_EXCEPT
float getBackbeatConfidence() FL_NO_EXCEPT
float getPitchHz() FL_NO_EXCEPT
bool isBassBeat() const FL_NO_EXCEPT
void applyLoudnessCompensation() FL_NO_EXCEPT
void setGain(float gain) FL_NO_EXCEPT
fl::unique_ptr< SpectralFluxDetector > mSpectralFluxDetector
bool isDiminuendo() FL_NO_EXCEPT
void applySpectralEqualization() FL_NO_EXCEPT
SilenceEnvelope mDominantFrequencyEnvelope
fl::unique_ptr< SpectralEqualizer > mSpectralEqualizer
bool isCrescendo() FL_NO_EXCEPT
CRGB volumeToColor(const CRGBPalette16 &palette) const FL_NO_EXCEPT
fl::unique_ptr< detector::MultiBandBeat > mMultiBandBeatDetector
const SpectralEqualizer::Stats & getSpectralEqualizerStats() const FL_NO_EXCEPT
shared_ptr< Context > mContext
fl::unique_ptr< Processor > mAudioProcessor
float getMoodArousal() FL_NO_EXCEPT
void applyAWeighting() FL_NO_EXCEPT
u32 getSilenceDuration() FL_NO_EXCEPT
float getBuildupIntensity() FL_NO_EXCEPT
SilenceEnvelope mMagnitudeEnvelope
float getBassEnergy() const FL_NO_EXCEPT
float getPitchConfidence() FL_NO_EXCEPT
float getBPM() FL_NO_EXCEPT
void applyGain() FL_NO_EXCEPT
float getMid() const FL_NO_EXCEPT
float getTempoBPM() FL_NO_EXCEPT
float getBuildupProgress() FL_NO_EXCEPT
void updateVolumeAndPeak(const Sample &sample) FL_NO_EXCEPT
const NoiseFloorTracker::Stats & getNoiseFloorStats() const FL_NO_EXCEPT
float getNoteConfidence() FL_NO_EXCEPT
u8 getCurrentBeatNumber() FL_NO_EXCEPT
SignalConditioner mSignalConditioner
float computeRMS(const fl::vector< fl::i16 > &samples) FL_NO_EXCEPT
float getDownbeatConfidence() FL_NO_EXCEPT
NoiseFloorTracker mNoiseFloorTracker
bool isSpectralEqualizerEnabled() const FL_NO_EXCEPT
const SignalConditioner::Stats & getSignalConditionerStats() const FL_NO_EXCEPT
bool isSnare() FL_NO_EXCEPT
const Data & getSmoothedData() const FL_NO_EXCEPT
float getNoteVelocity() FL_NO_EXCEPT
float getKeyConfidence() FL_NO_EXCEPT
fl::unique_ptr< detector::MusicalBeat > mMusicalBeatDetector
float getBeatConfidence() FL_NO_EXCEPT
float getPeakLevel() FL_NO_EXCEPT
float getMidEnergy() const FL_NO_EXCEPT
void applyScaling() FL_NO_EXCEPT
float getTempoConfidence() FL_NO_EXCEPT
float getDynamicTrend() FL_NO_EXCEPT
float getGain() const FL_NO_EXCEPT
float getDropImpact() FL_NO_EXCEPT
float getBackbeatStrength() FL_NO_EXCEPT
void detectEnhancedBeats(fl::u32 currentTimeMs) FL_NO_EXCEPT
fl::unique_ptr< PerceptualWeighting > mPerceptualWeighting
void begin(const ReactiveConfig &config=ReactiveConfig{}) FL_NO_EXCEPT
fl::array< float, 16 > mPreviousMagnitudes
Processor & ensureAudioProcessor() FL_NO_EXCEPT
fl::u8 volumeToScale255() const FL_NO_EXCEPT
void update(fl::u32 currentTimeMs) FL_NO_EXCEPT
float getVolume() const FL_NO_EXCEPT
float mapFrequencyBin(int fromBin, int toBin) FL_NO_EXCEPT
float getMidLevel() FL_NO_EXCEPT
static constexpr fl::u32 BEAT_COOLDOWN
void smoothResults() FL_NO_EXCEPT
float getChordConfidence() FL_NO_EXCEPT
fl::u8 frequencyToScale255(fl::u8 binIndex) const FL_NO_EXCEPT
bool isMidBeat() const FL_NO_EXCEPT
float getEnergyLevel() FL_NO_EXCEPT
bool isKick() FL_NO_EXCEPT
float getTransientStrength() FL_NO_EXCEPT
SilenceEnvelope mSpectralFluxEnvelope
FrequencyBinMapper mFrequencyBinMapper
float getSpectralFlux() const FL_NO_EXCEPT
void processFFT(const Sample &sample) FL_NO_EXCEPT
SignalConditioner performs low-level audio preprocessing to clean raw PCM samples before FFT analysis...
SpectralEqualizer applies frequency-dependent gain correction to address mid-frequency dominance and ...
~SpectralFluxDetector() FL_NO_EXCEPT
void reset() FL_NO_EXCEPT
bool detectOnset(span< const float, 16 > currentBins) FL_NO_EXCEPT
float calculateSpectralFlux(span< const float, 16 > currentBins, span< const float, 16 > previousBins) FL_NO_EXCEPT
float getThreshold() const FL_NO_EXCEPT
SpectralFluxDetector() FL_NO_EXCEPT
void setThreshold(float threshold) FL_NO_EXCEPT
fl::array< float, 16 > mPreviousMagnitudes
MultiBandBeat performs frequency-specific beat detection.
MusicalBeat distinguishes true musical beats from random onset detection.
#define constexpr
Declares that it is possible to evaluate a value at compile time, introduced in C++11.
Utility functions for color fill, palettes, blending, and more.
Defines the 8-bit red, green, and blue (RGB) pixel type in the fl namespace.
float spectralFluxThreshold
bool enableSpectralEqualizer
bool enableMultiBandBeats
bool enableSignalConditioning
bool enableNoiseFloorTracking
float musicalBeatConfidence
bool enableMusicalBeatDetection
u8 u8 fract8 blur_amount FL_NO_EXCEPT
CRGB sample(const CRGB *grid, const XYMap &xyMap, float x, float y, SampleMode mode) FL_NO_EXCEPT
Sample a pixel from a 2D CRGB grid at floating-point coordinates.
Base definition for an LED controller.
Representation of an 8-bit RGB pixel (Red, Green, Blue)
void reset() FL_NO_EXCEPT
void setThresholds(float bassThresh, float midThresh, float trebleThresh) FL_NO_EXCEPT
~BeatDetectors() FL_NO_EXCEPT
float mPreviousTrebleEnergy
float mPreviousBassEnergy
BeatDetectors() FL_NO_EXCEPT
void detectBeats(span< const float, 16 > frequencyBins, Data &audioData) FL_NO_EXCEPT
SpectralFluxDetector combined