Writing

Software, technology, sysadmin war stories, and more. Feed
Thursday, March 26, 2020

Wireless audio sync on Apple TV kills Mac AirPlay audio

Do you ever get the impression that you're using a product in a way that nobody else at the company does? That can happen if you finally figure out which combination of config options has been causing your problems.

Today's broken ecosystem is brought to us by our friends in Cupertino, that's right, this is something else involving Apple.

You need to have an Apple TV that you use for AirPlay a lot. To be clear, you have to use it for AirPlay's original audio-only mode, but not from an iOS device. It has to be from a Mac. I do mean the Mac itself, too, since doing it from iTunes won't reproduce this.

For people not drinking the Cupertino Kool-Aid, I'll explain: the system itself has a way to route all system audio to an external device like an Apple TV or a HomePod. This way, you can push audio from VLC, or Firefox, or Chrome, or whatever else to those devices. In addition to that, iTunes has also (for much longer) had the ability to stream whatever it's playing out directly. When you use iTunes, it doesn't touch the rest of the system stuff.

(Anyone remember the days of Airfoil? What a hack that was.)

The situation is: if you have a Mac, and you send your sound output to the Apple TV, AND that Apple TV has the "Wireless Audio Sync" stuff calibrated, then you will get no sound! It will let you connect (eventually...) but you will hear nothing.

An iOS device playing into that same Apple TV will work fine.

iTunes on your Mac playing into that same Apple TV will also work fine.

A completely separate Mac using an older version of the OS (High Sierra, instead of the Mojave of my first machine) will reproduce this, too.

As soon as you go into "Video and Audio", scroll way down to "Wireless Audio Sync" and [RESET] it, your sound will be back.

I only finally figured this out because it broke overnight, and I happened to remember enabling that yesterday afternoon to see if it would let me run multiple speakers without echoes. (What can I say, I'm spending a lot of time around the house now, same as everyone else.)

It's pretty obvious what sort of thing happened here. They probably added some extra jazz to their protocol to enable the tighter A-V sync (or DEsync, depending on your point of view) in order to accommodate the latency in your audio paths. Then, for whatever reason, the audio-only side of the Mac AirPlay sender can't deal with it, or some equivalent bit on the receiver isn't having it. Whatever.

The worst part of this is that there are NO errors anywhere. It just sits there, telling you everything is enabled and playback is proceeding, but you then hear NOTHING.

What if you actually need that calibration? Well, you're kind of screwed, I think. It seems to be an either-or thing, at least, unless they fix it some day.

There is one small, if annoying, workaround to send audio that way while also keeping the calibration on: skip audio-only and go full-video. Yep. This is where you use your entire TV screen as yet another display from the Mac. If you do that, the sound will work properly.

I imagine this mode will suffer with even more clicks and pops when Time Machine starts up, given that pushing a full screen of video is far more bandwidth-intensive than just a couple of channels of audio. That's why I never used it. But hey, if it helps you, I'm glad I mentioned it.

For anyone wondering, the reason I'm running my TV just to have sound is because I already have some nice headphones hooked to it so I can listen to things without bothering my neighbors. This lets me use the same headphones for whatever sound the computer wants to make. In this time of being locked up in the house and doing a lot of video conferencing calls, comfy headphones are essential.

...

Side note: if you're doing VC from home, you're not wearing headphones, and you aren't properly "mic'ed up", you are probably causing terrible audio for everyone else on the call. Every little noise that comes from the other end comes out into your room, bounces around, and then comes back into the computer.

Your VC stuff then tries to do some echo cancelling stuff, and it usually ends up cutting out bits of YOUR VOICE. It makes it ridiculously hard to follow what you're saying. Some people might just tune you out.

While the ideal answer would be for everyone to wear a microphone like a news anchor, that's obviously too goofy to ever happen. Just put on your headphones and you can probably get away with using the mic that's built into your laptop.

Don't be that 1970s speakerphone person. Put on your cans.