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
As we look to pulling the latest version of AR into the main WLED release, we probably need hide some of the experimental features of the usermod to be more appropriate for the different user base
I ran some compile tests: the new mic filter-table use ~3k of flash (no idea why so much but they do)
The FFT windows do not appear to use any flash, looks like they are created on the fly in RAM.
New audio sources add 1.5k to flash use, could ont find out where the rest (about 5k worth) is coming from, maybe from advanced algorithms.
I would suggest to strip the advanced/experimental features for AC but keep the new sources, I have it ready with some ifdefs. What is the better/preferred approach opt-in or opt-out?
#ifndef MM_AR_NO_ADVANCED_FEATURES -> AC defines this
or
#ifdef MM_AR_USE_ADVANCED_FEATURES -> MM defines this
A good starting point is probably feature parity with the current AC version or AR, with flag(s) to enable extra features
Agreed.
I'm currently trying to get the code ready for both frontends, including latest additions in WLED-MM. Some new additions from WLED upstream will come later.
Next step is to clean up/remove experimental WLED-MM parts, and factor out frontend-specific configurations into their own header files. At that point, I'll also add feature flags for parity with the current AC version.
Last step will then be modularization (not necessarily OO) - for example to have an "ArduinoFFT" and an "esp-dsp" based core, maybe a third core that simulates MSGEQ-7.
After all this, i'll open the doors for new PRs,
and we might start in parallel with "audioreactive V3" in the new wled/WLED-AudioReactive repo.
6. have an "ArduinoFFT" and an "esp-dsp" based core, maybe a third core that simulates MSGEQ-7.
I ran some comparisons (in python) and bandpass filters can achieve very similar outputs to FFT but with a lower delay. If that is confirmed in more testing we could just drop FFT completely.
Activity
netmindz commentedon Feb 6, 2026
@softhack007 - do you want to take the first pass at adding suitable ifdefs for which you think we should be excluding from the main WLED release?
DedeHai commentedon Mar 4, 2026
I ran some compile tests: the new mic filter-table use ~3k of flash (no idea why so much but they do)
The FFT windows do not appear to use any flash, looks like they are created on the fly in RAM.
New audio sources add 1.5k to flash use, could ont find out where the rest (about 5k worth) is coming from, maybe from advanced algorithms.
I would suggest to strip the advanced/experimental features for AC but keep the new sources, I have it ready with some ifdefs. What is the better/preferred approach opt-in or opt-out?
#ifndef MM_AR_NO_ADVANCED_FEATURES -> AC defines this
or
#ifdef MM_AR_USE_ADVANCED_FEATURES -> MM defines this
netmindz commentedon Mar 5, 2026
A good starting point is probably feature parity with the current AC version or AR, with flag(s) to enable extra features
softhack007 commentedon Oct 21, 2026
Agreed.
I'm currently trying to get the code ready for both frontends, including latest additions in WLED-MM. Some new additions from WLED upstream will come later.
Next step is to clean up/remove experimental WLED-MM parts, and factor out frontend-specific configurations into their own header files. At that point, I'll also add feature flags for parity with the current AC version.
Last step will then be modularization (not necessarily OO) - for example to have an "ArduinoFFT" and an "esp-dsp" based core, maybe a third core that simulates MSGEQ-7.
After all this, i'll open the doors for new PRs,
and we might start in parallel with "audioreactive V3" in the new wled/WLED-AudioReactive repo.
DedeHai commentedon Oct 21, 2026
I ran some comparisons (in python) and bandpass filters can achieve very similar outputs to FFT but with a lower delay. If that is confirmed in more testing we could just drop FFT completely.