Music Apps, Tips and Tricks for the LG V30, V35, V40, V50 & V60
Feb 3, 2021 at 5:12 PM Post #962 of 1,175
I just re-installed Tidal version 2.21.0 (using APKMirror installer and the steps described in this post) and MQA is working again through Direct path.

It reminded me of some good news which I stumbled upon last month, but never got around to post.

Check this very rare bird (notice the bold streaks on its wings):

Output thread 0xed92a000, name AudioOut_7D, tid 29229, type 1 (DIRECT):
I/O handle: 125
Standby: no
Sample rate: 44100 Hz
HAL frame count: 1792
HAL format: 0x1 (AUDIO_FORMAT_PCM_16_BIT)
HAL buffer size: 7168 bytes
Channel count: 2
Channel mask: 0x00000003 (front-left, front-right)
Processing format: 0x1 (AUDIO_FORMAT_PCM_16_BIT)
Processing frame size: 4 bytes
Pending config events: none
Output device: 0x8 (AUDIO_DEVICE_OUT_WIRED_HEADPHONE)
Input device: 0 (AUDIO_DEVICE_NONE)
Audio source: 0 (default)
Normal frame count: 1792
Last write occurred (msecs): 22
Total writes: 98
Delayed writes: 0
Blocked in write: yes
Suspend count: 0
Sink buffer : 0xed6d4000
Mixer buffer: 0xea1a8000
Effect buffer: 0xed974c00
Fast track availMask=0xfe
Standby delay ns=1000000000
AudioStreamOut: 0xede0e560 flags 0x400001 (AUDIO_OUTPUT_FLAG_DIRECT)
Frames written: 175616
Suspended frames: 0
Hal stream dump:
Stream volumes in dB: 0:-10, 1:-20, 2:-23, 3:-20, 4:-23, 5:-23, 6:0, 7:-20, 8:-22, 9:-96, 10:-24, 11:0, 12:0
Normal mixer raw underrun counters: partial=0 empty=0
1 Tracks of which 1 are active
Name Active Client Type Fmt Chn mask Session fCount S F SRate L dB R dB VS dB Server Main buf Aux buf Flags UndFrmCnt Flushed
none yes 28953 3 00000001 00000003 289 22932 A 3 44100 0 0 0 0002B500 ED974C00 00000000 0x000 0 0
1 Effect Chains
2 effects for session 289
In buffer Out buffer Active tracks:
0xed974c00 -> 0xf0faf000 0xf0faf000 -> 0xed974c00 1
Effect ID 195:
Session Status State Engine:
00289 000 003 0xef59fcc0
Descriptor:
- UUID: 337377E3-92FC-4F0B-B677-EAEB249EAEE6
- TYPE: 534E176F-456C-4EF4-8099-D7BA766AB0FA
- apiVersion: F0BEAD6C
- flags: 0040004C (conn. mode: postproc, insert pref: first, volume mgmt: implements control, input mode: not set, output mode: not set, offloadable)
- name: lgmqadummy
- implementor: LG Software Ltd.
- Input configuration:
Frames Smp rate Channels Format Buffer
01792 44100 00000003 1 (AUDIO_FORMAT_PCM_16_BIT) 0xf0faf000
- Output configuration:
Buffer Frames Smp rate Channels Format
0xf0faf000 01792 44100 00000003 1 (AUDIO_FORMAT_PCM_16_BIT)
1 Clients:
Pid Priority Ctrl Locked client server
1139 0 yes yes 0 0
Effect ID 203:
Session Status State Engine:
00289 000 003 0xede3d060
Descriptor:
- UUID: 08B8B058-0590-11E5-AC71-0025B32654A0
- TYPE: 08B8B058-0590-11E5-AC71-0025B32654A0
- apiVersion: ED97E04C
- flags: 00C00280 (conn. mode: insert, insert pref: any, volume mgmt: requires indication, device indication: requires updates, input mode: not set, output mode: not set, offloadable)
- name: Volume listener for Music
- implementor: Qualcomm Technologies Inc.
- Input configuration:
Frames Smp rate Channels Format Buffer
01792 44100 00000003 1 (AUDIO_FORMAT_PCM_16_BIT) 0xf0faf000
- Output configuration:
Buffer Frames Smp rate Channels Format
0xf0faf000 01792 44100 00000003 1 (AUDIO_FORMAT_PCM_16_BIT)
1 Clients:
Pid Priority Ctrl Locked client server
1016 0 yes yes 0 0
Local log:
01-04 15:37:07.351 CFG_EVENT_CREATE_AUDIO_PATCH: old device 0x8 (AUDIO_DEVICE_OUT_WIRED_HEADPHONE) new device 0x8 (AUDIO_DEVICE_OUT_WIRED_HEADPHONE)
01-04 15:37:07.360 addTrack_l (0xeba29380) none no 28953 3 00000001 00000003 289 22932 A 1 44100 0 0 0 00000000 ED974C00 00000000 0x000 0 0

