HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
mikebrady
shairport-sync
C2015–2026
mikebrady / shairport-sync

shairport-sync

AirPlay and AirPlay 2 audio player

30Distinct people
32Mentions
0Explicit recommenders
9KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

AirPlay and AirPlay 2 audio player

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year32 dated mentions

Observed mentions: 2015-12-14 14:42:59 UTC to 2026-08-30 07:58:56 UTC.

02462015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 6 mentions; 1 submissions, 5 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 6 mentions; 1 submissions, 5 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC101
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC000
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC101
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC505
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC615
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC606
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC615
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC303
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC202
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Shairport Sync Shairport Sync is an AirPlay audio player for Linux, FreeBSD, macOS and OpenBSD. It plays audio streamed from Apple devices and from AirPlay sources such as OwnTone (formerly forked-daapd). Shairport Sync can be built as an AirPlay 2 player (with some limitations) or as "classic" Shairport Sync – a player for the older, but still supported, AirPlay (aka "AirPlay 1") protocol. When built for AirPlay 2, Shairport Sync can play stereo and multichannel (5.1 and 7.1) audio, including lossless 24-bit stereo at 48,000 frames per second. Metadata such as artist information and cover art can be requested and provided to other applications. Shairport Sync can interface with other applications through MQTT, an MPRIS-like interface and D-Bus. Shairport Sync does not support AirPlay video or photo streaming. (Note that Macs based on Apple Silicon have built-in AirPlay facilities and so don't need Shairport Sync.) Quick Start If you are updating from a previous version of Shairport Sync, please visit the release notes for possible breaking changes. A building guide is available here. A Docker image is available on the Docker Hub. Also see docker/README.md. Next Steps and Advanced Topics are here. Runtime settings are documented here. Build configuration options are detailed in CONFIGURATION FLAGS.md. The man page, detailing command line options, is here. Features Outputs AirPlay audio to ALSA, sndio, PipeWire, PulseAudio, macOS, to a unix pipe or to STDOUT. It also has limited support for libao. Metadata — Shairport Sync can deliver metadata supplied by the source, such as Album Name, Artist Name, Cover Art, etc. through a pipe or UDP socket to a recipient application program — see https://github.com/mikebrady/shairport-sync-metadata-reader for a sample recipient. Sources that supply metadata include iTunes and the Music app in macOS and iOS. An interface to MQTT, a popular protocol for Inter Process Communication, Machine-to-Machine, Internet of Things and Home Automation projects. The interface provides access to metadata, including artwork, remote control. Digital Signal Processing facilities – please see the DSP Wiki Page Guide. (Thanks to Yann Pomarède for the code and to Paul Wieland for the guide.) An MPRIS-like interface, partially complete and very functional, including access to metadata, including artwork, and remote control. A native D-Bus interface, including access to metadata, artwork and system settings. Remote control is also available. Better Volume Control — Shairport Sync offers finer control at very top and very bottom of the volume range. See http://tangentsoft.net/audio/atten.html for a good discussion of audio "attenuators", upon which volume control in Shairport Sync is modelled. See also the diagram of the volume transfer function in the documents folder. In addition, Shairport Sync can offer an extended volume control range on devices with a restricted range. Flexible output rates, formats and channels with built-in transcoding. Remote Control – Remote control commands -- such as play, pause, and volume-setting commands -- can be sent to players via the D-Bus, MPRIS and MQTT interfaces. Some features require configuration at build time – see CONFIGURATION FLAGS.md. Status Shairport Sync was designed to run best on stable, dedicated, stand-alone low-power "headless" systems with ALSA as the audio system and with a decent CD-quality Digital to Analog Converter (DAC). Shairport Sync runs on recent (2018 onwards) Linux systems, FreeBSD from 12.1 onwards, macOS and OpenBSD. It requires a system with the power of a Raspberry Pi B or better. Classic Shairport Sync runs on a wider variety of Linux sytems, including OpenWrt and Cygwin and it also runs on OpenBSD. Many embedded devices are powerful enough to power classic Shairport Sync. Heritage and Acknowledgements The functionality offered by Shairport Sync is the result of study and analysis of the AirPlay and AirPlay 2 protocols by many people over the years. These protocols have not been officially published, and there is no assurance that Shairport Sync will continue to work in future. Shairport Sync is a substantial rewrite of the fantastic work done in Shairport 1.0 by James Wah (aka abrasive), James Laird and others — please see here of the contributors to Shairport 1.x and Shairport 0.x. From a "heritage" point of view, Shairport Sync is a fork of Shairport 1.0. For the development of AirPlay 2 support in Version 4.x, special thanks are due to: JD Smith for really thorough testing, support and encouragement. ejurgensen for advice and code to deal with pairing and encryption. ckdo for pointing the way, particularly with pairing and encryption protocols, with a functional Python implementation of AirPlay 2. invano for showing what might be possible and for initial Python development. Charles Omer for Docker automation, repository management automation, testing, encouragement, enthusiasm. Much of Shairport Sync's AirPlay 2 functionality is based on ideas developed at the openairplay airplay2-receiver repository. It is a pleasure to acknowledge the work of the contributors there. Thanks to everyone who has supported and improved Shairport Sync over the years. More about Shairport Sync The audio that Shairport Sync receives is sent to the computer's sound system, to a named unix pipe or to STDOUT. By far the best sound system to use is ALSA. This is because ALSA can give direct access to the Digital to Analog Converter (DAC) hardware of the machine. Audio samples can be sent through ALSA directly to the DAC, maximising fidelity, and accurate timing information can be obtained from the DAC, maximising synchronisation. Synchronised Audio Shairport Sync offers full audio synchronisation. Full audio synchronisation means that audio is played on the output device at exactly the time specified by the audio source. To accomplish this, Shairport Sync needs access to audio systems – such as ALSA on Linux, CoreAudio o
Read the full README on GitHub

What Hacker News says

32 sources
"Even if they are creating their own plugins, they are probably not integrating with the audio interface". The audio interface is abstracted away in exchange for some metadata about the buffer's properties and the buffer itself, and that is true for basically everything related to audio: the buffer is the lowest level the OS offers you, and you are free to implement lower-level stuff in your dsp/instrument, like using assembly, maybe also functions for SSE, AVX or NEON based acceleration. You get chunks of samples in a buffer, you read them, do something with them and write the result out into another buffer. "Pipewire supports audio channels over network" thanks for reminding me: I'm planning to stream the audio out of my Windows machine to a raspi zero to which I will then connect my bluetooth headphones. First tests worked, but the lat
Read the rest
ency is really bad with shairport-sync [0] at around 400 ms. This is what I would use Pipewire for, if my workstation were Linux and not Windows. Maybe Snapcast [1] could be interesting for you: "Snapcast is a multiroom client-server audio player, where all clients are time synchronized with the server to play perfectly synced audio. It's not a standalone player, but an extension that turns your existing audio player into a Sonos-like multiroom solution." "I could see something like a "live coding symphony", where people have their own livecoding setups and the audio is generated on a central server." Tidal Cycles [2] might interest you, or the JavaScript port named Strudel [3]. Tidal can synchronize multiple instances via Link Synchronization. Then there's Troop [4], which "is a real-time collaborative tool that enables group live coding within the same document across multiple computers. Hypothetically Troop can talk to any interpreter that can take input as a string from the command line but it is already configured to work with live coding languages FoxDot, TidalCycles, and SuperCollider." [0] https://github.com/mikebrady/shairport-sync [1] https://github.com/snapcast/snapcast [2] https://tidalcycles.org [3] https://strudel.cc [4] https://github.com/Qirky/Troop*
In Linux DAW: Help Linux musicians to quickly and easily find the tools they need
I recently set up shairport-sync[0] on a pair of Raspberry Pi's w/ USB DACs and nice speakers to get multi-room audio from Apple music. It's pretty nice! It definitely was a bit of a process to set up, but well documented and much less painful than what this sounds like. I also put headless plexamp on one, which lets me play my music from Plex, although I haven't gotten around to putting it on the other one yet for multi-room audio. [0] : https://github.com/mikebrady/shairport-sync
In Heartbroken by the Sonos App Disaster and What's Happened to the Company
I turn old mini pcs into airplay 2 receivers with https://github.com/mikebrady/shairport-sync , using wired Ethernet multi room playback worked like a charm. Debian is rock solid platform, I never have to tinker once they are setup. Depending on the speakers and what location I use USB dacs and speaker amps(these have gotten SO good in the last 5 years, topping, smsl etc). All of the pieces are interchangeable , flexible, and reusable.
In Sonos changes terms and conditions and may now pass on data to third parties
I used something different. Basic details for your entertainment/edification/comedy source material follow mostly so you can shortcut a comparison if you're building something at your place. 1) Pi-zero running shairport-sync (couldn't get them, got orange-pi zero 2 which works great) https://github.com/mikebrady/shairport-sync. I have a few of these. 2) Class D amp, Aiyima, Fosi, Loxjie etc Aliexpress is one place to get these. I've used and like Aiyima A03 and their ali store delivers fast. 3) Some nice, high-quality, 2nd hand speakers you like. Wharfedale, JBL, B&W, Acoustic Research, Yamaha. (Or get some active speakers you like and skip #2, eg B&O beolab 6000) 4) owntone (formerly known as forked-daapd) https://owntone.github.io/owntone-server/ 5) configure owntone with your spotify premium, takes less than a minute. (And with your mu
Read the rest
sic that you own - takes longer because you take more care). You now have a multiroom setup with fantastic sound that you can control with http://owntone.local:3689/ including with your phone. And/or you can use the "Retune" app on droid and apple's "itunes remote" app on ios. Better sound than most alternatives for less dollars. All integrates well with Homeasistant because of course it does. I really like how mine turned out. Having half a dozen sets of speakers all playing the same music in perfect sync as you move from one room to another while doing chores on the weekend fills me with more joy that I would have guessed. YMMV.
In Spotifyd
Yes, you wouldn't get this running on an existing smart speaker (without first rooting it and some serious hacking). If you'r in the Apple ecosystem and are using AirPlay with your smart speaker(s), it's however possible to also play synchronized audio across to your own DIY speaker setup, using another open source project. https://github.com/mikebrady/shairport-sync Or you could of course choose to only use your old dumb speakers with this, and they will pop up as easily selectable sound output devices on all Apple devices connected to your network. Or combine it (and librespot[2], owntone[3]...) with Snapcast to create a virtual speaker for your whole house that shows up everywhere. [2] https://github.com/librespot-org/librespot [3] https://github.com/owntone/owntone-server
In Modernizing my 1980s sound system
This looks cool. I'm not sure if they are intending to go all the way to room correction but it can really do wonders. A good while back my music setup used filters calculated by an open source FIR tool with playback driven by an older version of Shairport (emulating an AirPort express) using BruteFIR as a convolver. Fiddly to set up but it sounded really good. 1. http://drc-fir.sourceforge.net 2. https://github.com/mikebrady/shairport-sync 3. https://torger.se/anders/brutefir.html
In Show HN: HiFiScan, a Python app to optimize your loudspeakers
It's a convoluted setup I'm not sure I'd recommend to anyone else! :) Still tinkering on it, but current rig is a Respeaker Core [0] running voice2json [1], which sends MQTT commands to a Mac Mini running mopidy [2], and the audio is routed through Airfoil [3] to multiple AirPlay speakers. (In theory, a Pi could drive all that directly, using shairport [4] rather than Airfoil.) The major shortcoming is that Airfoil doesn't support Airplay 2, so it doesn't take full advantage of HomePod stereo pairing; and while the sync is perfect, it comes at the cost of massive lag (5+ seconds). Sounds great though! [0] https://respeaker.io/rk3229_core/ [1] https://voice2json.org/ [2] https://mopidy.com/ [3] https://rogueamoeba.com/airfoil/ [4] https://github.com/mikebrady/shairport-sync
In HomePod has been jailbroken with checkra1n

Showing the 15 most recent of 32 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.