I discovered that when streaming to HomePod devices using Airplay 2 from Roon, I’m hearing every few seconds (timing random though) very little pops inside the music. This is mainly audible on more silent parts of the music, or silent parts with some low bass frequencies inside.
I noticed this first when playing DSD, but to eliminate the DSD to PCM conversion, I tested with CD rips and I don’t thinks it makes any difference. Didn’t find yet the best track to illustrate this on.
The pops do sound like if you would cut a music file into pieces, then assemble them back together, but not align them properly, if you understand what I mean? Maybe some retiming that takes places during the real time streaming, very weird? The fact that the presence of low bass kind of makes it more audible does indeed indicate a short loss or re-synchronization of audio samples. The little pops sound a bit like the little pops you typically hear at the start of a song when the PLAY button was just pressed (when the DAC starts converting), but now it’s constantly in the music.
I hear this on both the big HomePod (the new latest version) as well as on the HomePod mini. Luckelly I didn’t notice this on my Auralic Aries G2 based system. So, probably this is an Airplay issue?
However, when using for example the Tidal app on the iPad and stream directly using Airplay 2 to the HomePod, this issue seems not to be there!
Not the biggest problem for me, but somehow I want also to take advantage of using the big HomePod to listen music to from the Roon server having all my music, and the pops are quite audible for an audiophile (yes, that listens once in a while to HomePods in the background).
Thanks in advance.
PS: Everything runs the latest and greatest software versions.
Hi @Ignace,
Thanks for reaching out to us about this issue. I think the next step here is to enable some diagnostics on your account so our technical staff can get some more insight into what’s going on here.
However, before I enable this feature, I’d like to ask for your help ensuring we gather the right information.
First, can you please reproduce the issue once more and note the time at which the error occurs. Then respond here with that time, and I’ll make sure we review the diagnostics related to that timestamp.
I just tested with a DSD song, the one where it is the most audible. I heard several small pops between 21:06 and 21:09 local time. I hope that 3 minutes time span is accurate enough?
Played that last song (East/West - Crazy) now in 16-bit 44.1 kHz from the Tidal app on iPad to the same HomePod, no clicks. Then Roon again, clicks, Tidal again, no clicks.
The clicks are also not always at the same moment in the song, so it’s not part of the digital file too!
Hi @Ignace,
I activated diagnostics on your Roon server. But it looks like the request didn’t go through. Can you please use the directions found here and send over a set of logs to our File Uploader? Once logs have been uploaded, please let us know so that we can check the server for your files, thanks!
I uploaded the ZIP-file, same name as my e-mail address.
I looked quickly inside the log, seems AirPlay 2 falls back to AirPlay 1, at least once? I see also now and then lost packets, could that be the moment of the clicks? Quite a lot of stuff going on, I’ll let you guys analyze further…
Thank you for your post. There is ongoing work to resolve some persisent issues with Roon’s Compatibility Mode between certain Airplay2 and Airplay 1 receivers.
That said, diagnostics indicate packet loss accumulating at the HomePod’s end as it attempts to buffer. It doesn’t receive every packet from RoonServer as expected or in the correct order. There are a few potential causes, including WiFi jitter, DSP load, or the handling of transients with the extreme downsampling taking place with DSD128 or DSD64 → PCM → 44.1/16-bit conversion.
We’ll try a few tests to narrow it down from here. This might require a fix on our end, but it’s also possible there are settings you can change within Roon/your network that will relieve what appears to be a buffering issue at these conversion rates.
First off, just to confirm:
If you play the same DSD128 files to a different output but keep all DSP components and downsampling the same, do you hear any clicks?
There are a few possible causes for symptoms of this description. There could be problems with Airplay’s timing jitter due to the Compatibility mode with Airplay2 → Airplay1. We’ll inspect this possibility with developers. There could also be network latency spikes that cause buffer overruns on the HomePod side - this would be a question of bandwidth saturation on the network equipment involved. What is the network pathway between RoonServer and the HomePod? Do you have any Quality of Service (QoS) rules in place?
Did you have a chance to test a low-quality file to the same endpoint with no downsampling, headphone EQ, or conversion in MUSE at all? Try playing a simple 44.1KHz file to the HomePod.
Additionally, try testing the same DSD files but with reduced DSP load outside of the downsampling. Remove headphone EQ and volume leveling and any other filters you might have applied that are unrelated to DSD/PCM conversion.
We’ll watch for your response and request additional logging from RoonServer in the meantime. Thank you!
As posted above, I tried with 44.1 kHz 16-bit ALAC, same issue! It should also be part of the logs, track Grazy from East/West. So it should not be related to the DSP, and be aware also that worst case I’ve seen the DSP running at 10x for downsampling DXD 32-bit to DSD-128, so this Mac has quite some power left.
Quite simple setup, the Mac is connected both with Gigabit Ethernet and WiFi to an Apple Time Capsule which is the access point of that WiFi (working rock solid for so many years), and that same WiFi the HomePod is connected to. No QoS stuff, and no other traffic is going on. As mentioned earlier, iPad on the same network streaming with Tidal to HomePod with same song works fine. In the case of Tidal, the app needs to get the music from the internet, also going over the WiFi.
Roon on the other hand gets its music from a Thunderbolt connected Promise RAID, so NOT using any NAS that is connected over the same network.
Didn’t try today, but streaming audio from the Mac showing YouTube music to that same HomePod, also didn’t show any signs of clicks before.
Regarding the statement that the Mac is connected through both Ethernet and WiFi, this is a must if you want to use Sidecar, which I do for administration purposes. During the tests Sidecar was not active. And the Ethernet connection is the first network interface before WiFi, so the Mac should use only its Ethernet connection to stream to the HomePod.
That being said, the Mac has two IP addresses on which you can address it; 126 on WiFi and I think 103 on Ethernet! The HomePod is at 121, the iPad where I’m running the Roon client is at 119.
FYI, this weekend I streamed audio from Safari on that same Mac Mini, basically from Tidal and YouTube, to that same HomePod speaker using Airplay 2. No single click was heard!
Could you please share a screenshot of the Signal Path when the clicks and pops occur? Sharing a specific track name would be helpful as well - we’ll attempt to enable diagnostic mode for Roon Server to take another closer look.
If you haven’t yet, can you set up a temporary hardwire connection to the endpoint and see if the same issue occurs?
Just tried again, had to retry 3 times. Tip, if after 20 seconds you don’t hear anything, just rewind to the beginning of the track. See below the screenshot and track information…
Regarding the hardwired connection, a HomePod doesn’t have any Ethernet connection, so quite hard to do. But my WiFi setup is rock solid, for your information, I have a satellite over IP system and can stream up to 8 HD live streams at the same time over WiFi! I also don’t have any issues like I mentioned using Safari and AirPlay to the same HomePod, using the same network path.
Thanks for sharing the above! We were able to see the timestamp you shared, and will bring this information to our development team for further discussion.
We see the device defaulting to AirPlay 1, which could be causing the clicks and pops you’re hearing. In the meantime, could you please test out adding the device to your Apple Home app to see if this helps? Here’s more info on how to do this (you can ignore the specific devices highlighted in the article and follow the steps on how to add a new device):
Let us know if you continue to experience the same behavior, and we should have some more information to share on our end as well. Thank you!
Actually, both HomePods are added from day one to Apple Home; it’s basically the only way to get an HomePod up and running after the unboxing . So, nothing to hope for over there…
See below a screenshot, note that the names in Apple Home are in Dutch:
If you try to play Roon to your Mac System Output and have the Mac send the stream over to the zone, do you still hear the clicks/pops? Or does it only occur when Roon is directly playing to the zone?
As posted earlier, streaming AirPlay by the Mac to the zone doesn’t have any clicks, nor from iPad’s to the same zone, nor from Tidal app on iPad’s to the zone.
It’s only when Roon handles itself the AirPlay streaming that I have the issue. Also no issues when streaming RAAT over WiFi to my Auralic Aries G2 and connected USB Accuphase DAC.
By the way, starting a song from Roon on the zone also has always a small click at the start. This is something I never experience having Apple (iPad’s, Mac’s) stream to the zone. So, Roon is definitely doing something different! Are you implementing yourself the protocol, if yes, why not using the native API’s of MacOS?
Oh, I also experienced something else recently, Roon was streaming to HomePod x first, later only to HomePod y. Then my iPad was streaming to HomePod x using the Tidal app. Each time when I minimized the Roon remote app on the iPad, Roon was messing around with the volume on HomePod x, setting it to a louder value. Even though it was not streaming anymore to that HomePod?! So, there is something else going on too…