This is a copy of a post prepared for the Esparagus Audio Brick Crowd Supply campaign.
After achieving multi-room sync with Sendspin, squeezelite-esp32, and Airplay-2, it is time to look at snapclient, which was, until recently, the only solution. Snapclient is an open-source remote audio playback protocol with a specific focus on near-perfect sync. Normally, you need to have a snapserver instance in your network, either standalone, running on some Raspberry Pi, or as a Music Assistant integration (it would even spin up its own snapserver instance with zero effort). Either way, the next steps would assume you have some kind of snapserver already and a way to play audio into that instance.
How to Get Started
In the case of snapclient, there is a very user-friendly web-installer that will get you started with pre-built firmware for the Esapragus Audio Brick devices, among other Esparagus boards (supported board list is growing over time).

After the binary is flashed, you’ll need to configure the Wifi following the built-in onboarding instructions.

After the board gets online, it will discover the snapserver automatically, connect to it, and become an entity that is fully controllable from the snapserver.
Playing Audio
After you start playback using your chosen data source (I’m using Mopidy integrated into Home Assistant at the moment, but you can also use Music Assistant, which has better integration), you’ll get perfectly synchronized playback, whether it is an ESP32 device or Raspberry Pi-based, for example. You can also control individual device volume and switch them to use different streams, so you can have speakers playing your tunes in the living room, while the kitchen gets its own soundtrack.

If you use Music Assistant, you’ll also get a nice grouping/ungrouping experience, similar to the Sendspin or Slimproto groups. In fact, you can use all of them at the same time, in case you are still looking for a perfect solution.

DSP Configuration
Snapclient support on the ESP32 is getting more and more mature, and one of the recent developments is DSP support of the TAS58XX series DAC. While it may not support all the DSP options, it does support the most used ones, starting with basic DAC settings – Analog gain, DAC operation mode (bridge/normal), Mixer mode (if you use a single driver in bridge mode), and Faults monitoring (in case something goes wrong)

Now you have a 15-band equalizer, either in ganged mode (single settings for both channels), or bi-amp mode (you set 15-bands for each channel individually)

Last, you can apply a low- or high-frequency 4th-order filter, if you have an asymmetrical speaker setup (subwoofer + high frequency driver, or simply a subwoofer in the bridge mode)

Summary
You have a number of options for how Audio Brick can be used, either standalone or integrated into your existing setup. It might feel a bit overwhelming to pick one out of all those options, but I believe this is a superpower of community-driven open-source products: you get to decide what to use and how, and the price of changing to another solution is nil. Same hardware, same speakers, different firmware, as there is always something better around the corner.


Leave a Reply
You must be logged in to post a comment.