Snapcast
Snapcast is a client-server system for perfectly synchronized multiroom audio playback, turning existing audio players into a Sonos-like whole-home streaming setup.
Snapcast is a multiroom client-server audio system that distributes audio from one or more sources to multiple devices with tight time synchronization. It is designed to complement an existing player (such as MPD or Mopidy) rather than replacing it, enabling “whole-home” playback with grouped clients.
Key Features
- Server captures PCM audio from multiple configurable inputs (named pipe, ALSA, TCP, process stdout, file, PipeWire, JACK, and more)
- Streams audio to clients over TCP with continuous client time-sync for near sample-accurate playback
- Supports multiple codecs including PCM, FLAC (default), Vorbis, and Opus
- Multiple streams and client grouping so different rooms can play different sources
- JSON-RPC control API over TCP, HTTP(S), and WebSocket for volume, mute, renaming, grouping, and stream assignment
- Bundled web interface (Snapweb) served by the server for browser-based control
Use Cases
- Multiroom audio using MPD/Mopidy as the music source and Snapcast as the synchronized distribution layer
- Whole-home distribution of line-in/microphone or other captured system audio to multiple endpoints
- DIY “Sonos-like” synchronized playback across Raspberry Pis, PCs, and other supported devices
Limitations and Considerations
- Not a standalone music library/player; it relies on external audio sources/players to feed the server
- End-to-end sync depends on correct audio backend configuration and stable networking for best results
Snapcast is a strong choice when you want precise, synchronized playback across many clients while keeping your preferred music player, inputs, and control tooling. Its flexible inputs, codec support, and remote-control API make it adaptable to a wide range of home and lab audio setups.









