Music Apps, Tips and Tricks for the LG V30, V35, V40, V50 & V60
Jun 29, 2019 at 7:33 PM Post #706 of 1,174
Whoa, just received this update to UAPP. Looks like Davy figured out MQA after all. It never made sense to me how Tidal could play MQA, but not UAPP. They have access to the same APIs.

Edit: Oh wait, that's using his own software decoder, not hardware MQA. Hmmm...

Screenshot_2019-06-29-19-30-18.png
 
Last edited:
Jun 29, 2019 at 10:26 PM Post #707 of 1,174
Thanks @Dannemand! I knew the SACD ISO fix and V50 support was coming, but the return of MQA came out of left field. Davy is now on a 10 day vacation, so fingers crossed all of this is working ok for everybody. It looks like the solution for MQA was to hire somebody to rob you (a.k.a. to pay Meridian money for the use of MQA via the MediaPlayer API). Davy was pretty blunt in his update notes within UAPP itself (LG don't respond to support and Meridian have no clue what's going on!). He didn't post those last couple of sentences publicly on the Play Store :wink: In any case, it does seem to be unfolding MQA with the in-app purchase active. Note the important parts of 2L38_01 that your dog was previously missing:

Screenshot 2019-06-29 18.59.08.png
Screenshot 2019-06-29 18.59.29.png
Screenshot 2019-06-29 19.00.07.png

Great work Davy! Happy days for UAPP users on Android Pie :)
 
Jun 30, 2019 at 4:18 AM Post #708 of 1,174
I think I've narrowed down the behavior that causes these PCM playback problems with Android Pie. @ctheanh - would you be willing to run a small test for me?
Try this in either UAPP, Neutron or the LG Music app.

1) Kill all other music apps (clear them from the notification shade too) and reboot.
2) Start playing a 44 kHz PCM file. Confirm you have the correct (44 kHz, 24-bit) sample rate via DIRECT mode output in audio_flinger.
3) Without hitting pause, immediately start to play any other PCM file with a higher sample rate (e.g., 96/24 or 192/24).

I'm seeing this consistently cause a re-sampling to 48 kHz via the MIXER.

If you remember to hit pause in between changing tracks to different sample rates, you should be able to maintain DIRECT mode output.
But any time you try to instantly switch sample rates to a hi-res PCM, the log is complaining the quad DAC is in use and it ends up getting piped through the MIXER :frowning2:

This is not an issue in Android 8 in any music app.

I'd love to know if you can consistently reproduce the behavior I'm seeing.

P.S. One edit to the above. If you use the LG music app for this test, it obviously won't play back 44 kHz PCM via DIRECT mode. In that case, try switching between, say 96/24 and 192/24 PCM.

P.P.S. I think the reason why Poweramp is working consistently on Android Pie is pure pot luck and nothing to do with brilliance on the part of the Poweramp dev. Poweramp forces you to set a sample rate (I've just left mine at 96 kHz), so, obviously, the sample rate isn't ever changing when you switch tracks.
Sorry that I missed your request ..
But it seems the updated 5.2.1 fixed this issue already.

With 5.2.1 version, the DSD playback with DOP work well also.
 
Jul 14, 2019 at 12:17 PM Post #711 of 1,174
Jul 14, 2019 at 4:17 PM Post #714 of 1,174
Let's put it this way, Davy has figured out how to reproduce the MQA output of LG's music app in UAPP. Kudos and props to Davy for being a genius :)
I'd not previously bothered to check the MQA output of LG's music app on Android Pie, but on my test tracks, its spectra isn't matching that of the original hi-res PCM file (spoiler links below for those that care). One day when I get time, I'll have to try this on Android 8 and see if there are any differences.

These two aren't supposed to be the same. There's no way I know of to make LG's music app play back 44 kHz PCM without re-sampling:
UAPP_44khz.png

LG_48khz.png

Don't get confused by the crosshairs near 30 kHz on the UAPP plot. These two are identical (direct mode with the correct sample rate confirmed for both):
UAPP_96khz.png

LG_96khz.png

So are the MQA outputs:
UAPP_MQA.png

