Repolode
mikebrady

mikebrady/shairport-sync

AirPlay and AirPlay 2 audio receiver for Linux, FreeBSD, macOS and OpenBSD that plays audio streamed from Apple devices.

Open-source alternative to:Apple AirPlay Receiver

Stars
8,909
Forks
683
Open issues
15
Last commit
13 hours ago

What is it?

Shairport Sync turns a computer into an AirPlay speaker. It receives audio streamed from Apple devices and from AirPlay sources such as OwnTone, then plays it through the local sound system. It can be built as an AirPlay 2 player, which supports stereo and multichannel audio including lossless 24-bit stereo at 48,000 frames per second, or as a classic player for the older AirPlay 1 protocol. Video and photo streaming are not supported.

The project focuses on synchronised playback. With ALSA, sndio, CoreAudio, PipeWire or PulseAudio, it adjusts the audio stream so that output matches the timing set by the source, using NQPTP for timing in AirPlay 2. Audio can alternatively be sent to a Unix pipe or STDOUT for further processing.

Track metadata such as album, artist and cover art can be passed to other programs through a pipe or UDP socket, and remote control is available over MQTT, an MPRIS-like interface and D-Bus. A Docker image is also provided.

Key features

  • 01Plays AirPlay 2 stereo and multichannel audio, including lossless 24-bit stereo at 48 kHz.
  • 02Supports classic AirPlay 1 playback as a separate build option.
  • 03Synchronises output with the source timing on ALSA, sndio, CoreAudio, PipeWire and PulseAudio.
  • 04Outputs audio to ALSA, PipeWire, PulseAudio, sndio, macOS, a Unix pipe or STDOUT.
  • 05Exposes track metadata and cover art, plus remote control, via MQTT, MPRIS-like and D-Bus interfaces.

Use cases

  • Turning a Raspberry Pi or other low-power Linux box into an AirPlay speaker connected to a DAC.
  • Building a multi-room or multi-speaker audio setup controlled from Apple devices.
  • Feeding AirPlay audio into a home automation system through MQTT.
  • Running AirPlay reception in a Docker container on a home server.

Topics

FAQ

What is shairport-sync?
AirPlay and AirPlay 2 audio receiver for Linux, FreeBSD, macOS and OpenBSD that plays audio streamed from Apple devices. Shairport Sync turns a computer into an AirPlay speaker. It receives audio streamed from Apple devices and from AirPlay sources such as OwnTone, then plays it through the local sound system. It can be built as an AirPlay 2 player, which supports stereo and multichannel audio including lossless 24-bit stereo at 48,000 frames per second, or as a classic player for the older AirPlay 1 protocol. Video and photo streaming are not supported.
Is shairport-sync free to use? What license does it have?
shairport-sync is open source under the Other license. Check the license terms before using it in commercial products.
Is shairport-sync still maintained?
Actively maintained. The last commit to shairport-sync was on Oct 21, 2026.
What can I use shairport-sync for?
Turning a Raspberry Pi or other low-power Linux box into an AirPlay speaker connected to a DAC. Building a multi-room or multi-speaker audio setup controlled from Apple devices. Feeding AirPlay audio into a home automation system through MQTT. Running AirPlay reception in a Docker container on a home server.
Where can I get shairport-sync?
The source code and installation instructions are on GitHub: https://github.com/mikebrady/shairport-sync

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects