Jump to content
  • The Computer Audiophile
    The Computer Audiophile

    Apple Music's Lossless and Hi-Res Mess

     


    This morning I've been testing Apple Music's new lossless and Hi-Res offerings on both my iPhone 12 Pro running iOS 14.6 and my Mac Mini (M1) running macOS 11.4. In my tests, I'm only concerned with playing the music bit perfectly, in other words without making any changes to the audio. If Apple Music says it's streaming lossless audio, then I want to stream that audio losslessly, rather than accidentally converting it to lossy AAC or MP3 etc... Whether or not people can hear the difference is a topic for another discussion. I'm just making sure I can play the music in its original form and that Apple is sending true lossless and Hi-Res to my audio devices. 

     


    Let's Dig in


    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 

     

    Device 1
    My Apple iPhone 12 Pro running iOS 14.6 and the Apple Music app. I connected the newest version of the Apple Camera Connection Kit to the iPhone, so I could attach a USB Audi interface, and feed power to the phone and interface. 

     

    Device 2
    Apple Mac Mini (M1) running macOS 11.4, and Apple Pro Display XDR, and USB audio interface connected to the ports on the back of the display. 

     
    I use the following testing methodology to test Apple Music. 

     

    The USB audio interface is a Berkeley Audio Design Alpha USB that accepts USB input and outputs audio over AES/EBU or S/PDIF (BNC). 
     
    I use 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 kHa and the Hi-Res audio was both 24 bit / 176.4 kHz and 24 bit / 192 kHz. That's the hardware piece. 
     
    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 Music on macOS and made sure the app could handle bit perfect playback. All was good there. On iOS, I used 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. 
     

     

    Test Results
     
    On macOS, I found no way to play bit perfect lossless or Hi-Res audio from Apple Music. In addition to a couple other nonsensical issues that I'll get into later, Apple is doing something to the music it streams. 

     

    Test 1, streaming Pearl Jam's Live On Two Legs release I was able to illuminate the HDCD indicator for the first couple seconds of playback. After this, the light went out for good, even if I skipped to the next track. When I clicked the play button to start the entire album over again, the HDCD indicator illuminated again for a few seconds. If I had to guess, I'd say this is because of watermarking mandated by the major record labels. Apple has a perfect copy of the album on its servers, the perfect copy starts, but then something changes in the stream that causes the music to not be bit perfect. I'm open to all input on what this could possibly be, but watermarking is my best educated guess for now. 

     

    Test 2, streaming the Reference Recording's album Exactly Like This from Doug MacLeod, displays different behavior and bolsters my aforementioned watermarking theory. This album, from a very small independent record label that I don't believe watermarks it's music, alters between bit perfect and not bit perfect. Upon playback, the HDCD indicator is on sometimes then off for a period of time, then back on etc... I really don't have a good guess for why this happens. I originally thought maybe an adaptive bit rate issue caused it, but even after downloading the tracks to my device offline and playing them, the problem remained. 

     

    Test 3, streaming the Reference Recording's album Break The Chain from Doug MacLeod produced the identical behavior. The only difference here was that the album was Apple's Hi-Res offering at 24 bit 176.4 kHz. Again, no solid bit perfect playback. Something is happening to the music. 

     

    A note about Apple's Hi-Res offerings that makes this a real mess. On Macs running macOS / OS X, the Apple Music app looks at the sample rate in Audio Midi upon the app's launch. Whatever same rate is set there, is the sample rate that Apple Music will use for playback as long as the app is open. OK, fine you say, Apple Music lossless is probably 16 bit / 44.1 kHz and that can be set in Audio Midi. Sure, now for the mess. Apple Music Hi-Res is be definition not 16 bit / 44.1 kHz. It go up through 24 bit / 192 kHz. OK, you can run through the whole dance closing Apple Music, manually setting the sampan rate in Audio Midi, then reopening Apple Music and off you go. Oh no you can't. Apple Music doesn't tell you what the sample rate of its Hi-Res music albums. Thus, you have no idea at what sample rate to set Audio Midi. 
     

    UPDATE: To find the sample rate of the album and play it correctly you have to play a track, click the info button to reveal the sample rate, change Audio MIDI to correct sample rate, restart Apple Music, play the track again. 

     

    How did I find the same rate? Fortunately, the Apple Music app on iOS has auto sample rate switching, which enabled me to get the rate, then sixth back to my Mac to run the tests. This was good because I could see the bit perfect audio stream for the first few seconds once I had the correct sample rate set. 


    Note: the Qobuz app plays this music bit perfect on my Mac.

     

     

    On iOS, as I just mentioned, we have the high benefit of automatic sample rate switching when playing music in Apple Music. The results for Test 1, 2, and 3 were identical on iOS as they were on macOS. Bit perfect for the first few seconds of major label albums. Bit perfect on and off for Reference recordings' albums. Apple Music on iOS switched between outputting 44.1 to outputting 176.4 without an issue. If only the audio would remain bit perfect during playback, it would be a great solution. 

     

    I will note that the Qobuz iOS app played everything bit perfect, but there needs to be an asterisk. For some reason Qobuz resamples the 176.4 Doug MacLeod album Break The Chain at 192 kHz on iOS rather than 176.4. I checked Neil Young's greatest hits to make sure I cold stream 192 material bit perfectly from Qobuz and succeeded. iOS and iPhones are fully capable of bit perfect audio at 176.4 kHz, so I'm not sure why Qobuz is resampling the RR releases. 

     


    What About mQa?

     

    There is interesting news on this front. Some labels have snuck mQa material into Apple Music just like they have on other services. Users of Apple Music can search for mQa and they'll see some albums such as the Radka Toneff Fairytales album. The albums playback as mQa on a DAC in my system that is a full mQa decoder. 

     

    I checked a number of other albums that have appeared on Tidal as mQa only and didn't find mQa for these releases on Apple Music. 

     

    As readers of Audiophile Style know, I'm no fan of mQa and am very pleased it hasn't made its way into more releases or officially into Apple Music. Those who may be reading this as fans of Apple Music, rather than typical audiophile offerings, and aren't familiar with mQa, can get the gist of it and the company from the following videos.


    Part 1 - https://youtu.be/pRjsu9-Vznc
    Part 2 - https://youtu.be/NHkqWZ9jzA0

     


    Wrap Up

     

    As it stands now, Apple Music's lossless and Hi-Res offerings are a bit of a soup sandwich. You can't really stream the audio without some type of DSP going on that makes the music different from the lossless version on CD and on other lossless services. My guess is digital watermarking. In addition, it's not possible to get a consistent lossless or Hi-Res stream for other music that I tested, such as that from Reference Recordings. When I ran into similar issues with Amazon Music HD, using its apps just like I used the Apple Music apps, I was happy to find the Amazon Music HD streams lossless and Hi-Res through third party devices from Bluesound. Given that Apple doesn't integrate with Bluesound, I can't test this. Apple does integrate with Sonos, but as I found previously (link), the new Sonos Port can't stream bit perfect either, so a test on that platform would be useless. 

     

    I will happily update this article if there are holes in my tests or something else changes. As it stands now, I don't know of any holes and I stand by these conclusions. 

     

     

     




    User Feedback

    Recommended Comments



    That's debug logs from self compiled non-public (NDA) source code with root access to hardware, so it is not reproducible by anyone else.

     

    At least for AirPlay1, I imagine someone using one of the many Open Source distributions with shairport-sync (but we're not using it) could retest it.

    Share this comment


    Link to comment
    Share on other sites

    Thanks for your insight.

     

    I've tried with shairport-sync with various verbose modes (-v, -vv and -vvv) and I didn't spot references about AAC/ALAC. Maybe it's just my poor knowledge of shairport-sync.

     

    Recently I've discovered that on Mac with Xcode it's possible to activate a debug mode in Apple TV to show on screen what's streamed to the device. It's specific for Apple TV, of course.

    Share this comment


    Link to comment
    Share on other sites

    I checked shairport-sync, found over 300 references to alac, but 0 reference to aac.

     

    I believe it only supports ALAC and PCM only, not AAC.

     

    Share this comment


    Link to comment
    Share on other sites

    Just to complete the shairport-sync talking. I've found a recent interesting comment by its maintainer Mike Brady:

     

    https://github.com/mikebrady/shairport-sync/issues/1205#issuecomment-859679508

     

    Basically, shairport-sync (which uses AirPlay 1 protocol) handles the stream in ALAC mode, similarly as LUMIN streamers do like @wklie pointed out recently many times.

     

    If Apple Music playing a lossless track from its catalogue provides an AAC stream to the AirPlay receiver – thus, "degrading" the whole lossless thing – then it's another story. The culprit is the Music app itself – the sender, not the receiver.

     

    It's like receiving a lossless PNG previously generated from a compressed JPG.

     

    Let's hope Apple fix it soon to guarantee every AirPlay user (either 1 or 2) to get ALAC stream.

     

    Hoping furthermore for hi-res coming to AirPlay is another dream...

    Share this comment


    Link to comment
    Share on other sites

     

    13 hours ago, Marco Klobas said:

    If Apple Music playing a lossless track from its catalogue provides an AAC stream to the AirPlay receiver – thus, "degrading" the whole lossless thing – then it's another story. The culprit is the Music app itself – the sender, not the receiver.

     

    So, I would like to try to understand this better.

     

    I have been listening to Apple Music lossless and hi-res tracks that I have downloaded to an old iPhone 7. Since the tracks are stored locally on the phone, I know that I am starting with a lossless source. When I connect the phone via USB to an external DAC, it is showing the correct sampling frequency (44.1/48/96/192). Not bit perfect but at least lossless.

     

    I have also connected an old 2nd generation AirPort Express (A1392) to my pre-amp, just via the analog output. (Yes, I'm aware that the AirPort Express DAC is jittery and not up to audiophile standards.)

     

    My question is, how sure can I be that I am streaming the locally stored lossless tracks on my phone to the AirPort Express in ALAC, vs. the same tracks in AAC being streamed directly from Apple's servers? It would seem silly to me to bypass the locally stored tracks, but with Apple it's always hard to know exactly what's going on. I suppose I could unplug my cable modem during playback or set up a separate Wi-Fi network with no internet connection, but that seems like extreme measures. 

    Share this comment


    Link to comment
    Share on other sites

    27 minutes ago, new_media said:

     

     

    So, I would like to try to understand this better.

     

    I have been listening to Apple Music lossless and hi-res tracks that I have downloaded to an old iPhone 7. Since the tracks are stored locally on the phone, I know that I am starting with a lossless source. When I connect the phone via USB to an external DAC, it is showing the correct sampling frequency (44.1/48/96/192). Not bit perfect but at least lossless.

     

    I have also connected an old 2nd generation AirPort Express (A1392) to my pre-amp, just via the analog output. (Yes, I'm aware that the AirPort Express DAC is jittery and not up to audiophile standards.)

     

    My question is, how sure can I be that I am streaming the locally stored lossless tracks on my phone to the AirPort Express in ALAC, vs. the same tracks in AAC being streamed directly from Apple's servers? It would seem silly to me to bypass the locally stored tracks, but with Apple it's always hard to know exactly what's going on. I suppose I could unplug my cable modem during playback or set up a separate Wi-Fi network with no internet connection, but that seems like extreme measures. 

    Your iPhone may be converting to AAC on the fly as you send audio to the AE. 

    Share this comment


    Link to comment
    Share on other sites

    33 minutes ago, The Computer Audiophile said:

    Your iPhone may be converting to AAC on the fly as you send audio to the AE. 

    I’m fairly sure that the AirPort Express is unable to decode AAC and that everything streamed to it is in ALAC. Surely the music app wouldn’t be converting to AAC and back? 
     

    I am pretty sure that everything streamed to the AE is downsampled to 16/44, however.

     

    Not cancelling my Qobuz subscription anytime soon.

    Share this comment


    Link to comment
    Share on other sites

    On 6/13/2021 at 9:46 PM, The Computer Audiophile said:

    I will add that Apple can’t be doing anything to the HDCD files because they work off and on throughout the tracks. If any decoding was done, the LSB is destroyed and they wouldn’t work at all. 

     

    This is not what I am getting at. I mentioned decoding HDCD tracks to illustrate the point that there are be sensible things Apple may do to HDCD tracks. Only Apple knows what they do with tracks provided by the label in HDCD format. What I am suggesting is that from an audiophile point of view, it is really beside the point.

     

    The main game is what is going on with 24b/96kHz files that have been provided by the record label in uncompressed formats. What happens with tracks that have already been through a lossy compressor is neither here nor there.

     

    Since your methodology does not yield any insights into the accuracy of tracks not previously subjected to lossy compression I don't think they should be presented or interpreted as 'Apple lossless streams are not really lossless'.  

    Share this comment


    Link to comment
    Share on other sites

    7 minutes ago, Electroecstatic said:

     

    This is not what I am getting at. I mentioned decoding HDCD tracks to illustrate the point that there are be sensible things Apple may do to HDCD tracks. Only Apple knows what they do with tracks provided by the label in HDCD format. What I am suggesting is that from an audiophile point of view, it is really beside the point.

     

    The main game is what is going on with 24b/96kHz files that have been provided by the record label in uncompressed formats. What happens with tracks that have already been through a lossy compressor is neither here nor there.

     

    Since your methodology does not yield any insights into the accuracy of tracks not previously subjected to lossy compression I don't think they should be presented or interpreted as 'Apple lossless streams are not really lossless'.  

    Apple isn’t streaming the file given to it by labels and the files that it hasn’t created an Apple master for. 
     

    I’ve talked to labels. I know what they send and I know the albums not processed by Apple. 
     

    Your pure speculation is a bit ridiculous. 

    Share this comment


    Link to comment
    Share on other sites

    6 minutes ago, The Computer Audiophile said:

    Apple isn’t streaming the file given to it by labels and the files that it hasn’t created an Apple master for. 
     

    I’ve talked to labels. I know what they send and I know the albums not processed by Apple. 
     

    Your pure speculation is a bit ridiculous. 

     

    I'm pretty sure you understand perfectly well what I am saying. But I also understand your need to be defensive of your post.

     

    Moving on.

    Share this comment


    Link to comment
    Share on other sites

    17 hours ago, Marco Klobas said:

    Basically, shairport-sync (which uses AirPlay 1 protocol) handles the stream in ALAC mode, similarly as LUMIN streamers do like @wklie pointed out recently many times.

     

    If Apple Music playing a lossless track from its catalogue provides an AAC stream to the AirPlay receiver – thus, "degrading" the whole lossless thing – then it's another story. The culprit is the Music app itself – the sender, not the receiver.

     

    By streaming Fairytales (MQA) from iPadOS 14.6 Apple Music → AirPlay1 Lumin (at max volume) USB output → Full MQA DAC shows MQA. (successfully authenticated MQA, not possible with lossy encoding)

     

    This is good enough for me in that I can tell customers that they can at least get 16/44.1 lossless from Apple Music using our products, and in this use case, neither Apple Music source is downgrading to AAC nor AirPlay1 delivery is downgrading to AAC.

    Share this comment


    Link to comment
    Share on other sites

    15 minutes ago, Electroecstatic said:

     

    I'm pretty sure you understand perfectly well what I am saying. But I also understand your need to be defensive of your post.

     

    Moving on.

    I have no need to be defensive. I just want facts. You’re speculating about something that I know is incorrect. I have the facts. 

    Share this comment


    Link to comment
    Share on other sites

    On 6/13/2021 at 11:57 AM, Electroecstatic said:

    From an engineering point of view, a sensible thing for Apple to do with HDCD files it may have as masters provided by a record label on their servers would be to get the best possible software renderer to 'decompress' the HDCD files into 24 bit ALAC files at the original sampling rate for streaming.

     

    If this really happened, the HDCD indicator would be always off (which is different from the test results that found it occasionally turned on in the article).

    Share this comment


    Link to comment
    Share on other sites

    4 minutes ago, wklie said:

     

    If this really happened, the HDCD indicator would be always off (which is different from the test results that found it occasionally turned on in the article).

    Yes, absolutely Peter. 

    Share this comment


    Link to comment
    Share on other sites

    I apologize to everyone, especially to @wklie and @new_media who quoted my post.

     

    Reading again my sentence I realize I should have paid more attention to my writing.

     

    When I wrote:

     

    Quote

    If Apple Music playing a lossless track from its catalogue provides an AAC stream to the AirPlay receiver – thus, "degrading" the whole lossless thing – then it's another story.

     

    What I really meant was:

     

    Quote

    If Music app playing a lossless track from its Apple Music catalogue provides an AAC stream to the AirPlay receiver – thus, "degrading" the whole lossless thing – then it's another story.

     

    I never believed that Apple servers are providing AAC instead of ALAC. In fact, subsequently I said:

     

    Quote

    The culprit is the Music app itself – the sender, not the receiver.

     

    Tracks are coming lossless to the Music app from Apple – if it's configured for lossless in its preferences – regardless how are they then used (headphones, AirPlay, USB DAC...). What it's happening is that sometimes when an AirPlay stream is started, the app convert them on the fly to AAC.

     

    I tend to believe that the conversion happens in Music app.

     

    The worst scenario is the one described, for example, by Naim users where the AirPlay 2 receiver shows AAC instead of ALAC.

     

    @wklie has proved many times that LUMIN devices, which are accepting only ALAC AirPlay 1 streams, are getting ALAC as it should be.

     

    The same goes very likely with shairport-sync.

     

    Now, I don't know if Music app treats lossless streaming differently according to which protocol is used (AirPlay 1 or 2) or what. I own only two AirPlay 2 devices: an Apple TV HD and a HomePod. I don't know whether they receive AAC or ALAC.

     

    Then, specifically for Mac, there's the strange AirPlay behavior where AirPlay kicked inside the Music app apparently is different than the one started system-wide. The latter seems to provide always ALAC.

     

    Hope I have explained clearly my thoughts.

    Share this comment


    Link to comment
    Share on other sites

    I tried a few tracks using Apple TV 4K (the old one). I can configure the Music app to lossless and with Atmos enabled (auto mode). The Apple TV connects to Yamaha RXA-3080 via HDMI.

     

    First up with lossless tracks - they were listed as lossless in the Music app but then when I checked the input sampling rate the Yamaha is displaying 48 kHz. I only tried a couple tracks but all are 48 kHz, even though those albums are 44.1khz in Qobuz for example.

     

    This can only mean two things. Either Apple somehow has a lossless version of the source in 48 kHz or the Apple TV is resampling it to 48 kHz. I incline to believe it is the latter as it makes no sense to keep both 44.1 and 48 versions of the same source.

     

    So how about the sound? Not very inspiring tbh. The Apple TV can sound good when the source is good, even some youtube videos can sound decent. In comparison, the few 48 kHz lossless tracks I tested is simply not up to par. The sound is a bit hazy, lacking focus and separation. I won't be surprised that's due to the 48 kHz resampling. Perhaps I can try some native 48 kHz later to see if that makes any difference.

     

    Next is Atmos. It works but the Atmos catalog is really tiny. Moreover, most of them are in fact Atmo-sified version of existing recordings. While the Atmos version generally offer a more enveloping sound in my 6.2.4 setup, I don't find it add too much to the enjoyment of the music. The sound quality is also so so, far from those Atmos tracks in UHD discs.

     

    I hope that if Apple really cares about quality - the very reason for lossless to begin with, they should do it right or it just ends up giving a bad name for "lossless" streaming.

     

    My two cents.

     

     

    Share this comment


    Link to comment
    Share on other sites

    Apple TV has a fixed 48 kHz output. Everything is resampled at that sample rate.

     

    For example, if you stream a 96 kHz file with AirPlay to Apple TV, two resamples are involved: 96 kHz -> 44.1 (AirPlay) -> 48 kHz (Apple TV output)

    Share this comment


    Link to comment
    Share on other sites

    11 hours ago, Marco Klobas said:

    Tracks are coming lossless to the Music app from Apple – if it's configured for lossless in its preferences – regardless how are they then used (headphones, AirPlay, USB DAC...). What it's happening is that sometimes when an AirPlay stream is started, the app convert them on the fly to AAC.

     

    I tend to believe that the conversion happens in Music app.

     

    The worst scenario is the one described, for example, by Naim users where the AirPlay 2 receiver shows AAC instead of ALAC.

     

    Thanks. As I said, the Airport Express can only receive 16/44 ALAC as far as I know, so I think it's safe to assume that the Apple Music app is streaming lossless ALAC to it.

    Share this comment


    Link to comment
    Share on other sites

    The "latest evidence" shows that probably Music app handles lossless differently between AirPlay 1 and 2, as I assumed in my "cheat sheet".

     

    The "old" AirPlay 1 seems to send ALAC, while AirPlay 2 AAC (maybe due to multi-room or buffering).

     

    Your Airport Express should therefore provide ALAC, as you said. The same goes for my LUMIN.

    Share this comment


    Link to comment
    Share on other sites

    On 6/11/2021 at 12:42 AM, Marco Klobas said:

    It's working here – macOS Big Sur 11.4, Music 1.1.5.74.

    Same here, though in "working" it is only just enabled, and while you do then need to select an external DAC for output in BitPerfect's Settings (otherwise the sound comes from the Mac's internal speaker), that's where the compatibility seems to end. Unlike with iTunes, BitPerfect cannot override the Audio MIDI Setting for sample rate as it does with iTunes.

     

    I sent Richard Murison a note hoping he might be willing/able to push an update that would restore this feature of BitPerfect for use with Apple Music.

    Share this comment


    Link to comment
    Share on other sites

    I’ve just tested: I played two local tracks, one 44.1 kHz, another 96 kHz. BitPerfect switched automatically the sample rate. Checked in Audio MIDI Setup.

    Share this comment


    Link to comment
    Share on other sites

    17 hours ago, The Computer Audiophile said:

    I have no need to be defensive. I just want facts. You’re speculating about something that I know is incorrect. I have the facts. 

     

    You trust the labels to give you 'facts'?

    Share this comment


    Link to comment
    Share on other sites

    And you know - for a fact - that Apple does nothing to the files either???

    Share this comment


    Link to comment
    Share on other sites

    Just now, cab33 said:

    And you know - for a fact - that Apple does nothing to the files either???


    Please be more specific. 
     

    I know for a fact Apple does nothing to some files, I can’t guarantee all files, based on testing. 

    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...