Skip to content
Frank edited this page Jul 6, 2022 · 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. It receives very limited support and updates and is located at 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, as we only support functionality for the web interface.

We do our best to perform upstream merges with the original WLED. 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.
  • Multiple panels of 2D led's.
  • 2D segments.
  • Dynamic naming and visibility of sliders.
  • An interpreter - for creating your own custom effects.
  • Configuration setting for 2D, panels, 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 animations): Andrew Tuline (aka johnny5canuck)
  • Sound reactive ESP32 FFT, 2D: Andreas Pleschutznig (aka apleschu)
  • General contributor, documentation, versioning, keep us up to date: Chris Reese (aka THATDONFC)
  • General contributor, UDP Sound Sync, INMP441 I2S: Chris Hultin (aka spedione)
  • Panels, 2D, segments, animations, custom effects (interpreter) and code cleanup: Ewoud Wijma (aka ewowi)
  • Sound processing and FFT: Frank Möhle (aka softhack007)
  • I2S Sound input and processing: Florian Heilmann (aka Haribo / FHeilmann)

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

Knowledge pre-requisites

Before attempting to compile this fork of WLED with Platform IO (the Arduino IDE is no longer viable for this project), 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