Snapcast

Snapcast

Synchronous multiroom audio server and client system

7.4kstars
516forks
Last commit: 1mo ago
Repo age: 11y old

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:

Share:

Similar Services

Jellyfin

Jellyfin

Self-hosted media server for managing and streaming your library

47.7k
4.3k
Last commit: 2d ago

Jellyfin is a free, self-hosted media server to organize, manage, and stream movies, TV, music, and photos to web, mobile, and TV clients.

Alternative to:
Plex
Plex
+19
Navidrome

Navidrome

Web-based music server and personal audio streaming service

18.6k
1.3k
Last commit: 16h ago

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

Alternative to:
Plex
Plex
+13
Navidrome Music Server

Navidrome Music Server

Lightweight open-source web music server and streamer

18.6k
1.3k
Last commit: 16h ago

Open-source web music server that streams personal music collections via a modern web UI and Subsonic-compatible APIs; supports large libraries and on-the-fly transcoding...

Alternative to:
Plex
Plex
+13
Koel

Koel

Web-based personal music streaming server

16.9k
2.1k
Last commit: 5d ago

Koel is a web-based personal music streaming server with a modern player UI, multi-user support, playlists, library management, and optional mobile apps.

Alternative to:
Plex
Plex
+12
Beets

Beets

Command-line music library manager and metadata tagger

14.6k
2k
Last commit: 2d ago

Beets is a command-line music library manager that catalogs collections and automatically fixes tags using MusicBrainz, with a powerful plugin ecosystem.

Alternative to:
MediaMonkey
MediaMonkey
+4
Audiobookshelf

Audiobookshelf

Self-hosted audiobook and podcast server

11.3k
821
Last commit: 23d ago

Self-hosted audiobook and podcast server with multi-user playback sync, metadata management, downloads, and web/mobile clients.

Alternative to:
Audible
Audible
+6