Snapcast

Synchronous multiroom audio player that coordinates audio playback across multiple connected clients in real time.

Snapcast screenshot 1

Snapcast is an open-source client-server audio player designed for synchronous multiroom audio playback. It functions as an extension for existing audio players, capturing audio on a server and routing it to multiple connected clients to ensure perfectly synced playback across different locations. The software is deployed as a server and client architecture, with the server managing audio streams and the clients handling the final audio output.

Users typically deploy the server on a central machine and install clients on various devices, such as Raspberry Pis, Android phones, or desktop computers. It is frequently used in conjunction with the music player daemon (MPD) or Mopidy to create a coordinated audio system. The server reads audio from various sources, encodes the data, and transmits it via TCP to clients that synchronize their local time with the server to eliminate playback drift.

Key features

  • Support for multiple audio sources including named pipes, ALSA, TCP, and PipeWire
  • Lossless audio transmission using PCM and FLAC codecs
  • Lossy compression options via Vorbis and Opus for lower latency
  • Time synchronization between server and clients to keep deviation below 0.2ms
  • Client grouping to allow different sets of speakers to play different streams
  • JSON-RPC API for control via TCP, HTTP, or Websockets
  • Integration with a built-in web application for remote management
  • Support for diverse audio backends including ALSA, PulseAudio, Core Audio, and WASAPI

The system is designed for users who want to synchronize audio across multiple rooms using existing hardware. It integrates with various home automation platforms, including Home Assistant and Domoticz, and supports a wide range of operating systems through its various client backends. The server can mix multiple audio sources using a meta stream, allowing for complex audio routing.

Snapcast serves as a synchronization layer for audio streaming across a local network.

Last Modified
Software TypeWeb App / Server
Platform
Last Activity1 month ago
Repository Age11 years
LicenseGPL-3.0
Open Source Alternative to
Open Source Software.io

Join our newsletter to get shiny new open source software delivered to your inbox. Unsubscribe anytime.