You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
staticconstexprfloatBAND_COMPRESS_K = 4.0f; // compression factor (k=4: ~3 dB at top, ~20 dB at floor)
213
+
staticuint8_t useNoiseFloorSub = 0; // 1 = subtract per-band slow min (noise floor) from each band — helps in quiet environments
214
+
staticuint8_t useHistogramNorm = 0; // 1 = single global gain via loudest-band peak (alternative to per-band AGC)
215
+
staticuint8_t useBand0Lifter = 0; // 1 = soft "dance music fixer": weak coupling from band 1 to band 0 to compensate for poor low-freq mic response. band0 follows band1's contour without matching it.
the floor (that would remove real signal) and don't compress
114
+
(transients should still feel alive).
115
+
116
+
-**Visualizer for a screen / demo**: `AutoLevel` + `BandCompress`.
117
+
Aggressive AGC + compression makes every band show activity — looks
118
+
"alive" all the time.
119
+
120
+
-**Clean / smooth**: `AutoLevel` only. Single control, smooth display.
121
+
122
+
-**Raw / debugging**: all OFF. Bands show actual values; tune
123
+
`pinkIndex` (0-10) and other parameters knowing you're seeing the
124
+
true signal.
125
+
126
+
**Don't combine `AutoLevel` + `HistogramNorm`** — they're both gain
127
+
adjustments; the code already skips `HistogramNorm` when `AutoLevel` is
128
+
on to avoid double-correction.
129
+
130
+
**Don't combine `BandCompress` alone without AGC** — without AGC the
131
+
input range is so wide that compression is barely visible.
132
+
133
+
**Set-and-forget for most users**: `AutoLevel` (default) +
134
+
`NoiseFloorSub` + `BandCompress` handles nearly all content types
135
+
gracefully with no user intervention.
136
+
55
137
**NOTE** I2S is used for analog audio sampling. Hence, the analog *buttons* (i.e. potentiometers) are disabled when running this usermod with an analog microphone.
56
138
57
139
### Advanced Compile-Time Options
@@ -66,5 +148,6 @@ You can use the following additional flags in your `build_flags`
66
148
67
149
## Release notes
68
150
151
+
* 2026-06 Moved to pure Espressif IDF v5.5 calls and ESP-DSP FFT accelleration, added esp_codec_dev supported codecs and added AutoLevel experiments - by @TroyHacks
69
152
* 2022-06 Ported from [soundreactive WLED](https://github.com/atuline/WLED) - by @blazoncek (AKA Blaz Kristan) and the [SR-WLED team](https://github.com/atuline/WLED/wiki#sound-reactive-wled-fork-team).
70
153
* 2022-11 Updated to align with "[MoonModules/WLED](https://amg.wled.me)" audioreactive usermod - by @softhack007 (AKA Frank Möhle).
0 commit comments