This is a picture of my V30 playing a 16/44 track through Direct path, offloadable, straight to the DAC -- no mixer involved. I bet you have never seen that before -- although you may have heard it without knowing. It is what happens when the Tidal app plays one of those Warner 16-bit Master tracks that were added on Tidal last year.

Normally LG Quad DAC phones are unable to play 16/44 tracks through Direct path and will send them through the mixer which upsamples to 16/48. Getting around that is one of the main topics of this thread. UAPP and Neutron does it by converting all 16-bit tracks to 24-bit, which CAN be played through Direct path. But the Tidal app has always sent 16/44 tracks through the mixer. The reason Master tracks do NOT go through the mixer is they used to be mostly 24-bit.

But it turns out that Tidal manages to do the impossible when it plays a 16/44 MQA track. I can only assume that setting the MQA flag (the lgmqadummy effect) is what allows it to happen. I am embarrassed to only have discovered it now after 3+ years with the V30. Feel free to call me out if it was already posted somewhere and I just overlooked it :upside_down:

This has the following positive implications:

1) As long as you use a Tidal version compatible with Quad DAC phones (latest is 2.21.0) you can play ALL Master tracks directly form the Tidal app without worrying about them being resampled. That includes downloaded tracks in offline mode. Of course all non-MQA tracks must still be played through UAPP as usual. But UAPP doesn't support Tidal offline mode, and it can be less stable when streaming Tidal, particularly high bitrate tracks. Still, I recommend using UAPP as your primary Tidal player -- and I definitely recommend supporting them by spending the measly $8 to buy this app.

2) This adds a whole other perspective to UAPP's insistence on setting the MQA flag even when non-MQA 16/44 tracks are played (i.e. regular PCM RedBook tracks). This is something I have often complained about (such as in this post and its following discussion) because it forces use of MQA's Digital Filter even when there is no MQA involved.

Davy (the UAPP developer) told me in an email that "MQA/Meridian also recommends to have the MQA processing turned on at all times to have seamless switching between MQA and non-MQA tracks."

This never made much sense to me. But what if the reason for MQA's recommendation is that "having MQA processing turned on" (i.e. the lgmqadummy effect) is the only way to play 16/44 unmolested on Quad DAC phones. Surely MQA must have discovered this issue with 16/44 tracks when they were involved with LG to implement MQA on the V30 (the first to get MQA). After all, MQA can never survive going through the mixer so they would have to solve that in order to certify the V30 for MQA. This would make a lot more sense to me as a reason to keep the MQA flag on than the explanation they gave Davy.

In any case, this means that UAPP could actually play 16/44 straight, without converting it to 24/44, since it already sets the MQA flag when playing 16/44 tracks. This would apply to MQA and non-MQA tracks alike.

I intend to raise this with Davy one of these days. As always I am finding myself out of time today after spending too much time in forum discussions and messing with my phone and DAC...

Anyways, this is GOOD news, gentlemen (and ladies) :relaxed:
 
Last edited:
Feb 6, 2021 at 10:47 AM Post #964 of 1,175
For MQA, how many times unfold (if that’s the right term) is this series of MQA enabled quad DAC LG phones. I see some more costly players saying 8x or 16x.

Also a question on the UAPP interface. What is the difference between the Direct kHz number on the left and MQA kHz number on the right. Is the left what the player is capable of playing at and the right what it would play at at full potential with the highest level equipment?

This is hard to get my head around, I’m getting old!
 
Feb 6, 2021 at 5:49 PM Post #965 of 1,175
For MQA, how many times unfold (if that’s the right term) is this series of MQA enabled quad DAC LG phones. I see some more costly players saying 8x or 16x.

I saw that some time ago, with DACs promoting 8x, 16x etc MQA, and I am skeptical if that's a real thing. The highest unfolded sample rate I have seen in real world tracks was 352.8Khz (8x 44.1KHz PCM, so-called DXD, a common recording format). With current DAC's topping out at 768KHz (16x 48KHz) I guess the 16x MQA claim could be technically valid -- if you can ever find content that has it. Either way can it certainly not reflect audible sound quality improvements.

Also a question on the UAPP interface. What is the difference between the Direct kHz number on the left and MQA kHz number on the right. Is the left what the player is capable of playing at and the right what it would play at at full potential with the highest level equipment?

