Jump to content
  • The Computer Audiophile
    The Computer Audiophile

    Apple Music Lossless Mess Part 2: AirPlay

     

     

    Earlier this month I dug into Apple Music's Lossless and Hi-Res offerings, running several bit perfect rests on the audio output of my Macs and iOS devices. The results were less than stellar (link). This week I dug into Apple Music lossless over AirPlay. One would think that the results would be similar if the only thing changing is the method of transporting the music. However, it's still the Wild West and Apple has made the waters even more muddy with AirPlay. 

     

    Before I get to the details, I want to thank the Bluesound team. This team was very helpful while I was testing and researching AirPlay and Apple Music Lossless. These guys really know what they are doing and are on the leading edge of supporting and developing solutions that may seem simple to the end user, but are quite complex behind the scenes. 

     

    NOTE: Be sure to read the UPDATED parts below, suggested by @Marco Klobas


    Let's Dig In

     

    Just like my previous article, I want to start with some basics. 

     

    What is bit perfect and why should I care? In the simplest terms, bit perfect means that the audio hasn't been changed. The music sent, in this case from Apple Music, into the playback device hasn't been altered. The source is what has been delivered to Apple by the record labels. Apple is just the delivery company.
     
    If you care about high quality, getting the lossless streaming you're paying for from Apple Music, Qobuz, Tidal, Amazon Music, etc... then you should care about bit perfect because without it you have no idea what's happening to your audio. If this isn't a concern for you, no worries. 

     

     

    Testing Methodology 

     

    Testing AirPlay was much more difficult than straight USB connected audio devices. There are AirPlay 1 devices, AirPlay 2 devices, Shairport devices, and a host of applications that don't follow any specific set of standards when sending audio via AirPlay. 

     

    My bit perfect testing consists of a Berkeley Audio Design Alpha DAC Reference Series 3 that identifies and decodes HDCD on all sample rates from 44.1 up through 192 kHz. When an unaltered HDCD music track is played, the HDCD indicator on the DAC is illuminated. The HDCD flag is on the 16th bit for lossless CD files and the 24th bit for high resolution files. Any alteration, DSP, volume leveling, etc... changes this least significant bit and won't enable the HDCD indicator to illuminate on my DAC. Apple Music's lossless audio that I tested was 16 bit / 44.1 kHz and the Hi-Res audio was both 24 bit / 176.4 kHz and 24 bit / 192 kHz. That's the hardware piece. 

     


    Feeding the DAC I used four devices.

     

    • A Berkeley Audio Design Alpha USB. This converts USB audio to AES or S/PDIF on BNC. This device doesn't use AirPlay, but it helps set a baseline for testing.
    • A Bluesound Node 2i that supports AirPlay 2 and uses the newest version of Apple's AirPlay 2 chip. 
    • An Apple AirPort Express 802.11n (2nd Generation) serial number C86HV7S1DV2R. This device supports AirPlay 2 and features optical S/PDIF output over Toslink. 
    • An Apple AirPort Express 802.11n (1st Generation) serial number 6F94552G2U6. This device supports AirPlay 1 and features optical S/PDIF output over Toslink.
    • A Sonore signatureRendu SE Optical. This device supports ShairPort, an open source version of Apple's AirPlay 1.

     


    Sending audio to the above devices I used the following.

     

    • An Apple iPhone 12 Pro running iOS 14.6 and the Apple Music app.
    • An Apple Mac Mini (M1) running macOS 11.4, and Apple Pro Display XDR.
    • An iPad Pro (12.9-inch) (2nd Generation) running iOS 14.6.

     


    With respect to source files, here's what I do. 
     
    I have a list of roughly ten known HDCD albums (although I could use more if needed). Many of these albums were only released as HDCD encoded CDs/files. There is no alternate lossless version. For example, Reference Recordings only releases CDs that are HDCD encoded. Pearl Jam's Live On Two Legs was only released as an HDCD master for its lossless CD version. 
     
    I set a baseline by playing my own local copy of the albums and make sure the HDCD indicator illuminates. I played some Reference Recordings albums through Apple's Music desktop application on macOS and made sure the app could handle bit perfect playback. All was good there. On iOS, I used other apps such as Qobuz, to play the identical music through the identical hardware. All was good through the Qobuz app. Again, there are no alternative versions of these lossless albums. It's the same music on all the services that offer lossless streaming.
     
    Absolutely there are possible holes in my methodology, but I believe I've minimized them as much as possible. If anyone can identify a hole, please let me know and I will retest. 
     

     

    Results Without Context

     

    Here is a list of the results, straight up without any context. 

     

    On iOS

    1. Apple's Music App, lossless streaming content, AirPlay 1 to AirPort Express 1st Gen - bit perfect at 44.1.
    2. Apple's Music App, lossless streaming content, AirPlay 1 to Sonore Rendu (ShairPort) - bit perfect at 44.1.
    3. Apple's Music App, lossless streaming content, AirPlay 2 to Bluesound Node 2i - NOT bit perfect at 44.1.
    4. Apple's Music App, lossless streaming content, AirPlay 2 to AirPort Express 2nd Gen - NOT bit perfect 44.1.

     

    iOS Notable

    1. Qobuz, lossless streaming content, AirPlay 2 to Bluesound Node 2i - bit perfect at 44.1.
    2. Qobuz, lossless streaming content, AirPlay 2 to AirPort Express 2nd Gen - bit perfect at 44.1.
    3. Tidal, lossless streaming content, AirPlay 2 to Bluesound Node 2i - NOT bit perfect at 44.1.
    4. Tidal, lossless streaming content, AirPlay 2 to AirPort Express 2nd Gen - NOT bit perfect 44.1.
    5. Tidal, lossless streaming content, AirPlay 1 to AirPort Express 1st Gen - bit perfect at 44.1.
    6. Apple's Music App, lossless streaming content, USB output with CCK - not bit perfect at 44.1.
    7. Qobuz, lossless streaming content, USB output with CCK - bit perfect at 44.1 and 192.

     


    On macOS

    1. UPDATED: Apple's Music App, lossless streaming content, AirPlay 1 to AirPort Express 1st Gen - bit perfect at 44.1 only if the system-wide AirPlay device is set. If AirPlay device only selected in the Music app, the output is NOT bit perfect.
    2. UPDATED: Apple's Music App, lossless streaming content, AirPlay 1 to Sonore Rendu (ShairPort) - bit perfect at 44.1 only if the system-wide AirPlay device is set. If AirPlay device only selected in the Music app, the output is NOT bit perfect.
    3. UPDATED: Apple's Music App, lossless streaming content, Airplay 2 to Bluesound Node 2i - bit perfect at 44.1 only if the system-wide AirPlay device is set. If AirPlay device only selected in the Music app, the output is NOT bit perfect.
    4. UPDATED: Apple's Music App, lossless streaming content, AirPlay 2 to AirPort Express 2nd Gen - bit perfect at 44.1 only if the system-wide AirPlay device is set. If AirPlay device only selected in the Music app, the output is NOT bit perfect.

     

    macOS Notable

    1. Apple's Music App, lossless local content, AirPlay 1 to AirPort Express 1st Gen - bit perfect at 44.1.
    2. UPDATED: Apple's Music App, lossless local content, AirPlay 2 to Bluesound Node 2i - bit perfect at 44.1 only if the system-wide AirPlay device is set. If AirPlay device only selected in the Music app, the output is NOT bit perfect.
    3. UPDATED: Apple's Music App, lossless local content, AirPlay 2 to AirPort Express 2nd Gen - bit perfect at 44.1 only if the system-wide AirPlay device is set. If AirPlay device only selected in the Music app, the output is NOT bit perfect.
    4. Apple's Music App, lossless local content, USB output - bit perfect at 44.1.

     

     

     

    Setting the system-wide audio device to an AirPlay device is done by selecting the following item in the system menu at the top of the screen.

     

    2.jpg 1.jpg

     

     

     

     

     

    Once selected, it will appear in the Music app this way.

     

    Display in Music App.jpg

     

     


    Results With Some Thoughts And Videos

     

    Please see the UPDATED notes above!

     

    Sending Apple Music lossless content from an iOS device to an AirPlay version 1 device was surprisingly bit perfect, when all other methods were not bit perfect. My original guess was that this is because the AirPlay version 1 Express only accepted Apple Lossless Audio Codec (ALAC), so the sending app had no choice. However, this doesn't square with the fact that the Music app on macOS doesn't send bit perfect lossless audio to the same 1st gen Express. I retested this multiple times to make sure the results were identical on every test. The bottom line is that AirPlay 2 isn't currently receiving bit perfect lossless audio unless the system-wide output is set to an AirPlay 2 device, otherwise it's likely converting it to AAC at 256 kbps. Strangely, the Music app on macOS says it's streaming lossless audio only when sending via AirPlay 2 even if it is lossy because of the output selection only being done in the Music app, but the audio isn't bit perfect this way. The same app when sending via AirPlay 1, doesn't even pretend to send lossless, so it doesn't even display the lossless logo will display the lossless logo only if the system-wide audio device is set to the AirPlay 1 device.

     

    Currently, the only way to stream lossless audio from a streaming service, bit perfectly, over AirPlay is to use an AirPlay version 1 device and use Apple Music, Tidal HiFi, or Qobuz, or an AirPlay 2 device and Qobuz. It seems like Qobuz doesn't care what the device supports, it just send the lossless audio without changing it. Apple Music sees AirPlay 2 and dumbs the music down to lossy AAC.

     

     

    VIDEO One

     

    Here is a video of my testing Apple Music streaming lossless 16 bit / 44.1 kHz audio from an iPad Pro to an AirPort Express (1st gen) via AirPlay 1. You can see several things in this video.

     

    1. Shortly after I press play, the sample rate on the DAC changes to 44.1, the Lock light on the DAC turns green to indicated a solid signal is received, and the HDCD indicator illuminates blue to indicate the DAC recognizes the HDCD flag on the 16th bit of the audio signal. 
    2. At 0:25 into the video you can see the app shows its sending Lossless 16-bit/44.1 kHz ALAC content.
    3. At 0:35 into the video you can see what happens when I adjust the volume. As soon as the volume is not at 100%, bit perfection is lost and the HDCD indicator turns off. When I increase the volume back to 100%, the indicator illuminates blue once again. This is but one example of anything that changes the audio, destroys bit perfection and the HDCD indicator goes off. 
    4. At 0:47 into the video I change tracks. Shortly thereafter you can see the HDCD light go out, while no audio is playing for the split second, then come back on as soon as the track starts. 
    5. At 1:03 into the video you can see as soon as I press pause, the HDCD and Lock indicator lights go out.

     

     

     

     

     

     

     

     

    VIDEO TWO

     

    Here is a video of my testing Apple Music streaming lossless 16 / 44.1 audio from MacBook Pro to a Bluesound Node 2i via AirPlay 2. You can see several things in this video.

     

    1. The sample rate and Lock indicator are already good because the Node 2i had previously played this content. 
    2. When I press play, the HDCD indicator remains off, indicating something in the audio has changed, destroying the 16th bit.
    3. At 0:23 into the video you can see when I click the Apple Music lossless logo. The app indicates it's receiving lossless audio from Apple Music. The fact that it isn't sending this lossless audio to the AirPlay 2 device is not indicated anywhere for the consumer to see.
    4. Note: When sending this same audio to an AirPlay 1 device from the MacBook Pro, the lossless logo doesn't appear in the now playing window and the app says AAC if you click Get Info.

     

     

     

     

     

     

     

     

    VIDEO THREE 


    Here is a video of my testing Apple's Music application streaming LOCALLY stored  / my own CD rip lossless 16 / 44.1 audio from MacBook Pro to a Bluesound Node 2i via AirPlay 2. You can see several things in this video.

     

    1. The sample rate and Lock indicators are correct. 
    2. The HDCD indicator never illuminates, indicating the audio sent is not bit perfect. 
    3. I also adjust the volume up and down to make sure it's at 100%. 

     

     

     

     

     

     

     

     

     

    VIDEO FOUR


    Here is a video of my testing Apple's Music application streaming LOCALLY stored  / my own CD rip lossless 16 / 44.1 audio from MacBook Pro to an AirPort Express 1st Gen via AirPlay 1. You can see several things in this video.

     

    1. The sample rate and lock indicator correctly adjust upon playback.
    2. The HDCD indicator correctly illuminates upon playback, indicating bit perfect audio.
    3. At 0:50 into the video you can see the track is local 44.1 AIFF file. 

     

     

     

     

     

     

     

     

     

    VIDEO FIVE

     

    Here is a video of my testing Apple Music streaming lossless 16 bit / 44.1 kHz audio from a MacBook Pro to an AirPort Express (1st gen) via AirPlay 1. You can see several things in this video.

     

    1. Sample rate and Lock indicator adjust correctly.
    2. HDCD indicator doesn't illuminate upon playback.
    3. At 0:40 into the video you can see the Get Info screen showing AAC audio being sent. This appears to be the audio sent from Apple Music, not what is sent behind the scenes to the AirPlay device, even though AAc is in fact what's sent to the AirPlay 1 device as well. 

     

     

     

     

     

     

     

     

     

    VIDEO SIX

     

    Here is a video of my testing Apple's Music application streaming LOCALLY stored  / my own CD rip lossless 16 / 44.1 audio from MacBook Pro to an Alpha USB via USB. This is just a baseline video showing Apple's Music app is fully capable of bit perfect output via USB.

     

     

     

     

     

     

     

     

     

    VIDEO SEVEN

     

    Here is a video of my testing Apple Music application streaming lossless audio 16 / 44.1 audio from MacBook Pro to an Alpha USB via USB. You can see several things in this video.

     

    1. The video shows all my settings correct in the app. 
    2. At 0:40 into the video I hit play and the HDCD indicator goes on for a short period, then continues to blink on/off periodically throughout the video. This indicates the audio fluctuates between bit perfect and not bit perfect. 
    3. At 0:50 into the video you can see the lossless logo clicked and Apple Music displaying Lossless 16-bit 44.1 kHz ALAC as the audio stream.  

     

     

     

     

     

     

     


    Wrap Up

    There you have the complete soup sandwich that is Apple Music lossless streaming over AirPlay versions 1 and 2. 

     

    I'd like to note that some people have said my bit perfect testing isn't really that big of a deal because Apple is streaming lossless audio and they don't care if it isn't bit perfect because it's better than the lossy stuff. After doing my research, I can tell you the "lossless" may be the exact same thing as the lossy, so people really should care about bit perfect playback. If we don't know where the digital signal processing is happening, we don't know that it's even lossless. 

     

    If you see anything in my tests that you think isn't right, please let me know. The last thing I want to do is cause even more confusion with misinformation. I believe everything here is 100% correct. 
     

     

     

     

     




    User Feedback

    Recommended Comments



    2 minutes ago, James lee said:

    It's not zero. I cant tell you exactly what is in bit 24 but it is something.

    DRM / watermarking?

     

     

    Share this comment


    Link to comment
    Share on other sites

    I shifted the 24bit "thing"(removed 24bit from Apple Music 16bit lossless stream) up 16bits with a pure bitshiftgain plugin from airwindows.

    the thing shows now on the 8th bit and is loud enough to scope with izotope.

    It appears to be just a random noise... see pic.

    the data might mean something to someone but to me seems like just randomish noise, a bit stereo but not total wide like real random noise would be.

    shifted noise.jpg

    Share this comment


    Link to comment
    Share on other sites

    My guess is it's and unintentional bug left over from AAC playback where the decoder would need to dither to 24bit or also the Atmos/spacial coding needs a dither also.

    That would be just a Doh from Apple

    Share this comment


    Link to comment
    Share on other sites

    ok. 24bit did as expected 🤕 noise is added.

    Attempts to null with known lossless shows the dirty bit but this bit also contains the last bit of the music.

    So any truncation attempt at say 23rd bit will result in quantization distortion.

    The picture below is of this 24th bit with all else nulled away, you can see the music in the spectogram. (there is a keyboard hook on the left then a drop on the right - Deadmau5)

     

    24bit sad stuff.jpg

    Share this comment


    Link to comment
    Share on other sites

    6 hours ago, James lee said:

    It's not zero. I cant tell you exactly what is in bit 24 but it is something. Waves IDR can choose 22bit, 18bit as well as 16bit/24bit. All except 24bit fixes the stream.

    I've done blind test as randomised 5 round test. So far only two rounds. I picked Qobuz 60percent of the time each bunch.

     

    A bit (heh) puzzled. Are you saying you're able to hear content in the 24th bit (-144dB) at a 60% rate, or something quite different?

    Share this comment


    Link to comment
    Share on other sites

    4 hours ago, Jud said:

     

    A bit (heh) puzzled. Are you saying you're able to hear content in the 24th bit (-144dB) at a 60% rate, or something quite different?

    I can't hear the added noise. I can hear more of the original preserved if the noise is not present. In two blind tests 60percent of the time.

    A third longer test 66percent of the time.

    In a fourth test I failed at 40percent. That track was almost entirely mono and I'm putting my hunch on stereo imaging as one tell-tale ways to see into the finer aspects of this difference.

     

    Share this comment


    Link to comment
    Share on other sites

    1 hour ago, pkane2001 said:

     

    That last bit appears to be modulated by low frequency "noise", which I'm guessing, contains watermark data spread out to look like noise:

    image.png

    I don't see this noise in my last bit null tests on 16bit AM streams. I have seen spikes like this even in Qobuz and it seems to be either old tec errors that were missed back in the day or some other reason.

    Share this comment


    Link to comment
    Share on other sites

    10 minutes ago, James lee said:

    I don't see this noise in my last bit null tests on 16bit AM streams. I have seen spikes like this even in Qobuz and it seems to be either old tec errors that were missed back in the day or some other reason.

     

    That was found in multiple Apple Music streams, from lossless to hi-res when compared to the original track. The signal at around 20Hz was certainly not there in the original, but was introduced by Apple, intentionally or unintentionally. I know of no good reason to modulate music at around that frequency by modifying the least significant bit, other than trying to encode something in the music that's below perception and not easily detected.

    Share this comment


    Link to comment
    Share on other sites

    Have you tested the IOS 15 beta yet? I’m pretty sure it’s now lossless over AirPlay 2 but this is only based off listening tests. Also streaming to Naim streamers, there are album art display issues systemwide from IOS 15 no matter what streaming app. Usually no album art but occasionally it shows up. And there can be a little bit of stuttering when first starting or switching between high quality and lossless in the settings. 

    Share this comment


    Link to comment
    Share on other sites

    Introducing lossless to Airplay 2 with its multiple speaker support is certainly a big call with a lot of headwind in getting this to work robustly on wireless networks or Internet connections with a lot of latency or lack of bandwidth. I think it will be a while coming or have to use some kind of adaptive resolution ala Netflix rather than a straightforward bitperfect Alac. Not stating lossless support for Airplay in the official information and streaming AAC to airplay 2 devices may be quite intentional. A good robust listening experience I’m sure will be Apple’s number one priority. 

     

    That said I’m a bit confused by that Roon forum post as although the Cambridge reports AAC it also says 16/44.1 (ie CD quality lossless) which is also what my Apple TV streams that album at (sounds wonderful by the way!).

    Share this comment


    Link to comment
    Share on other sites

    7 hours ago, Bevok said:

    Introducing lossless to Airplay 2 with its multiple speaker support is certainly a big call with a lot of headwind in getting this to work robustly on wireless networks or Internet connections with a lot of latency or lack of bandwidth. I think it will be a while coming or have to use some kind of adaptive resolution ala Netflix rather than a straightforward bitperfect Alac. Not stating lossless support for Airplay in the official information and streaming AAC to airplay 2 devices may be quite intentional. A good robust listening experience I’m sure will be Apple’s number one priority. 

     

    That said I’m a bit confused by that Roon forum post as although the Cambridge reports AAC it also says 16/44.1 (ie CD quality lossless) which is also what my Apple TV streams that album at (sounds wonderful by the way!).

    16/44.1 is the sample rate and has nothing to do with lossy or lossless. MP3 and WAV can be 16/44.1. 

    Share this comment


    Link to comment
    Share on other sites

    So is this showing in video bit perfect or not ? 

    I think not  (Is really Darko that stupid?)

     

    6. Apple's Music App, lossless streaming content, USB output with CCK - not bit perfect at 44.1.

    7. Qobuz, lossless streaming content, USB output with CCK - bit perfect at 44.1 and 192.

     

    What about Tidal and CCK ?

     

     

    Share this comment


    Link to comment
    Share on other sites

    I don’t think Darko says anything about bit perfect?

    Share this comment


    Link to comment
    Share on other sites

    Indeed.

     

    The same video was shared on Roon forum and I replied that he showed the sample rate matching which is automatic on iOS and iPadOS.

     

    The bit perfect issue isn't covered.

     

    Moreover he claimed two times that 48 kHz is possible via AirPlay which isn’t true for audio only streams.

    Share this comment


    Link to comment
    Share on other sites

    It bears repeating that sample rate has nothing to do with lossless or bit perfect playback. MP3 can be 44.1, just like WAV, FLAC, and ALAC. 

    Share this comment


    Link to comment
    Share on other sites

    19 hours ago, Marco Klobas said:

     

    Moreover he claimed two times that 48 kHz is possible via AirPlay which isn’t true for audio only streams.

    I think some of the confusion in speaking about this topic, easily for anyone to make, is that the prefs for AM Lossless show it as up to 24/48. So, the MacOS or iOS will knock that down to 16/44.1 if it is sending to Airplay. Nobody will notice that at all.

    I think Apple segregated Lossless from Hi-Res because most Apple users have no idea what a DAC is and have little understanding. Also, Apple TV is 48.
    This is a non issue. If you know what a DAC is and have one and like Hi-Res, set it higher. If you are listing to 95% of the music made, most of which is pre digital or is badly edited and engineered as to be a whopping 6 bits, then 24/48 via DAC or Airplay will be fantastic. Set it and forget it no matter how you hear it.
    As far as bit perfect from a Mac, my understanding is that if the Audio MIDI Setup is set to the same as the source, then it is bit perfect to a DAC. A PITA for sure. Hopefully this gets updated with soon to be new Mac OS update. On iOS, it is automatic.

     

    473463470_ScreenShot2021-07-05at10_09_50AM.png.87cee7851d560a62221f6baf7333ceb4.png

    Share this comment


    Link to comment
    Share on other sites

    23 minutes ago, actuel audio said:

    As far as bit perfect from a Mac, my understanding is that if the Audio MIDI Setup is set to the same as the source, then it is bit perfect to a DAC.

    No, see this - 

     

     

    Share this comment


    Link to comment
    Share on other sites

    This is my summary of the ios 16bit lossless fix.

     

    Share this comment


    Link to comment
    Share on other sites




    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now




×
×
  • Create New...