Snapcast
Synchronous multiroom audio server and client system
7.8k stars 543 forks last commit first released GPL-3.0
Actively maintained
Last commit 12 Jun 2026.
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.
Categories:
Tags:
Tech Stack:
Similar to Snapcast
üWave
Collaborative music listening with real-time DJ queues
Self-hosted collaborative music room app with DJ queues, real-time chat, and YouTube/SoundCloud-style playback for shared listening sessions.
musikcube
Terminal-based music player and streaming audio server
Cross-platform terminal music player with library indexing and a built-in streaming server for Windows, macOS, Linux, and Raspberry Pi.
moOde Audio
Audiophile music player and streamer for Raspberry Pi
moOde Audio is a Raspberry Pi music player and streamer with a responsive WebUI, MPD-based playback, multiroom audio, and support for popular network renderers and outputs.
Supysonic
Python server implementing the Subsonic music streaming API
Supysonic is a Python implementation of the Subsonic API for serving, browsing and streaming personal music libraries with transcoding, playlists and scrobbling.

Jellyfin
Self-hosted media server for managing and streaming your library
Jellyfin is a free, self-hosted media server to organize, manage, and stream movies, TV, music, and photos to web, mobile, and TV clients.

Navidrome
Web-based music server and personal audio streaming service
Self-hosted music streaming server with a modern web UI, Subsonic-compatible API, multi-user support, and on-the-fly transcoding for large libraries.