This is hard to get my head around, I’m getting old!

The File number to the right is EITHER the base sample rate of the file (without unfolding) OR the fully unfolded MQA sample rate from the file's metadata. It depends on whether the file has accurate MQA metadata. The Direct number to the left is UAPP's best guess at what the track will be unfolded to by the DAC. As far as I can tell, UAPP always guesses at 4x the file's base sample rate. Since those are always 44.1KHz or 48KHz, UAPP will always display 176.4KHz or 192KHz. But it really doesn't know since there is no feedback from the DAC (or the MQA processing module on the phone) to even confirm that it is being unfolded. That causes odd situations like the one below, saying File: 352.78KHz (based on file metadata) but Direct: 174.4KHz (4x the base sample rate of 44.1KHz).

Screenshot_2021-02-06-17-19-06.png
Other odd situations are the many Warner 16/44 MQA albums on Tidal, which contain NO additional samples to unfold. They are just plain 44.1KHz files (but if we are to believe MQA, adjusted by the MQA encoder to account for the characteristics of the original ADC, so as to reduce smear caused by sparse samples poorly placed on the waveform). UAPP displays those as Direct: 176.4KHz File: 44.1KHz because UAPP assumes it will be unfolded 4x, even though there is nothing to unfold.

Screenshot_2021-02-06-17-34-13.png
Many of those Warner 16/44 MQA releases are historical recordings. I bought the record shown here back in the 1970s (when it was EMI) and still have it in storage. Sound quality was never its forte, but the performance might be the best ever of this concerto. (For those not familiar with Jacqueline du Pre, her story is remarkable, but gut wrenching.)

To wrap up about UAPP: In cases where UAPP's in-app software MQA decoder is used (playing on a non-MQA DAC), UAPP knows exactly how the file is unfolded and will display the correct sample rate -- although it can never be more than 2x.
 
Last edited:
Feb 10, 2021 at 1:47 AM Post #967 of 1,175
I just re-installed Tidal version 2.21.0 (using APKMirror installer and the steps described in this post) and MQA is working again through Direct path.

It reminded me of some good news which I stumbled upon last month, but never got around to post.

Check this very rare bird (notice the bold streaks on its wings):

Output thread 0xed92a000, name AudioOut_7D, tid 29229, type 1 (DIRECT):
I/O handle: 125
Standby: no
Sample rate: 44100 Hz
HAL frame count: 1792
HAL format: 0x1 (AUDIO_FORMAT_PCM_16_BIT)
HAL buffer size: 7168 bytes
Channel count: 2
Channel mask: 0x00000003 (front-left, front-right)
Processing format: 0x1 (AUDIO_FORMAT_PCM_16_BIT)
Processing frame size: 4 bytes
Pending config events: none
Output device: 0x8 (AUDIO_DEVICE_OUT_WIRED_HEADPHONE)
Input device: 0 (AUDIO_DEVICE_NONE)
Audio source: 0 (default)
Normal frame count: 1792
Last write occurred (msecs): 22
Total writes: 98
Delayed writes: 0
Blocked in write: yes
Suspend count: 0
Sink buffer : 0xed6d4000
Mixer buffer: 0xea1a8000
Effect buffer: 0xed974c00
Fast track availMask=0xfe
Standby delay ns=1000000000
AudioStreamOut: 0xede0e560 flags 0x400001 (AUDIO_OUTPUT_FLAG_DIRECT)
Frames written: 175616
Suspended frames: 0
Hal stream dump:
Stream volumes in dB: 0:-10, 1:-20, 2:-23, 3:-20, 4:-23, 5:-23, 6:0, 7:-20, 8:-22, 9:-96, 10:-24, 11:0, 12:0
Normal mixer raw underrun counters: partial=0 empty=0
1 Tracks of which 1 are active
Name Active Client Type Fmt Chn mask Session fCount S F SRate L dB R dB VS dB Server Main buf Aux buf Flags UndFrmCnt Flushed
none yes 28953 3 00000001 00000003 289 22932 A 3 44100 0 0 0 0002B500 ED974C00 00000000 0x000 0 0
1 Effect Chains
2 effects for session 289
In buffer Out buffer Active tracks:
0xed974c00 -> 0xf0faf000 0xf0faf000 -> 0xed974c00 1
Effect ID 195:
Session Status State Engine:
00289 000 003 0xef59fcc0
Descriptor:
- UUID: 337377E3-92FC-4F0B-B677-EAEB249EAEE6
- TYPE: 534E176F-456C-4EF4-8099-D7BA766AB0FA
- apiVersion: F0BEAD6C
- flags: 0040004C (conn. mode: postproc, insert pref: first, volume mgmt: implements control, input mode: not set, output mode: not set, offloadable)
- name: lgmqadummy
- implementor: LG Software Ltd.
- Input configuration:
Frames Smp rate Channels Format Buffer
01792 44100 00000003 1 (AUDIO_FORMAT_PCM_16_BIT) 0xf0faf000
- Output configuration:
Buffer Frames Smp rate Channels Format
0xf0faf000 01792 44100 00000003 1 (AUDIO_FORMAT_PCM_16_BIT)
1 Clients:
Pid Priority Ctrl Locked client server
1139 0 yes yes 0 0
Effect ID 203:
Session Status State Engine:
00289 000 003 0xede3d060
Descriptor:
- UUID: 08B8B058-0590-11E5-AC71-0025B32654A0
- TYPE: 08B8B058-0590-11E5-AC71-0025B32654A0
- apiVersion: ED97E04C
- flags: 00C00280 (conn. mode: insert, insert pref: any, volume mgmt: requires indication, device indication: requires updates, input mode: not set, output mode: not set, offloadable)
- name: Volume listener for Music
- implementor: Qualcomm Technologies Inc.
- Input configuration:
Frames Smp rate Channels Format Buffer
01792 44100 00000003 1 (AUDIO_FORMAT_PCM_16_BIT) 0xf0faf000
- Output configuration:
Buffer Frames Smp rate Channels Format
0xf0faf000 01792 44100 00000003 1 (AUDIO_FORMAT_PCM_16_BIT)
1 Clients:
Pid Priority Ctrl Locked client server
1016 0 yes yes 0 0
Local log:
01-04 15:37:07.351 CFG_EVENT_CREATE_AUDIO_PATCH: old device 0x8 (AUDIO_DEVICE_OUT_WIRED_HEADPHONE) new device 0x8 (AUDIO_DEVICE_OUT_WIRED_HEADPHONE)
01-04 15:37:07.360 addTrack_l (0xeba29380) none no 28953 3 00000001 00000003 289 22932 A 1 44100 0 0 0 00000000 ED974C00 00000000 0x000 0 0

