Files
snapclient/README.md
Jorgen Kragh Jakobsen a242e2dee7 formating
2020-05-27 16:49:06 +02:00

1.4 KiB

Snapcast client for ESP32

Synchronous Multiroom audio streaming client for Snapcast ported to ESP32

Feature list

  • Opus decoding currently supported
  • Wifi connection hardcoded in app
  • Snapcast server address hardcoded
  • Buffers up to 150 ms on Wroom modules
  • Buffers more then enough on Wrover modules

Build

Clone this repo:

git clone https://github.com/jorgenkraghjakobsen/snapclint 

Update third party code:

git submodule update --init

Configure to match your setup:

  • Wifi network name and password
  • Audio coded setup

Build, compile and flash:

idf.py build flash monitor 

Test

Setup a snapcast server on your network

On a linux box:

Clone snapcast build and start the server

./snapserver  

Pipe some audio to the snapcast server fifo

mplayer http://ice1.somafm.com/secretagent-128-aac -ao pcm:file=/tmp/snapfifo -af format=s16LE -srate 48000

Test the server config on other knowen platform

./snapclient  from the snapcast repo

Android : snapclient from the app play store

Task list

  • Fix to alinge with above
  • kconfig
  • add codec description
  • Integrate ESP wifi provision
  • Find and connect to Avahi broadcasted Snapcast server name
  • Add a client command interface layer like volume/mute control
  • Build a ESP-ADF branch