Skip to content
Andrew Tuline edited this page May 8, 2021 · 105 revisions

WLED Sound Reactive Introduction

This is a FORK of the original WLED code as found at wled.me. It provides basic sound reactivity for both the ESP8266 and ESP32 platforms as well as FFT sound reactivity for the ESP32.

Due to the performance limitations of the ESP8266, we decided to separate the ESP8266 and ESP32 code in order to provide a more stable build for the ESP8266. Beginning with version 0.10.2 and moving forward, ESP8266 support has been removed from the master branch and will continue to be supported in the ESP8266 Branch.

We have also disabled functionality for other interfaces, such as Alexa, Blynk, Cronixie, Huesync, Infrared. If you would like to enable them, you will need to modify wled.h, compile and upload to your device. If you have any issues, please engage the Discord community. We only support functionality for the web interface.

In addition to new animations, we've made numerous changes to the UI of WLED, and are unable to merge it with the original at this time. Our fork includes:

  • Several volume reactive effects.
  • Several FFT (frequency) reactive effects.
  • One or more new non-reactive 1D effects.
  • 2D effects.
  • UDP sync for volume and FFT reactive effects.
  • Additional sliders for controlling effects.
  • Configuration setting for 2D, noise squelch, gain, and UDP sound synchronization.

Please consider joining the WLED Discord group where we have a dedicated channel to discuss this project and answer any questions you may have.

We can also be found on reddit at r/soundreactive.

Are you looking for some MSGEQ7 support? If so, there's a fork for the ESP8266 that provides this over at:

https://github.com/NeariX67/WLED_MSGEQ7

How about INMP441 support using Constant Q Transform instead of FFT at:

https://github.com/GrumpyMeow/WLED/tree/sound/wled00

Sound Reactive WLED fork Team:

  • A bit of everything (mainly FastLED): Andrew Tuline
  • Sound reactive ESP32 FFT, 2D: Andreas Pleschutznig
  • General Contributor/Documentation/Versioning: Chris Reese
  • UDP Sound Sync, INMP441 and general: Chris Hultin

Other members of the WLED Discord group have provided code and testing support as well. Thanks all!

Knowledge pre-requisites

You MUST be familiar with how to install the ESP8266/ESP32 board drivers as well as multiple libraries (if using the Arduino IDE). There are some instructions here on how to do this with the Arduino IDE, however, they are provided WITHOUT support.

Before attempting to compile this fork of WLED, make sure you CAN compile the one from wled.me.

If you are unable to compile WLED, please consider flashing your device with binaries instead.

Hardware used

Using the WLED 0.10 codebase, our code has been tested with:

For more information, see our Analog Audio Input Options or Digital Audio Input Options page.

Default pins used

  • GPIO2 (D4 on WEMOS) for both ESP8266 and ESP32 for WS2812's
  • A0 for ESP8266 (audio-in pin)
  • GPIO36 (or VP) for the ESP32 (audio-in pin)
  • See Digital Microphone Hookup for pins used
  • (You can change the pins used by adding definitions in your PlatformIO config or editing audio_reactive.h)

Support Forums

Clone this wiki locally