Music Apps, Tips and Tricks for the LG V30, V35, V40, V50 & V60
May 14, 2019 at 6:30 PM Post #646 of 1,175
Into a 32-Ohm load:

There is no inherent difference in quality between DoP and Native DSD. They are merely different structural containers for exactly the same data. Any issue is an implementation bug in one of the two...

(in case it matters; I master music for a living, some in DSD, and consult to a DSD/DXD workstation developer)

Regarding the 'Phone is a Phone, DAP is a DAP' and ne'er the twain shall meet' comment: @csglinux makes the case very clearly, from his test results, that the V30 / V40 more than hold their own with the DAPs listed. Also note that the signal to noise ratio of the Apple Nano is actually even worse than the number suggests because the bandwidth is less than half of the two LG phones tested. I used to own the FiiO X7 Mk II and nowadays have the V30 and an AK Kann (for the dual memory cards and ASIO DAC functions.) The V30 is excellent!
 
May 14, 2019 at 7:26 PM Post #647 of 1,175
I've never seen an argument to suggest that DoP causes any sonic losses at all vs native DSD playback. Anybody know of a good counter-argument or reason why that isn't so?

I won't counter on this statement. My intention is just let him know there are some phones can do. :)

However, please enlight me. Can all android process DoP as a baseline by itself? And how do we verify that it is on DoP mode, not D2P.

Isn't DoP just an option when we connect phone to external dac/amp like chord mojo and select whether send it DoP or PCM ?
 
Last edited:
May 14, 2019 at 8:59 PM Post #648 of 1,175
However, please enlight me. Can all android process DoP as a baseline by itself? And how do we verify that it is on DoP mode, not D2P.

In the case of our Quad DAC, it has native DoP64 and DoP128 hardware modes, distinct from PCM mode. So the DAC accepts DoP data and renders the DSD directly from it. I.e. not just as D2P.