This is a picture of my V30 playing a 16/44 track through Direct path, offloadable, straight to the DAC -- no mixer involved. I bet you have never seen that before -- although you may have heard it without knowing. It is what happens when the Tidal app plays one of those Warner 16-bit Master tracks that were added on Tidal last year.

Normally LG Quad DAC phones are unable to play 16/44 tracks through Direct path and will send them through the mixer which upsamples to 16/48. Getting around that is one of the main topics of this thread. UAPP and Neutron does it by converting all 16-bit tracks to 24-bit, which CAN be played through Direct path. But the Tidal app has always sent 16/44 tracks through the mixer. The reason Master tracks do NOT go through the mixer is they used to be mostly 24-bit.

But it turns out that Tidal manages to do the impossible when it plays a 16/44 MQA track. I can only assume that setting the MQA flag (the lgmqadummy effect) is what allows it to happen. I am embarrassed to only have discovered it now after 3+ years with the V30. Feel free to call me out if it was already posted somewhere and I just overlooked it :upside_down:

This has the following positive implications:

1) As long as you use a Tidal version compatible with Quad DAC phones (latest is 2.21.0) you can play ALL Master tracks directly form the Tidal app without worrying about them being resampled. That includes downloaded tracks in offline mode. Of course all non-MQA tracks must still be played through UAPP as usual. But UAPP doesn't support Tidal offline mode, and it can be less stable when streaming Tidal, particularly high bitrate tracks. Still, I recommend using UAPP as your primary Tidal player -- and I definitely recommend supporting them by spending the measly $8 to buy this app.

2) This adds a whole other perspective to UAPP's insistence on setting the MQA flag even when non-MQA 16/44 tracks are played (i.e. regular PCM RedBook tracks). This is something I have often complained about (such as in this post and its following discussion) because it forces use of MQA's Digital Filter even when there is no MQA involved.

Davy (the UAPP developer) told me in an email that "MQA/Meridian also recommends to have the MQA processing turned on at all times to have seamless switching between MQA and non-MQA tracks."

This never made much sense to me. But what if the reason for MQA's recommendation is that "having MQA processing turned on" (i.e. the lgmqadummy effect) is the only way to play 16/44 unmolested on Quad DAC phones. Surely MQA must have discovered this issue with 16/44 tracks when they were involved with LG to implement MQA on the V30 (the first to get MQA). After all, MQA can never survive going through the mixer so they would have to solve that in order to certify the V30 for MQA. This would make a lot more sense to me as a reason to keep the MQA flag on than the explanation they gave Davy.

