bool mNoiseGateOpen
Noise gate state.
void removeDCOffset(span< const i16 > pcm, i32 dcOffset, vector< i16 > &output) FL_NO_EXCEPT
Remove DC offset from samples.
void applyNoiseGate(span< const i16 > pcm, vector< i16 > &output) FL_NO_EXCEPT
Apply noise gate with hysteresis.
SignalConditioner() FL_NO_EXCEPT
vector< bool > mValidMask
Working buffers (reused to avoid allocations)
const Stats & getStats() const FL_NO_EXCEPT
void reset() FL_NO_EXCEPT
Reset internal state (DC estimate, noise gate state)
vector< i16 > mTempBuffer
void configure(const SignalConditionerConfig &config) FL_NO_EXCEPT
Configure the signal conditioner.
i32 calculateDCOffset(span< const i16 > pcm, const vector< bool > &validMask) FL_NO_EXCEPT
Calculate DC offset from valid samples only.
vector< i16 > mOutputBuffer
Sample processSample(const Sample &sample) FL_NO_EXCEPT
Process a raw audio sample through the conditioning pipeline.
SignalConditionerConfig mConfig
~SignalConditioner() FL_NO_EXCEPT
size filterSpikes(span< const i16 > pcm, vector< bool > &validMask) FL_NO_EXCEPT
Detect and reject spike samples.
Get current statistics (for debugging/monitoring)
bool enableDCRemoval
Enable DC offset removal (running average high-pass filter)
bool enableNoiseGate
Enable noise gate with hysteresis.
i16 noiseGateCloseThreshold
Noise gate close threshold (signal must fall below to close gate)
bool enableSpikeFilter
Enable spike filtering for I2S glitches.
i16 noiseGateOpenThreshold
Noise gate open threshold (signal must exceed to open gate)
i16 spikeThreshold
Spike detection threshold (absolute value) Samples beyond ±spikeThreshold are rejected as glitches.
Configuration for signal conditioning pipeline.
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.