Check this from the V30 ESS 9218P driver: It basically lists the register values sent to the DAC when DoP mode is activated. Just read the comments (after // on each line) and ignore the rest.

Code:
struct es9218_reg   es9218_DOP_init_register[] = {
//will be upadated    { ES9218P_REG_00,        0x00 },    // System Register - 0x00 : MCLK/1 : DOP128(Default), 0x04 : MCLK/2 : DOP64
    { ES9218P_REG_01,        0x80 },    // Input selection - 0x80 : 32bit-serial only
    { ES9218P_REG_06,          0x4a },      // DoP and Volmue Ramp Rate - 0x4a : DoP(64/128) enable
    { ES9218P_REG_10,        0x82 },    // Master Mode and Sync Configuration - 0x82 : DoP64/128 Master mode enable
//        { ES9218P_REG_10,  0x02 },    // Master Mode and Sync Configuration - 0x82 : DoP64/128 Master mode enable
    { ES9218P_REG_02,        0x31 },    // Mixing, Serial Data and Automute Configuration
#ifdef ENABLE_DOP_AUTO_MUTE
    { ES9218P_REG_14,        0x07 },    // Soft Start Configuration
#endif /* ENABLE_DOP_AUTO_MUTE */
//will be upadated    { ES9218P_REG_15,        0x00 },    // Volume Control - 0x0? : Variable Value from AP
//will be upadated    { ES9218P_REG_16,        0x00 },    // Volume Control - 0x0? : Variable Value from AP
    { ES9218P_REG_29,        0x00 },    // General Confguration - 0x00 : auto-gear disable
};
 
Last edited:
May 14, 2019 at 9:20 PM Post #649 of 1,175
In the case of our Quad DAC, it has native DoP64 and DoP128 hardware modes, distinct from PCM mode. So the DAC accepts DoP data and renders the DSD directly from it. I.e. not just as D2P.

Check this from the V30 ESS 9218P driver: It basically lists the register values sent to the DAC when DoP mode is activated. Just read the comments (after // on each line) and ignore the rest.

Code:
struct es9218_reg   es9218_DOP_init_register[] = {
//will be upadated    { ES9218P_REG_00,        0x00 },    // System Register - 0x00 : MCLK/1 : DOP128(Default), 0x04 : MCLK/2 : DOP64
    { ES9218P_REG_01,        0x80 },    // Input selection - 0x80 : 32bit-serial only
    { ES9218P_REG_06,          0x4a },      // DoP and Volmue Ramp Rate - 0x4a : DoP(64/128) enable
    { ES9218P_REG_10,        0x82 },    // Master Mode and Sync Configuration - 0x82 : DoP64/128 Master mode enable
//        { ES9218P_REG_10,  0x02 },    // Master Mode and Sync Configuration - 0x82 : DoP64/128 Master mode enable
    { ES9218P_REG_02,        0x31 },    // Mixing, Serial Data and Automute Configuration
#ifdef ENABLE_DOP_AUTO_MUTE
    { ES9218P_REG_14,        0x07 },    // Soft Start Configuration
#endif /* ENABLE_DOP_AUTO_MUTE */
//will be upadated    { ES9218P_REG_15,        0x00 },    // Volume Control - 0x0? : Variable Value from AP
//will be upadated    { ES9218P_REG_16,        0x00 },    // Volume Control - 0x0? : Variable Value from AP
    { ES9218P_REG_29,        0x00 },    // General Confguration - 0x00 : auto-gear disable
};

Thanks a bunch for this information.

What about my second question, please?
 
May 15, 2019 at 1:02 AM Post #650 of 1,175
Isn't DoP just an option when we connect phone to external dac/amp like chord mojo and select whether send it DoP or PCM ?

no. DoP is a true DSD stream in a PCM container, so that it can be transmitted over USB interfaces that only support PCM. Mojo converts DSD to PCM as it was designed to process PCM only (despite supporting the DSD format), with it's fpga and flip flop thingies. I think Rob Watts doesn't like traditional DSD modulators in his DACs.
 
May 18, 2019 at 4:40 PM Post #651 of 1,175
Hi,

I've just received a LG V30 & have been reading this thread. Just a few questions to confirm I've got the most current info. I'm wanting to find the more straight forward way to stream "red book" quality audio (16 bit /44.1 Khz) . From what I've read so far it's possible to stream 16 bit / 44.1 Khz "bit perfect" audio on the LG V30 using Tidal,Qobuz (and others?) in combination with Neutron or UAPP. But it's not possible to play the Tidal/Qobuz offline Library's of imported 16 bit / 44.1 Khz music as it gets re-sampled?.
 
Last edited:
May 18, 2019 at 5:47 PM Post #652 of 1,175
Hi,

I've just received a LG V30 & have been reading this thread. Just a few questions to confirm I've got the most current info. I'm wanting to find the more straight forward way to stream "red book" quality audio (16 bit /44.1 Khz) . From what I've read so far it's possible to stream 16 bit / 44.1 Khz "bit perfect" audio on the LG V30 using Tidal,Qobuz (and others?) in combination with Neutron or UAPP. But it's not possible to play the Tidal/Qobuz offline Library's of imported 16 bit / 44.1 Khz music as it gets re-sampled?.

Congrats on your V30!

Both UAPP and Neutron will correctly play local music files stored on the phone or an SD card, regardless of sample rate and bit depth.

In addition, UAPP will stream Tidal, Qobuz, Google Play Music and certain network streams, also correctly, including Master/MQA tracks from Tidal. (You don't need UAPP's software MQA decoder option for this, it'll use the Quad DAC's MQA hardware).

The only thing not covered is offline tracks in Tidal and Qobuz, which can only play in their respective apps. In the case of the Tidal app, it plays all Master/MQA tracks correctly, but it up-samples 16/44 tracks. I believe the Qobuz app up-samples 16/44 and down-samples HiRes, so you generally only want to play Qobuz from UAPP. (I could be wrong about the Qobuz app.)

So, you can play everything correctly in UAPP, except it won't play offline Tidal/Qobuz tracks.
 
Last edited:
May 19, 2019 at 12:34 PM Post #654 of 1,175
Congrats on your V30!

Both UAPP and Neutron will correctly play local music files stored on the phone or an SD card, regardless of sample rate and bit depth.

In addition, UAPP will stream Tidal, Qobuz, Google Play Music and certain network streams, also correctly, including Master/MQA tracks from Tidal. (You don't need UAPP's software MQA decoder option for this, it'll use the Quad DAC's MQA hardware).

The only thing not covered is offline tracks in Tidal and Qobuz, which can only play in their respective apps. In the case of the Tidal app, it plays all Master/MQA tracks correctly, but it up-samples 16/44 tracks. I believe the Qobuz app up-samples 16/44 and down-samples HiRes, so you generally only want to play Qobuz from UAPP. (I could be wrong about the Qobuz app.)

So, you can play everything correctly in UAPP, except it won't play offline Tidal/Qobuz tracks.
I have just bought UAPP but don't know why it can not play DSD file in direct mode(hires driver). Do we need to setup anywhere to enable D2P?
 
May 19, 2019 at 1:08 PM Post #655 of 1,175
I have just bought UAPP but don't know why it can not play DSD file in direct mode(hires driver). Do we need to setup anywhere to enable D2P?

The only DSDs I have are the samples from 2L, and they play correctly as DSF files. See screenshot and audio_flinger dump below.

Screenshot_2019-05-19-13-02-13.png

Output thread 0xe99fb000, name AudioOut_14D, tid 28050, type 1 (DIRECT):
I/O handle: 333
Standby: no
Sample rate: 352800 Hz
HAL frame count: 1920
HAL format: 0x3 (AUDIO_FORMAT_PCM_32_BIT)
HAL buffer size: 15360 bytes
Channel count: 2
Channel mask: 0x00000003 (front-left, front-right)
Processing format: 0x3 (AUDIO_FORMAT_PCM_32_BIT)
Processing frame size: 8 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: 1920
Last write occurred (msecs): 4
Total writes: 768
Delayed writes: 0
Blocked in write: yes
Suspend count: 0
Sink buffer : 0xe998a000
Mixer buffer: 0xe95a4000
Effect buffer: 0xe99fd000
Fast track availMask=0xfe
Standby delay ns=1000000000
AudioStreamOut: 0xed20e8a0 flags 0x200001 (AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_DOP)
Frames written: 1474560
Suspended frames: 0
Hal stream dump:
Stream volumes in dB: 0:-10, 1:-21, 2:-23, 3:-21, 4:-23, 5:-23, 6:0, 7:-21, 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 24614 3 00000003 00000003 1153 65536 A 3 352800 0 0 0 00168F00 E99FD000 00000000 0x000 0 0
1 Effect Chains
1 effects for session 1153
In buffer Out buffer Active tracks:
0xe99fd000 -> 0xf03a8000 0xf03a8000 -> 0xe99fd000 1
Effect ID 643:
Session Status State Engine:
01153 000 003 0xed23d060
Descriptor:
- UUID: 08B8B058-0590-11E5-AC71-0025B32654A0
- TYPE: 08B8B058-0590-11E5-AC71-0025B32654A0
- apiVersion: D244CEE5
- 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
01920 352800 00000003 1 (AUDIO_FORMAT_PCM_16_BIT) 0xf03a8000
- Output configuration:
Buffer Frames Smp rate Channels Format
0xf03a8000 01920 352800 00000003 1 (AUDIO_FORMAT_PCM_16_BIT)
1 Clients:
Pid Priority Ctrl Locked client server
1229 0 yes yes 0 0
Local log:
05-16 18:46:53.124 CFG_EVENT_CREATE_AUDIO_PATCH: old device 0x8 (AUDIO_DEVICE_OUT_WIRED_HEADPHONE) new device 0x8 (AUDIO_DEVICE_OUT_WIRED_HEADPHONE)
05-16 18:46:53.138 addTrack_l (0xeae06f00) none no 24614 3 00000003 00000003 1153 65536 A 1 352800 0 0 0 00000000 E99FD000 00000000 0x000 0 0

As per the UAPP developer's recommendation, make sure you ONLY enable MQA under HiRes driver flags, and nothing else:

Screenshot_2019-05-19-13-02-30.png

Oh, and you DON'T want D2P, that would cause it to be converted to PCM. You want it to remain DSD inside a PCM container (DoP). That way the DAC takes it straight to its internal DSD/PDM/1-bit mode (where everything eventually ends up anyway, including PCM).
 
Last edited:
May 19, 2019 at 7:17 PM Post #656 of 1,175
The only DSDs I have are the samples from 2, and they play correctly as DSF files. See screenshot and audio_flinger dump below.



Output thread 0xe99fb000, name AudioOut_14D, tid 28050, type 1 (DIRECT):
I/O handle: 333
Standby: no
Sample rate: 352800 Hz
HAL frame count: 1920
HAL format: 0x3 (AUDIO_FORMAT_PCM_32_BIT)
HAL buffer size: 15360 bytes
Channel count: 2
Channel mask: 0x00000003 (front-left, front-right)
Processing format: 0x3 (AUDIO_FORMAT_PCM_32_BIT)
Processing frame size: 8 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: 1920
Last write occurred (msecs): 4
Total writes: 768
Delayed writes: 0
Blocked in write: yes
Suspend count: 0
Sink buffer : 0xe998a000
Mixer buffer: 0xe95a4000
Effect buffer: 0xe99fd000
Fast track availMask=0xfe
Standby delay ns=1000000000
AudioStreamOut: 0xed20e8a0 flags 0x200001 (AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_DOP)
Frames written: 1474560
Suspended frames: 0
Hal stream dump:
Stream volumes in dB: 0:-10, 1:-21, 2:-23, 3:-21, 4:-23, 5:-23, 6:0, 7:-21, 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 24614 3 00000003 00000003 1153 65536 A 3 352800 0 0 0 00168F00 E99FD000 00000000 0x000 0 0
1 Effect Chains
1 effects for session 1153
In buffer Out buffer Active tracks:
0xe99fd000 -> 0xf03a8000 0xf03a8000 -> 0xe99fd000 1
Effect ID 643:
Session Status State Engine:
01153 000 003 0xed23d060
Descriptor:
- UUID: 08B8B058-0590-11E5-AC71-0025B32654A0
- TYPE: 08B8B058-0590-11E5-AC71-0025B32654A0
- apiVersion: D244CEE5
- 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
01920 352800 00000003 1 (AUDIO_FORMAT_PCM_16_BIT) 0xf03a8000
- Output configuration:
Buffer Frames Smp rate Channels Format
0xf03a8000 01920 352800 00000003 1 (AUDIO_FORMAT_PCM_16_BIT)
1 Clients:
Pid Priority Ctrl Locked client server
1229 0 yes yes 0 0
Local log:
05-16 18:46:53.124 CFG_EVENT_CREATE_AUDIO_PATCH: old device 0x8 (AUDIO_DEVICE_OUT_WIRED_HEADPHONE) new device 0x8 (AUDIO_DEVICE_OUT_WIRED_HEADPHONE)
05-16 18:46:53.138 addTrack_l (0xeae06f00) none no 24614 3 00000003 00000003 1153 65536 A 1 352800 0 0 0 00000000 E99FD000 00000000 0x000 0 0

As per the UAPP developer's recommendation, make sure you ONLY enable MQA under HiRes driver flags, and nothing else:



Oh, and you DON'T want D2P, that would cause it to be converted to PCM. You want it to remain DSD inside a PCM container (DoP). That way the DAC takes it straight to its internal DSD/PDM/1-bit mode (where everything eventually ends up anyway, including PCM).
Thanks,
it doesn't work with LG V35 but maybe it's only program's bug because randomly it will play or play without sound.
Can you share the link talking about this issue with Uapp author?Let me complain it to him.
 
May 19, 2019 at 8:14 PM Post #657 of 1,175
Thanks,
it doesn't work with LG V35 but maybe it's only program's bug because randomly it will play or play without sound.
Can you share the link talking about this issue with Uapp author?Let me complain it to him.

I haven't discussed DSD with him specifically, I can just see that it works on my V30. I suggest you post in the UAPP thread about this. I'm sure Davy will respond quickly, he always does.

Edit: Just in case, I'm linking the Head-Fi UAPP thread below:

https://www.head-fi.org/threads/usb...quitous-usb-audio-support-for-android.704065/
 
Last edited:
May 27, 2019 at 10:24 AM Post #658 of 1,175
The only DSDs I have are the samples from 2L, and they play correctly as DSF files. See screenshot and audio_flinger dump below.



Output thread 0xe99fb000, name AudioOut_14D, tid 28050, type 1 (DIRECT):
I/O handle: 333
Standby: no
Sample rate: 352800 Hz
HAL frame count: 1920
HAL format: 0x3 (AUDIO_FORMAT_PCM_32_BIT)
HAL buffer size: 15360 bytes
Channel count: 2
Channel mask: 0x00000003 (front-left, front-right)
Processing format: 0x3 (AUDIO_FORMAT_PCM_32_BIT)
Processing frame size: 8 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: 1920
Last write occurred (msecs): 4
Total writes: 768
Delayed writes: 0
Blocked in write: yes
Suspend count: 0
Sink buffer : 0xe998a000
Mixer buffer: 0xe95a4000
Effect buffer: 0xe99fd000
Fast track availMask=0xfe
Standby delay ns=1000000000
AudioStreamOut: 0xed20e8a0 flags 0x200001 (AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_DOP)
Frames written: 1474560
Suspended frames: 0
Hal stream dump:
Stream volumes in dB: 0:-10, 1:-21, 2:-23, 3:-21, 4:-23, 5:-23, 6:0, 7:-21, 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 24614 3 00000003 00000003 1153 65536 A 3 352800 0 0 0 00168F00 E99FD000 00000000 0x000 0 0
1 Effect Chains
1 effects for session 1153
In buffer Out buffer Active tracks:
0xe99fd000 -> 0xf03a8000 0xf03a8000 -> 0xe99fd000 1
Effect ID 643:
Session Status State Engine:
01153 000 003 0xed23d060
Descriptor:
- UUID: 08B8B058-0590-11E5-AC71-0025B32654A0
- TYPE: 08B8B058-0590-11E5-AC71-0025B32654A0
- apiVersion: D244CEE5
- 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
01920 352800 00000003 1 (AUDIO_FORMAT_PCM_16_BIT) 0xf03a8000
- Output configuration:
Buffer Frames Smp rate Channels Format
0xf03a8000 01920 352800 00000003 1 (AUDIO_FORMAT_PCM_16_BIT)
1 Clients:
Pid Priority Ctrl Locked client server
1229 0 yes yes 0 0
Local log:
05-16 18:46:53.124 CFG_EVENT_CREATE_AUDIO_PATCH: old device 0x8 (AUDIO_DEVICE_OUT_WIRED_HEADPHONE) new device 0x8 (AUDIO_DEVICE_OUT_WIRED_HEADPHONE)
05-16 18:46:53.138 addTrack_l (0xeae06f00) none no 24614 3 00000003 00000003 1153 65536 A 1 352800 0 0 0 00000000 E99FD000 00000000 0x000 0 0

As per the UAPP developer's recommendation, make sure you ONLY enable MQA under HiRes driver flags, and nothing else:



Oh, and you DON'T want D2P, that would cause it to be converted to PCM. You want it to remain DSD inside a PCM container (DoP). That way the DAC takes it straight to its internal DSD/PDM/1-bit mode (where everything eventually ends up anyway, including PCM).
When I tried to set as your settings, It seem wrong when playing 16/44,1 file. When playing these files, its shows Direct but when I switched On/Off Dac I could not hear the interruption (normally it means the DAC does not work). For 24/96 file, all is OK.

When I choose Direct instead of MQA, everything is OK.
 
Last edited:
May 27, 2019 at 12:01 PM Post #659 of 1,175
When I tried to set as your settings, It seem wrong when playing 16/44,1 file. When playing these files, its shows Direct but when I switched On/Off Dac I could not hear the interruption (normally it means the DAC does not work). For 24/96 file, all is OK.

When I choose Direct instead of MQA, everything is OK.
I have the same settings as @Dannemand and everything is ok here. All formats (including 44 kHz PCM) play direct without re-sampling and I hear that little pause when switching HiFi DAC on/off in the settings. Are you using the latest version of UAPP? If so, try killing all background apps and rebooting your phone.
 
Last edited:
May 27, 2019 at 4:47 PM Post #660 of 1,175
I have the same settings as @Dannemand and everything is ok here. All formats (including 44 kHz PCM) play direct without re-sampling and I hear that little pause when switching HiFi DAC on/off in the settings. Are you using the latest version of UAPP? If so, try killing all background apps and rebooting your phone.
Sp, means having some differences between V35 and V30. Even I can hear the Pause when setting to use Android default Driver. I don't see any different between these modes.
 

Users who are viewing this thread

Back
Top