Equalize audio-reacting input

Hello,
I’m trying to make an audio reacting setup.
Is it possible to add a lowpass or highpass to filter the audio reaction input ?
And is it possible to have a different filter on each preset ?

To explain : I would like to have a lowpass (at 100hz for kick and bass) on a segment and an highpass (for the rest of the music) on another segment in order to have different colors for each part of the sound.

Thanks in advance !

I’ll preface this by saying that I don’t currently use the SR fork, but have looked into it to see if there are benefits for my projects. It is possible the exact effect you want is already created (again, I don’t use SR). Assuming it’s not, you’ll need to do some coding to hand-make your desired effect, but it’s definitely possible! If you want frequency-responding effects, then you’ll need to be sure you’re running an esp32, as the 8266s don’t have enough power to perform the ffts. You’ll also want to use an i2s microphone to prevent voltage spikes associated with analog mics on A0.

It seems there is no need to add in filters, as audio is already broken down into 16 “bands” using fft in audio_reactive.h. First noise is suppressed from the squelch settings, then Audio is equalized for flat response (with values seemingly collected experimentally using pink noise), then it is adjusted for gain. If you’re thinking about doing a custom build of WLED-SR, I would advise you really familiarize yourself with audio_reactive.h because much of the heavy lifting has already been done for you. I do not believe your project will require any modifications in audio_reactive.h, just a solid understanding of how it is working.

From there, it seems you’d just need to create some custom effects that use the exact parameters you’re looking for. FX.cpp contains all of the effects, and the fft ones start about halfway down the page. Take a look at these to see how different variables generated in audio_reactive.h are used to control lights in different settings. Then just start slow and program the effect you want! Start by getting any response in one of your desired bands, and then build out from there! (I believe SR has support for user-created effects that are stored in folders which do not require a whole new .bin to be compiled, but I know nothing about it. Just know it may be an option instead of editing FX.cpp and compiling each time).

Lastly, it does not seem that there is tons of support for SR on this forum - but there is an entire channel dedicated to it on the discord! Check there for some extra support, and good luck!

Thanks a lot for this complete reply,
I’m running an adafruit esp32 and I use piezo microphone, may be an ADC ads1118 will prevent the pops and make a better analog conversion ?

Here is the WLED-SR Wiki page on digital microphone selection and wiring - seems like they recommend the INMP441. Here is some discussion on the noise generated by the esp32 when using analog microphones (the “pops” you describe), so even without firsthand experience, I’m pretty confident the answer is yes, it will prevent pops and improve your ADC.

Lastly, here is the wiki page on creating custom effects in SR without compiling new .bins, and here (about halfway down) is the wiki page on creating custom effects in WLED, which will require recompiling each time.

Thank you,
The only thing is that I use a special mic, then the INMP441 will not be usefull, I need a breakout circuit with microphone input I guess.

What requirements do you have for a microphone? Why will the INMP441 not work?