FastLED 3.9.15
Loading...
Searching...
No Matches
frequency_bin_mapper.h File Reference
#include "fl/stl/int.h"
#include "fl/stl/vector.h"
#include "fl/stl/span.h"
#include "fl/stl/noexcept.h"
+ Include dependency graph for frequency_bin_mapper.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  fl::audio::FrequencyBinMapper
 FrequencyBinMapper maps FFT output bins to perceptually-spaced frequency channels. More...
 
struct  fl::audio::FrequencyBinMapper::BinMapping
 Mapping from output bins to FFT bin ranges Each entry contains (startBin, endBin) for averaging. More...
 
struct  fl::audio::FrequencyBinMapper::FrequencyRange
 Get frequency boundaries for a specific output bin. More...
 
struct  fl::audio::FrequencyBinMapper::Stats
 Get statistics (for debugging/monitoring) More...
 
struct  fl::audio::FrequencyBinMapperConfig
 Configuration for frequency bin mapping. More...
 

Namespaces

namespace  fl
 Base definition for an LED controller.
 
namespace  fl::audio
 

Enumerations

enum class  fl::audio::FrequencyBinMode { fl::audio::Bins16 = 16 , fl::audio::Bins32 = 32 }
 Frequency bin mode - controls number of output bins. More...
 

Class Documentation

◆ fl::audio::FrequencyBinMapper::BinMapping

struct fl::audio::FrequencyBinMapper::BinMapping
Class Members
u32 endBin
u32 startBin

◆ fl::audio::FrequencyBinMapper::FrequencyRange

struct fl::audio::FrequencyBinMapper::FrequencyRange
Class Members
float maxFreq
float minFreq

◆ fl::audio::FrequencyBinMapper::Stats

struct fl::audio::FrequencyBinMapper::Stats
Class Members
u32 binMappingCount = 0
u32 lastFFTBinsUsed = 0
float maxMagnitude = 0.0f

◆ fl::audio::FrequencyBinMapperConfig

struct fl::audio::FrequencyBinMapperConfig
Class Members
u32 fftBinCount = 256 Number of FFT bins available from FFT output For 512-sample FFT at 22050 Hz: 256 bins (512/2)
float maxFrequency = 16000.0f Maximum frequency (Hz) - default 16000 Hz (treble)
float minFrequency = 20.0f Minimum frequency (Hz) - default 20 Hz (bass)
FrequencyBinMode mode = FrequencyBinMode::Bins16 Number of output frequency bins (16 or 32)
u32 sampleRate = 22050 Sample rate (Hz) - must match FFT sample rate.
bool useLogSpacing = true Use logarithmic spacing (recommended for audio) Logarithmic spacing provides better bass/mid/treble separation.