← All Lab Notes

Using a Mac Mini as an always-on AirPlay Receiver

At The Voxel, we wanted to have a simple way for artists to play music during rehearsal or events. Bluetooth is the obvious first choice, but it has range, audio quality, and ease-of-use limitations. We opted to use macOS's built-in AirPlay Receiver functionality to turn an old Mac Mini into a dedicated AirPlay appliance.

Enable AirPlay Receiver

This setting can be found in System Settings → General → AirDrop & Handoff → AirPlay Receiver. We set Allow Airplay for to Everyone. It's unclear exactly what the Require Password option does, as in most modes it seems to require a password regardless. So we left it on and set a password.

We left Wi-Fi off on this Mac and connected it to The Voxel's internal network with an Ethernet connection. Wi-Fi is not required to be on to use AirPlay.

AirPlay Requests

Apple made the reasonable choice to require someone sitting at the Mac to click "Accept" in a notification the first time a device tries to AirPlay to the Mac. But we're using this Mac headlessly and unattended. Luckily, the GitHub project duddu/auto-accept-airplay-requests is a background app which, as its name implies, auto-accepts all AirPlay requests.

Dante Connection

AirPlay and Dante Virtual Soundcard are incompatible with each other. If DVS is running on a Mac, AirPlay Receiver will mysteriously stop passing audio.

Since The Voxel's audio network is all Dante, we used an Audinate Dante AVIO USB-C Adapter to get audio out of the Mac via a class-compliant USB connection. We set the main audio output of the Mac to be this adapter.

The Dante audio from the AVIO is routed into a d&b DS100 audio matrix which receives multichannel Dante input from several dozen devices on the network and matrixes them to our speakers in the theater, lobby, and on the sidewalk outside our building.

#011 Using a Mac Mini as an always-on AirPlay Receiver