SnapDog — Synchronized Multiroom Audio System

SnapDog
Beta

Multi-zone audio controller with AirPlay, Spotify, Subsonic, MQTT, and KNX integration.

Explore

Real-Time Routing & Sync

Click active sources on the left to change input routing protocols, or click speaker zones on the right to toggle room sync states.

AIRPLAY 2SPOTIFYWEB RADIOSUBSONICREST APID-BUS/MPRISMQTTKNX BUSSNAPDOG COREINPUT: AIRPLAY 2DSP / 5-BAND EQ ACTIVELIVING ROOMKITCHENPATIO

Engineered for Hi-Fi Performance

SnapDog runs on Raspberry Pi hardware to drive dedicated audio DAC HATs, synchronizing high-fidelity audio streams across your home network with open integrations.

Live Sync< 2ms drift

Multi-Room Synchronized Audio

Leverages the Snapcast protocol to distribute low-latency PCM streams to client nodes over standard Wi-Fi or Ethernet. Network drift is kept under 2ms for seamless synchronization.

Living RoomKitchenPatio
DSP Engine

Parametric Equalizer

Calibrate acoustics per zone using multi-band parametric EQ curves. Tune speakers to your room boundaries or load correction profiles from Spinorama database measurements.

MQTT

Smart Home Integration

Publishes zone states and controls automatically to Home Assistant. Uses MQTT autodiscovery to expose clients as media players without custom configuration.

topic: snapdog/discoveryMQTT 3.1
> publish "state": "playing"
> publish "volume": 65
> announce client "living_room"
Building Automation

KNX Integration Modes

Supports both Group Address listening and native Device Mode. In Device Mode, you can import the snapdog.knxprod product database into ETS to configure the server directly.

Group Address1/2/45
Action Telegram0x01 (Play)
Resiliency

Smart Buffer Caching

Dynamic client buffering prevents dropouts caused by Wi-Fi disruptions or local network latency spikes. Configurable pre-cache sizes ensure stable, continuous playback.

Buffer Size30s (100%)
92% Cached • 320kbps AAC
Streaming Sources

Native Receivers & Streaming

Every zone runs its own AirPlay and Spotify Connect receiver, streams libraries from Subsonic / Navidrome media servers, and tunes in internet radio — all decoded in pure Rust and fed straight into the Snapcast sync engine.

AirPlayreceiver
Spotifyconnect
Subsonic/ Navidrome
Internetradio
MPRIS2

D-Bus Media Control

On Linux, every zone and client registers a standard MPRIS2 interface on D-Bus — so media keys, playerctl, lock screens, and desktop controllers can drive playback and read now-playing metadata natively.

org.mpris.MediaPlayer2.snapdog.zone1D-Bus
$ playerctl -p snapdog.zone1 play-pause
PlaybackStatus → Playing
Metadata → "Mezzanine" · Massive Attack
Operating System

Real-time Embedded OS

A custom, read-only Linux kernel system built for Raspberry Pi. Mounts in RAM to prevent SD card corruption, boots in under 4 seconds, and prioritizes low-jitter audio execution.

kernel: v6.6.21-rt-snapdoguptime: 42d 12h
[ 0.0451 ]Pinning audio handler thread to CPU Core 3
[ 0.0821 ]Set scheduling policy: SCHED_FIFO (Priority 99)
[ 0.1205 ]Audio buffer pre-allocated: 65536 bytes ALSA ringbuffer
[ 0.1982 ]ALSA: Initialized SnapDog-HiFi DAC [PCM5122]
REST + WebSocket

Control APIs

A full HTTP control surface with a built-in OpenAPI console, plus a real-time WebSocket feed that pushes state deltas — drive zones, clients, and playback without polling.

:5555JSON · Bearer
GET /api/v1/zones/1
ws /ws → ZoneStateChanged
{ "volume": 65, "status": "playing" }
Native clients

Native control across Mac, iPad, iPhone, Apple Watch, Vision Pro, and Android.

One codebase per platform, same full feature set everywhere: zone control, library browsing, radio, playlists, and multi-room audio.

macOS
iPad
iPhone
Watch
Vision Pro
Android

All clients are currently in beta and not yet available on public app stores. Clients are not subject to open-source licenses.

SnapDog iPad client showing zone playback controls and music library tiles
SnapDog iPhone client showing radio playback controls
SnapDog Apple Watch client showing Subsonic browsing
SnapDog Android client showing playback controls

Ready to integrate?

SnapDog is open source and runs on standard Raspberry Pi devices. Check out our comprehensive setup guides, hardware recommendations, and REST API documentation to get started.

Go to Documentation