A Generic Architecture for ESP32-A2DP/WLED Sound-reactive Setups

The basic SoundReactive Setup w/ ESP32-A2DP works OK, but sound output options are generally limited to ESP32-A2DP i2s. For more audio routing options, a more generalized Bluetooth audio streaming architecture is required – of which a Bluetooth multi-point transmitter plays a pivotal role:

  1. A Bluetooth multi-point transmitter allows for:

    • use in low-latency DJ and high-fidelity audio setups (as well as the integration of non-Bluetooth or legacy audio sources)
    • use of Bluetooth headphones/speakers
  2. DJ mixer setups require high responsiveness, and hence low-latency audio (typically < 25ms). Depending on the codec, Bluetooth audio introduces significant latencies that makes it generally unusable for professional mixing tasks such as realtime beatmatching. This is one of the reasons why DJ mixers/controllers still support a traditional cable connection (XLR, RCA, line-out, etc) to the amplifier/speaker/headphones, rather than go (Bluetooth) wireless. Another reason is that a wired connection is quite immune to electrical interference. Moreover, the available Bluetooth audio codec may not support high-fidelity.

    A splitter/adapter at the DJ mixer can be used to connect a line-in Bluetooth transmitter while still using the standard cable connection to DJ amp/speakers. Note that depending on the codec, visible lag on the SR display may or may not be noticeable. For a quick comparison of latencies by different Bluetooth codecs, check this (dated but quite illustrative) link out.

  3. Media streaming (e.g. Spotify, Youtube, etc) can accommodate the extra latency introduced by Bluetooth audio, allowing for wireless and mobile headphone/speaker setups:

    • Headphones allow enjoying loud music w/o disturbing the peace. Wireless headphones allow greater mobility. A handheld Bluetooth audio source and Bluetooth headphone combo presents a complete mobile streaming solution.
    • For media player devices that support only Bluetooth for audio output, a Bluetooth multi-point transceiver may be used. However, and depending on the Bluetooth codec, the receiver/transmitter combo might introduce additional latency that could limit application to purely audio streaming setups (i.e. unusable video due to the increased out-of-sync).
  4. WLED UDP broadcast sync allows for a scalable multi-panel display setup.

  5. WLED JSON IR remote allows for convenient:

    • ESP32-A2DP sound-reactive algorithm parameter adjustment via UART/Serial communication
    • Selection of different sound-reactive display effects