← Back to smarthome overview

AirPlay Audio

Two Raspberry Pis run AirPlay receivers so any Apple device in the flat can stream audio to the kitchen or the bathroom without a dedicated speaker app.

Setup

LocationHardwareAirPlay versionRuns as
KitchenRaspberry Pi 3BAirPlay 2Docker container (shairport-sync)
BathroomRaspberry Pi Zero WAirPlay 1Native systemd service (older OS, legacy repo)

The volume-boost problem

Both Pis' analog audio output is too quiet at full hardware volume, so a software mixer stage (+20 dB via an ALSA softvol plugin) sits between shairport-sync and the hardware. The hardware mixer itself is deliberately left fixed at 100% / 0 dB, and shairport-sync only ever adjusts its own internal software volume. This avoids the volume jumps and mixer conflicts that show up when multiple layers all try to control loudness.

Bathroom-specific integration

The bathroom Pi also runs a small custom tool that starts an internet radio stream automatically when its light sensor detects the light has been switched on. A simple flag file signals whether AirPlay is currently active, so the automatic radio stream politely stays off while someone is actively AirPlaying, and resumes its normal behavior as soon as the AirPlay session ends.

Why this design