LG_MQA.png

But note the difference between the MQA and 96 kHz PCM spectra. They don't match.
¯\_(ツ)_/¯
 
Jul 14, 2019 at 4:47 PM Post #715 of 1,174
@csglinux: Excellent. Just excellent!

Thank you very much for confirming that this works -- including in LG Music, of which I wasn't sure after the original reports about munging HiRes PCM on Pie (most MQAs being 44/24). Do we know that the Tidal app also uses hardware MQA on Pie (as they do on Oreo) and not just their own 2x software decoder?

And thanks a lot for the spectras too. I too would be very interested to see the MQA outputs on Oreo for comparison. I am surprised how much content is present in the 96KHz file, even above 30KHz. Conversely am I surprised to see that it is missing from the MQA (assuming it is the same track, of course). 96Khz is exactly the cutoff we would get if the MQA is only unfolded 2X (as with software decoders) rather than 4X (as with hardware decoding & rendering). Not that it matters for practical purposes -- not even for my dog -- but that's another discussion.
 
Last edited:
Jul 14, 2019 at 6:26 PM Post #717 of 1,174
Yes and no: The 48-96Khz samples are indeed stored in a losslessly compressed format, while the 96-192KHz samples are stored in a lossy format. (Or 44-88KHz and 88-176KHz, respectively.) But since they are stored in (folded into) the least significant bits of each 0-48KHz sample, there is of course going to be some loss of amplitude detail. Presumably only noise is lost, particularly in a 24-bit MQA file.

The 96KHz spectra you posted contained quite a bit of high frequency content, and I would have expected the MQA to preserve almost all of that -- particularly if this was hardware decoded (4X unfolded, all 192Khz) as opposed to soft decoded (2X unfolded, only 96Khz). Of course assuming you used the same track for the 96KHz and the MQA, and assuming that the MQA was properly made. But maybe we're down to those least significant bits (high frequency overtones being very faint in general) so that the extra samples really get lost in MQA's amplitude lossiness.

One could ask whether a format designed to preserve high frequency content at the cost of amplitude detail, has an inherent flaw when most of the high frequency content it is meant to preserve gets lost with said lost amplitude detail :beyersmile:

But as I've described to you earlier, I am less concerned with the preservation of very high frequencies (which only my dog can hear anyway) and more concerned with having enough samples to accurately describe frequencies that are still audible, but approaching the Nyquist rate, and thus being described with very few samples.
 
Last edited:
Jul 20, 2019 at 6:13 PM Post #718 of 1,174
Here are some more thoughts on the MQA situation. Firstly, an explanation of what I'm doing so that others can reproduce and confirm this (or confirm that I'm an idiot that's overlooked something blindingly obvious...). I recorded (at 96 kHz, 24-bit) [3:35] seconds of the left channel from the Mozart Violin concerto in D major - Allegro Marianne Thorsen / TrondheimSolistene: http://www.2l.no/hires/ . You can see my FFT settings in the plots. All amplitudes were adjusted in software so that all tracks were -1 dBFS.

Firstly, here's the original file:
0


Here's UAPP playing back the original 96 kHz track. Looks basically identical:
0

Here's LG's MQA decoder running in Android Pie on a V40:
0

It's clearly missing something :frowning2: Now I understand MQA may only be using 13 of 16 bits up to 44 kHz, so 6.03*13 ~ 78 dB and maybe this explains why low-amplitude, high frequency content is being lost? But then what's the point of MQA, because surely most/all very high frequency content is inevitably going to be of low amplitude? BTW, this isn't a problem unique to Android Pie, because I see the exact same thing with Oreo:
0


Interestingly, UAPP's in-app purchased SW decoder seems to do a tiny bit better:
0

A couple of nuances to point out here. If you have the latest Play Store version of UAPP, you can't disable LG's MQA decoder (I've referred to this above as hardware decoder, but somewhere along the line of course, it's all software, and debates have raged about exactly where that decoding takes place. Just bear with me for the purposes of labelling!) I'm currently working with a beta version of UAPP in which I can toggle between the SW (in-app purchase) and HW MQA decoders.