In any case, this means that UAPP could actually play 16/44 straight, without converting it to 24/44, since it already sets the MQA flag when playing 16/44 tracks. This would apply to MQA and non-MQA tracks alike.

I intend to raise this with Davy one of these days. As always I am finding myself out of time today after spending too much time in forum discussions and messing with my phone and DAC...

Anyways, this is GOOD news, gentlemen (and ladies) :relaxed:


First of all thank you for your detailed answer, however I would like to ask you something, when I use USB audio player I can't choose among the DAC's digital filtres (Slow,Short, etc etc) I mean I can't hear any difference when I change the digital filter, is this a problem? The digital filter setting works well on Tidal.
 
Feb 10, 2021 at 2:34 AM Post #968 of 1,175
First of all thank you for your detailed answer, however I would like to ask you something, when I use USB audio player I can't choose among the DAC's digital filtres (Slow,Short, etc etc) I mean I can't hear any difference when I change the digital filter, is this a problem? The digital filter setting works well on Tidal.
That was discussed a few pages ago in this thread.

It is because UAPP keeps the MQA flag set on all 16/44 tracks, regardless of whether they're MQA or not. The Tidal app only enables the MQA flag on actual MQA tracks.

When MQA processing is enabled (MQA flag set) the phone uses the MQA filter. Thus you cannot use any of the standard filters. In Nougat and Oreo you wouldn't be allowed to change the filter during MQA playback. In Pie it'll let you change it, but the change won't take effect as long as MQA is enabled.

I have told Davy (the UAPP dev) that I disagree with UAPP keeping the MQA flag enabled this way since it blocks use of the selected filter for non-MQA tracks.

This is only an issue on non-MQA tracks, since MQA tracks obviously must have the MQA flag set to enable MQA processing. And the Tidal app upsamles non-MQA tracks to 16/48 - which is worse than using the MQA filter. So UAPP will always sound the same or better than Tidal app. And that's EVEN if you use the old Tidal version 2.21.0.

If you use more recent versions of the Tidal app, you don't get MQA anyway (because it resamples everything, which loses MQA). So I guess you will always be able to change the filter with newer Tidal versions. But not for a good reason.

If you don't play MQA, you can simply disable the MQA flag in UAPP Settings - Internal HiRes audio - HiRes driver flags. Then you'll be able to change filters.
 
Last edited:
Feb 10, 2021 at 2:08 PM Post #972 of 1,175
Strange fact, if I disable the MQA flag and leave the Direct PCM flag still I won't be able to use the digital filters, only when I disable all the flags, the digital filters work

I don't know why it would cause that, but according to Davy, LG Quad DC phones should leave ALL flags cleared except the MQA flag. When cleared, UAPP sets all appropriate flags internally for devices that are recognized. So that's what I've always done in my 3 years with UAPP on V30.
 
Feb 14, 2021 at 12:23 PM Post #973 of 1,175
Just an update:

I received and tested Tidal app version 2.37.0, and it's still the same: Everything goes through the mixer, 16/44, 16/44 MQA as well HiRes MQA.

Tidal app version 2.21.0 remains the latest that will play MQA (and ALL MQA) correctly on Quad DAC phones: Direct path, offloadable - in other words bit-perfect. But ONLY on Android versions below 10. All non-MQA tracks will still go through the Mixer. See earlier in this thread for steps to install Tidal 2.21.0.

As usual, UAPP is needed for always-perfect Tidal app streaming.
 
Feb 14, 2021 at 12:50 PM Post #974 of 1,175
Just an update:

I received and tested Tidal app version 2.37.0, and it's still the same: Everything goes through the mixer, 16/44, 16/44 MQA as well HiRes MQA.

Tidal app version 2.21.0 remains the latest that will play MQA (and ALL MQA) correctly on Quad DAC phones: Direct path, offloadable - in other words bit-perfect. But ONLY on Android versions below 10. All non-MQA tracks will still go through the Mixer. See earlier in this thread for steps to install Tidal 2.21.0.

As usual, UAPP is needed for always-perfect Tidal app streaming.

Thanks for the update. That’s too bad that it’s not fixed yet, but good to know.

I think UAPP has slowly become preferred for me as we wait for a fix and will probably remain my main player. I like that I can transition between files saved to my sdhc card and tidal easily, and make playlists that include tidal and non-tidal content. I understand why we can’t, but it’s still too bad we can’t download tidal files through UAPP for offline listening. I do find the tidal app a little smoother/slicker than UAPP, but not overly so.
 

Users who are viewing this thread

Back
Top