SnapDog — Synchronized Multiroom Audio System

SnapDog

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

Model
Version v0.3.0
Source
GitHub ↗
Documentation
Read guides ↗
Explore Architecture

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 2 SPOTIFY WEB RADIO SUBSONIC REST API D-BUS/MPRIS MQTT KNX BUS SNAPDOG CORE INPUT: AIRPLAY 2 DSP / 5-BAND EQ ACTIVE LIVING ROOM KITCHEN PATIO

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 Room Kitchen Patio
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/discovery MQTT 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 Address 1/2/45
Action Telegram 0x01 (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 Size 30s (100%)
92% Cached • 320kbps AAC
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-snapdog uptime: 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]

Zero-Configuration Provisioning

Configure new client nodes via a local setup hotspot. Once booted, SnapDog OS spins up a captive portal to configure your home Wi-Fi credentials and select your DAC hardware.

Step 01 • Connect AP

Join the SnapDog Hotspot

Flash SnapDog OS onto a microSD card and boot your Raspberry Pi. The client will automatically publish a local Wi-Fi hotspot named SnapDog-XXXX. Search for it on your smartphone or computer and connect.

9:41 AM
📶 🔋 100%
📱
Settings > Wi-Fi
Other Networks
FritzBox_Slow 🔒
SnapDog-A8BF
Coffee_Shop 🔒

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