For both software and hardware (or LG's software) MQA decoder, you need to have bit perfect mode set to "on" under "Internal HiRes Audio" settings. Also, under "HiRes driver flags", MQA obviously has to be on for LG's hardware MQA decoder. (That flag is irrelevant/not used if you'd previously paid for the in app purchase. With the latest Play Store version of UAPP, the paid/in-app software decoder wouldn't be used anymore, even if you turned this MQA flag off.)

One other little nuance - with the in-app purchase, you'd see a little blue dot on the now-playing screen when playing MQA with the software decoder active. UAPP doesn't do that using the built-in API flags to force use of the hardware decoder, because there's no way (at least that Davy currently knows of) for UAPP to query the internal state of the DAC. So you lose the blue dot on the now-playing screen. That's expected behavior and nothing to worry about.

In summary, it looks like UAPP is doing everything right in the sense that it is reproducing what LG/Meridian/MQA intend from an MQA track. That being said, I'm not quite sure why differences from the original hi-res file are this noticeable. Perhaps I'd just not looked closely-enough before?

The 96KHz spectra you posted contained quite a bit of high frequency content, and I would have expected the MQA to preserve almost all of that...

Exactly. Wouldn't you?! I'm afraid none of this has convinced me that paying for MQA isn't like hiring somebody to rob you :frowning2: To elaborate on some concerns from my first rant on MQA (on page 1), I'm really surprised MQA has gained this much traction. MQA files are certainly a good thing for LG phone users, but only (or 99.9%) because of the fact that they're 24 bit files and so play back without re-sampling on these phones' DACs.

At heart, MQA is an attempt to lock down all aspects of audio playback by a business entity that owns both the encoding and decoding chain, and extracts patent license revenues at every step. MQA-file playback gives you degraded performance if you play that content on a device that doesn't support MQA - in fact, on non MQA DACs, MQA playback may not be as good as even the original 44 kHz PCM because of the loss of some of those bits. It also effectively prevents the use of some basic DSP functionality like EQ, mixing multiple sources, digital room correction, advanced digital filters, e.g., crossover and spatial processing. It's alleged by Rob Watts that the short filters in MQA cause audible digital aliasing that has negative consequences for sound. (I've not yet seen any push-back from MQA on those claims.) It's unlikely Chord is ever going to play along (and pay along) with MQA. There are numerous patents for adding hard DRM to MQA. Just the fact that it's a proprietary format should be enough of a red flag, but MQA shields itself from criticism by hiding any opportunity to compare it honestly to FLAC (MQA have repeatedly dodged requests for an MQA-encoded hi-res sine sweep).

It's all a bit odd in this (almost) age of 5G networks and the ability to download HD, multi-Gb movies in seconds. Why do we need to take these lossy short cuts on Mb audio tracks?

Ok, that was a long-winded way of saying I don't know what's going on with MQA and I don't understand why it can't perfectly reproduce 96 kHz PCM (as Bob Stuart once told me to my face it could) and I'm afraid I don't care enough about MQA to keep writing posts about it. If anybody else would like to try and reproduce what I've done with these digital recordings, feel free to reach out. If you're just a consumer of MQA, you can relax(?) in the knowledge that MQA playback via UAPP at least isn't doing anything different than what you'd get from LG's own music app.

P.S. I made the suggestion to Davy that he create an option in a future version of UAPP to allow users to choose between the sofware/in-app purchased UAPP decoder and the LG hardware decoder. We'll see what transpires there...
 
Last edited:
Jul 21, 2019 at 3:24 AM Post #719 of 1,174
Here are some more thoughts on the MQA situation. Firstly, an explanation of what I'm doing so that others can reproduce and confirm this (or confirm that I'm an idiot that's overlooked something blindingly obvious...). I recorded (at 96 kHz, 24-bit) [3:35] seconds of the left channel from the Mozart Violin concerto in D major - Allegro Marianne Thorsen / TrondheimSolistene: http://www.2l.no/hires/ . You can see my FFT settings in the plots. All amplitudes were adjusted in software so that all tracks were -1 dBFS.

Firstly, here's the original file:
0


Here's UAPP playing back the original 96 kHz track. Looks basically identical:
0

Here's LG's MQA decoder running in Android Pie on a V40:
0

It's clearly missing something :frowning2: Now I understand MQA may only be using 13 of 16 bits up to 44 kHz, so 6.03*13 ~ 78 dB and maybe this explains why low-amplitude, high frequency content is being lost? But then what's the point of MQA, because surely most/all very high frequency content is inevitably going to be of low amplitude? BTW, this isn't a problem unique to Android Pie, because I see the exact same thing with Oreo:
0


Interestingly, UAPP's in-app purchased SW decoder seems to do a tiny bit better:
0

A couple of nuances to point out here. If you have the latest Play Store version of UAPP, you can't disable LG's MQA decoder (I've referred to this above as hardware decoder, but somewhere along the line of course, it's all software, and debates have raged about exactly where that decoding takes place. Just bear with me for the purposes of labelling!) I'm currently working with a beta version of UAPP in which I can toggle between the SW (in-app purchase) and HW MQA decoders.

For both software and hardware (or LG's software) MQA decoder, you need to have bit perfect mode set to "on" under "Internal HiRes Audio" settings. Also, under "HiRes driver flags", MQA obviously has to be on for LG's hardware MQA decoder. (That flag is irrelevant/not used if you'd previously paid for the in app purchase. With the latest Play Store version of UAPP, the paid/in-app software decoder wouldn't be used anymore, even if you turned this MQA flag off.)

One other little nuance - with the in-app purchase, you'd see a little blue dot on the now-playing screen when playing MQA with the software decoder active. UAPP doesn't do that using the built-in API flags to force use of the hardware decoder, because there's no way (at least that Davy currently knows of) for UAPP to query the internal state of the DAC. So you lose the blue dot on the now-playing screen. That's expected behavior and nothing to worry about.

In summary, it looks like UAPP is doing everything right in the sense that it is reproducing what LG/Meridian/MQA intend from an MQA track. That being said, I'm not quite sure why differences from the original hi-res file are this noticeable. Perhaps I'd just not looked closely-enough before?



Exactly. Wouldn't you?! I'm afraid none of this has convinced me that paying for MQA isn't like hiring somebody to rob you :frowning2: To elaborate on some concerns from my first rant on MQA (on page 1), I'm really surprised MQA has gained this much traction. MQA files are certainly a good thing for LG phone users, but only (or 99.9%) because of the fact that they're 24 bit files and so play back without re-sampling on these phones' DACs.

At heart, MQA is an attempt to lock down all aspects of audio playback by a business entity that owns both the encoding and decoding chain, and extracts patent license revenues at every step. MQA-file playback gives you degraded performance if you play that content on a device that doesn't support MQA - in fact, on non MQA DACs, MQA playback may not be as good as even the original 44 kHz PCM because of the loss of some of those bits. It also effectively prevents the use of some basic DSP functionality like EQ, mixing multiple sources, digital room correction, advanced digital filters, e.g., crossover and spatial processing. It's alleged by Rob Watts that the short filters in MQA cause audible digital aliasing that has negative consequences for sound. (I've not yet seen any push-back from MQA on those claims.) It's unlikely Chord is ever going to play along (and pay along) with MQA. There are numerous patents for adding hard DRM to MQA. Just the fact that it's a proprietary format should be enough of a red flag, but MQA shields itself from criticism by hiding any opportunity to compare it honestly to FLAC (MQA have repeatedly dodged requests for an MQA-encoded hi-res sine sweep).

It's all a bit odd in this (almost) age of 5G networks and the ability to download HD, multi-Gb movies in seconds. Why do we need to take these lossy short cuts on Mb audio tracks?

Ok, that was a long-winded way of saying I don't know what's going on with MQA and I don't understand why it can't perfectly reproduce 96 kHz PCM (as Bob Steward once told me to my face it could) and I'm afraid I don't care enough about MQA to keep writing posts about it. If anybody else would like to try and reproduce what I've done with these digital recordings, feel free to reach out. If you're just a consumer of MQA, you can relax(?) in the knowledge that MQA playback via UAPP at least isn't doing anything different than what you'd get from LG's own music app.

P.S. I made the suggestion to Davy that he create an option in a future version of UAPP to allow users to choose between the sofware/in-app purchased UAPP decoder and the LG hardware decoder. We'll see what transpires there...
here is an article about MQA if you interested http://www.iar-80.com/page170.html
 
Jul 21, 2019 at 3:56 PM Post #720 of 1,174
Here are some more thoughts on the MQA situation. Firstly, an explanation of what I'm doing so that others can reproduce and confirm this (or confirm that I'm an idiot that's overlooked something blindingly obvious...). I recorded (at 96 kHz, 24-bit) [3:35] seconds of the left channel from the Mozart Violin concerto in D major - Allegro Marianne Thorsen / TrondheimSolistene: http://www.2l.no/hires/ . You can see my FFT settings in the plots. All amplitudes were adjusted in software so that all tracks were -1 dBFS.

Firstly, here's the original file:
0


Here's UAPP playing back the original 96 kHz track. Looks basically identical:
0

Here's LG's MQA decoder running in Android Pie on a V40:
0

It's clearly missing something :frowning2: Now I understand MQA may only be using 13 of 16 bits up to 44 kHz, so 6.03*13 ~ 78 dB and maybe this explains why low-amplitude, high frequency content is being lost? But then what's the point of MQA, because surely most/all very high frequency content is inevitably going to be of low amplitude? BTW, this isn't a problem unique to Android Pie, because I see the exact same thing with Oreo:
0


Interestingly, UAPP's in-app purchased SW decoder seems to do a tiny bit better:
0

A couple of nuances to point out here. If you have the latest Play Store version of UAPP, you can't disable LG's MQA decoder (I've referred to this above as hardware decoder, but somewhere along the line of course, it's all software, and debates have raged about exactly where that decoding takes place. Just bear with me for the purposes of labelling!) I'm currently working with a beta version of UAPP in which I can toggle between the SW (in-app purchase) and HW MQA decoders.

For both software and hardware (or LG's software) MQA decoder, you need to have bit perfect mode set to "on" under "Internal HiRes Audio" settings. Also, under "HiRes driver flags", MQA obviously has to be on for LG's hardware MQA decoder. (That flag is irrelevant/not used if you'd previously paid for the in app purchase. With the latest Play Store version of UAPP, the paid/in-app software decoder wouldn't be used anymore, even if you turned this MQA flag off.)

One other little nuance - with the in-app purchase, you'd see a little blue dot on the now-playing screen when playing MQA with the software decoder active. UAPP doesn't do that using the built-in API flags to force use of the hardware decoder, because there's no way (at least that Davy currently knows of) for UAPP to query the internal state of the DAC. So you lose the blue dot on the now-playing screen. That's expected behavior and nothing to worry about.

In summary, it looks like UAPP is doing everything right in the sense that it is reproducing what LG/Meridian/MQA intend from an MQA track. That being said, I'm not quite sure why differences from the original hi-res file are this noticeable. Perhaps I'd just not looked closely-enough before?

Exactly. Wouldn't you?! I'm afraid none of this has convinced me that paying for MQA isn't like hiring somebody to rob you :frowning2: To elaborate on some concerns from my first rant on MQA (on page 1), I'm really surprised MQA has gained this much traction. MQA files are certainly a good thing for LG phone users, but only (or 99.9%) because of the fact that they're 24 bit files and so play back without re-sampling on these phones' DACs.

At heart, MQA is an attempt to lock down all aspects of audio playback by a business entity that owns both the encoding and decoding chain, and extracts patent license revenues at every step. MQA-file playback gives you degraded performance if you play that content on a device that doesn't support MQA - in fact, on non MQA DACs, MQA playback may not be as good as even the original 44 kHz PCM because of the loss of some of those bits. It also effectively prevents the use of some basic DSP functionality like EQ, mixing multiple sources, digital room correction, advanced digital filters, e.g., crossover and spatial processing. It's alleged by Rob Watts that the short filters in MQA cause audible digital aliasing that has negative consequences for sound. (I've not yet seen any push-back from MQA on those claims.) It's unlikely Chord is ever going to play along (and pay along) with MQA. There are numerous patents for adding hard DRM to MQA. Just the fact that it's a proprietary format should be enough of a red flag, but MQA shields itself from criticism by hiding any opportunity to compare it honestly to FLAC (MQA have repeatedly dodged requests for an MQA-encoded hi-res sine sweep).

It's all a bit odd in this (almost) age of 5G networks and the ability to download HD, multi-Gb movies in seconds. Why do we need to take these lossy short cuts on Mb audio tracks?

Ok, that was a long-winded way of saying I don't know what's going on with MQA and I don't understand why it can't perfectly reproduce 96 kHz PCM (as Bob Steward once told me to my face it could) and I'm afraid I don't care enough about MQA to keep writing posts about it. If anybody else would like to try and reproduce what I've done with these digital recordings, feel free to reach out. If you're just a consumer of MQA, you can relax(?) in the knowledge that MQA playback via UAPP at least isn't doing anything different than what you'd get from LG's own music app.

P.S. I made the suggestion to Davy that he create an option in a future version of UAPP to allow users to choose between the sofware/in-app purchased UAPP decoder and the LG hardware decoder. We'll see what transpires there...

Thank you for all that! Unfortunately the images (I assume graphs) don't show up in the post.

You've always made your view on MQA clear, and I kind of feel I've trolled you into testing and posting about it anyway, for which I apologize :pensive:

So I'll respond relatively briefly (for me) then leave it at that:

1) I agree, there must be some loss of amplitude detail from a 44/16 file if MQA is crammed into. I would never play such a file on a non-MQA DAC, which does't gain anything to make up for the loss. And even on an MQA DAC I'd be skeptical of it. Fortunately most MQAs are 24-bit so there is plenty of bit-depth to store the MQA without losing anything significant. But I wouldn't even buy 44/24 MQAs over regular CDs or 44/16 FLACs because I don't know that I will be playing them on MQA hardware in the future.

2) For me the only reason to deal with MQA is Tidal: It's either 44/16 or MQA. And I've generally found the MQA albums to sound better, as long as it's good recordings. It's not by a huge margin, but just a tad more defined. As I've written before, it's like switching from an anti-aliasing filter with too much pre/post-ringing to a sharper one -- but not as pronounced, of course. I've never heard an MQA on Tidal that sounded worse than its 44/16 counterpart, but I can imagine that being the case with shoddy recordings, shoddy MQA conversions.

3) Would I prefer uncompressed FLACs to MQA? Absolutely! But bandwidth still matters, at least for me. Truly unlimited data plans remain obscenely expensive in USA compared to Europe, and 192KHz FLACs can grow pretty big. So the question to me is entirely about 44/16 FLAC vs 44/24 MQA, not whether MQA is better than HiRes FLAC.

4) As you wrote (and as I joked in my last post) it seems at odds that MQA attempts to preserve higher frequencies at the expense of amplitude detail, when those higher frequencies are themselves always very low amplitude. And that may indeed explain why you saw loss of high frequency details in the MQA vs the 96Khz. But once again, I don't think the most important reason for HiRes audio (including MQA) is to preserve frequencies far above the audible spectrum, but rather to have more samples to describe audible frequencies that otherwise would only have 2-3 samples per sine wave.

5) And yes, 24-bit MQA does indeed have the added benefit of not being munged by the Android Mixer when played directly in the Tidal app on V30. But that really is a quirk!

Once again thank you for helping Davy sort this out in UAPP -- even though MQA is not a priority for you personally. It is much appreciated!

Edit: Almost forgot (yikes, I really AM becoming Columbo): On the entire matter of MQA licensing and trying to rob everybody, I agree 100%. And it will probably be what kills it eventually. So I am NOT looking to invest in MQA hardware and music collection. I just enjoy it on my V30 with Tidal -- while it lasts.
 
Last edited:

Users who are viewing this thread

Back
Top