Calculate FFT bin to frequency bin mappings Pre-calculates which FFT bins contribute to each frequency bin.
Definition at line 75 of file frequency_bin_mapper.cpp.hpp.
75 {
76 const size numBins =
static_cast<size
>(
mConfig.mode);
77
80
81
82 for (size i = 0; i < numBins; ++i) {
85
86
89
90
91 u32 startBin = static_cast<u32>(startBinFloat);
92 u32 endBin =
static_cast<u32
>(
fl::ceilf(endBinFloat));
93
94
95 if (startBin >=
mConfig.fftBinCount) {
96 startBin =
mConfig.fftBinCount - 1;
97 }
98 if (endBin >
mConfig.fftBinCount) {
100 }
101
102
103 if (endBin <= startBin) {
104 endBin = startBin + 1;
105 }
106
109 mapping.endBin = endBin;
111 }
112}
float frequencyToFFTBin(float frequency) const
Convert frequency (Hz) to FFT bin index.
vector< float > mBinFrequencies
Pre-calculated frequency boundaries for each output bin Size: numBins + 1 (includes both lower and up...
FrequencyBinMapperConfig mConfig
vector< BinMapping > mBinMappings
Mapping from output bins to FFT bin ranges Each entry contains (startBin, endBin) for averaging.
float ceilf(float value) FL_NOEXCEPT
References fl::ceilf(), fl::audio::FrequencyBinMapper::BinMapping::endBin, frequencyToFFTBin(), mBinFrequencies, mBinMappings, mConfig, and fl::audio::FrequencyBinMapper::BinMapping::startBin.
Referenced by configure().