LG V20 Sound Quality
Oct 1, 2017 at 6:10 PM Post #2,942 of 4,139
V10 user here (with 6 warranty exchanges for bootloop abs counting!) Trying to decide between V20 and v30 and the lack of a removable battery worries me.

How is V20 battery life for you long term users?

I burn through many batteries useful life because I use high impedance HD600 headphones....it drains battery fast. Lots of other reasons....I am constantly recharging all day long. Replaceable battery is important to me. V30 is not appealing only for that reason. I think the average user isn't going to suffer nearly as much with that issue.
 
Oct 1, 2017 at 7:04 PM Post #2,943 of 4,139
I've had some time to get used to the sound now and overall this is a stunning musical device. Especially considering it's not really a musical device....

The sound is absolutely grainless, punchy, detailed and smooth as silk. Still think there's a hint of sterility/coldness, but it's not as bad as I thought it was during my initial impression (I had a headache brewing that day that didn't help). It's not the best I've heard in the my life, but damn... I can probably live with this thing the rest of my life and be moderately happy.

On another note, I hooked it up to my Auralic Taurus amp and while it made a difference it wasn't as big as I expected. Both the DAC and amp inside this device are very good.
 
Oct 2, 2017 at 2:12 AM Post #2,945 of 4,139
The problem is likely in the flinger/mixer routines that are part of the libraries used for sound. The mixer does whatever it wants really..based on source sample rate...what else is going on ...and some complex decisions that likely factor in barometric pressure and ambient temperature (LoL). Upsampling and downsampling are not done well. bottom line -- lots of ripple and noise.

When played correctly and sounding right the adb ouput with the following command is as such:

adb shell dumpsys media.audio_flinger

Output thread 0xf418f000 type 1 (DIRECT):
Thread name: AudioOut_25D
I/O handle: 605
TID: 22141
Standby: no
Sample rate: 44100 Hz
HAL frame count: 1344
HAL format: 0x5 (pcmfloat)
HAL buffer size: 10752 bytes
Channel count: 2
Channel mask: 0x00000003 (front-left, front-right)
Processing format: 0x5 (pcmfloat)
Processing frame size: 8 bytes
Pending config events: none
Output device: 0x4 (WIRED_HEADSET)
Input device: 0 (NONE)
Audio source: 0 (default)
Normal frame count: 1344
Last write occurred (msecs): 32
Total writes: 201
Delayed writes: 0
Blocked in write: yes
Suspend count: 0
Sink buffer : 0xf4243000
Mixer buffer: 0xf4712000
Effect buffer: 0xf51d8800
Fast track availMask=0xfe
Standby delay ns=1000000000
AudioStreamOut: 0xf66a6e98 flags 0x2001 (DIRECT|0x2000)
Stream volumes in dB: 0:-6.8, 1:-28, 2:-28, 3:-28, 4:-28, 5:-28, 6:0, 7:-28, 8:-23, 9:-96, 10:0, 11:-28, 12:0, 13: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 Server Main buf Aux Buf Flags UndFrmCnt
none yes 20012 3 00000005 00000003 1129 7072 A 3 44100 0 0 00042480 0xf4243000 0x0 0x000 0
0 Effect Chains


But a few moments later --- at seemingly random intervals ….The sound somehow initializes different….and Android settles down to play it like this …and it sounds terrible (same exact track):

Library volume_listener
Volume listener for notification / Qualcomm Technologies Inc
UUID: 0b776dde-0590-11e5-81ba-0025b32654a0
TYPE: 0b776dde-0590-11e5-81ba-0025b32654a0
apiVersion: 00020000
flags: 00400280
Volume listener for voice call / Qualcomm Technologies Inc
UUID: 0ace5c08-0590-11e5-ae9e-0025b32654a0
TYPE: 0ace5c08-0590-11e5-ae9e-0025b32654a0
apiVersion: 00020000
flags: 00400280
Volume listener for alarm / Qualcomm Technologies Inc
UUID: 09f303e2-0590-11e5-8fdb-0025b32654a0
TYPE: 09f303e2-0590-11e5-8fdb-0025b32654a0
apiVersion: 00020000
flags: 00400280
Volume listener for ring / Qualcomm Technologies Inc
UUID: 0956df94-0590-11e5-bdbe-0025b32654a0
TYPE: 0956df94-0590-11e5-bdbe-0025b32654a0
apiVersion: 00020000
flags: 00400280
Volume listener for Music / Qualcomm Technologies Inc.
UUID: 08b8b058-0590-11e5-ac71-0025b32654a0
TYPE: 08b8b058-0590-11e5-ac71-0025b32654a0
apiVersion: 00020000
flags: 00400280
Library audio_pre_processing
Noise Suppression / Qualcomm Fluence
UUID: 1d97bb0b-9e2f-4403-9ae3-58c2554306f8
TYPE: 58b4b260-8e06-11e0-aa8e-0002a5d5c51b
apiVersion: 00020000
flags: 00000203
Acoustic Echo Canceler / Qualcomm Fluence
UUID: 0f8d0d2a-59e5-45fe-b6e4-248c8a799109
TYPE: 7b491460-8d4d-11e0-bd61-0002a5d5c51b
apiVersion: 00020000
flags: 00000203
Library offload_bundle
(no effects)
Library proxy
Visualizer / The Android Open Source Project
UUID: 1d0a1a53-7d5d-48f2-8e71-27fbd10d842c
TYPE: e46b26a0-dddd-11db-8afd-0002a5d5c51b
apiVersion: 00020000
flags: 00400008
Insert Preset Reverb / NXP Software Ltd.
UUID: f3e178d2-ebcb-408e-8357-0002a5d5c51b
TYPE: 47382d60-ddd8-11db-bf3a-0002a5d5c51b
apiVersion: 00020000
flags: 00400048
Auxiliary Preset Reverb / NXP Software Ltd.
UUID: 1b78f587-6d1c-422e-8b84-0002a5d5c51b
TYPE: 47382d60-ddd8-11db-bf3a-0002a5d5c51b
apiVersion: 00020000
flags: 00400001
Insert Environmental Reverb / NXP Software Ltd.
UUID: b707403a-a1c1-4291-9573-0002a5d5c51b
TYPE: c2e5d5f0-94bd-4763-9cac-4e234d06839e
apiVersion: 00020000
flags: 00400048
Auxiliary Environmental Reverb / NXP Software Ltd.
UUID: 48404ac9-d202-4ccc-bf84-0002a5d5c51b
TYPE: c2e5d5f0-94bd-4763-9cac-4e234d06839e
apiVersion: 00020000
flags: 00400001
Equalizer / NXP Software Ltd.
UUID: c8e70ecd-48ca-456e-8a4f-0002a5d5c51b
TYPE: 0bed4300-ddd6-11db-8f34-0002a5d5c51b
apiVersion: 00020000
flags: 00400048
Qualcomm Technologies Virtualizer / Qualcomm Technologies, Inc.
UUID: d3467faa-acc7-4d34-acaf-0002a5d5c51b
TYPE: 37cc2c00-dddd-11db-8577-0002a5d5c51b
apiVersion: 00020000
flags: 00400290
Qualcomm Technologies Bass Boost / Qualcomm Technologies, Inc.
UUID: 14804144-a5ee-4d24-aa88-0002a5d5c51b
TYPE: 0634f220-ddd4-11db-a0fc-0002a5d5c51b
apiVersion: 00020000
flags: 00400290
Library loudness_enhancer
Loudness Enhancer / The Android Open Source Project
UUID: fa415329-2034-4bea-b5dc-5b381c8d1e2c
TYPE: fe3199be-aed0-413f-87bb-11260eb63cf1
apiVersion: 00020000
flags: 00000008
Library downmix
Multichannel Downmix To Stereo / The Android Open Source Project
UUID: 93f04452-e4fe-41cc-91f9-e475b6d1d69f
TYPE: 381e49cc-a858-4aa2-87f6-e8388e7601b2
apiVersion: 00020000
flags: 00000008
Library visualizer_hw
(no effects)
Library visualizer_sw
(no effects)
Library qcreverb
(no effects)
Library qcvirt
(no effects)
Library qcbassboost
(no effects)
Library reverb
(no effects)
Library bundle
Volume / NXP Software Ltd.
UUID: 119341a0-8469-11df-81f9-0002a5d5c51b
TYPE: 09e8ede0-ddde-11db-b4f6-0002a5d5c51b
apiVersion: 00020000
flags: 00000050
Clients:
pid: 20012
Notification Clients:
pid: 915
pid: 943
pid: 1571
pid: 2494
pid: 2975
pid: 3312
pid: 3409
pid: 3482
pid: 8883
pid: 10381
pid: 10401
pid: 14035
pid: 18631
pid: 20012
Global session refs:
session pid count
1137 20012 1
Hardware status: 0
Standby Time mSec: 3000

Output thread 0xf5183840 type 0 (MIXER):
Thread name: AudioOut_D
I/O handle: 13
TID: 1382
Standby: yes
Sample rate: 48000 Hz
HAL frame count: 192
HAL format: 0x1 (pcm16)
HAL buffer size: 768 bytes
Channel count: 2
Channel mask: 0x00000003 (front-left, front-right)
Processing format: 0x5 (pcmfloat)
Processing frame size: 8 bytes
Pending config events: none
Output device: 0 (NONE)
Input device: 0 (NONE)
Audio source: 0 (default)
Normal frame count: 960
Last write occurred (msecs): 2136471
Total writes: 3235
Delayed writes: 0
Blocked in write: no
Suspend count: 0
Sink buffer : 0xf5d4b000
Mixer buffer: 0xf5d49000
Effect buffer: 0xf5d44000
Fast track availMask=0xfe
Standby delay ns=3000000000
AudioStreamOut: 0xf66a5998 flags 0x6 (PRIMARY|FAST)
Thread throttle time (msecs): 0
AudioMixer tracks: 0x00000000
Master mono: off
FastMixer command=COLD_IDLE writeSequence=32494 framesWritten=3119424
numTracks=1 writeErrors=0 underruns=14 overruns=6
sampleRate=48000 frameCount=192 measuredWarmup=15.3 ms, warmupCycles=6
mixPeriod=4.00 ms
Simple moving statistics over last 3.4 seconds:
wall clock time in ms per mix cycle:
mean=4.00 min=1.31 max=6.70 stddev=0.17
raw CPU load in us per mix cycle:
mean=163 min=0 max=477 stddev=62
Fast tracks: sMaxFastTracks=8 activeMask=0x1
Index Active Full Partial Empty Recent Ready
0 yes 810 0 0 full 1152
1 no 0 0 0 full 0
2 no 0 0 0 full 0
3 no 0 0 0 full 0
4 no 0 0 0 full 0
5 no 0 0 0 full 0
6 no 0 0 0 full 0
7 no 0 0 0 full 0
Stream volumes in dB: 0:0, 1:-22, 2:-4.5, 3:0, 4:-24, 5:-35, 6:0, 7:-12, 8:-6, 9:0, 10:0, 11:0, 12:0, 13:0
Normal mixer raw underrun counters: partial=0 empty=0
0 Tracks
0 Effect Chains

Output thread 0xf4e037c0 type 0 (MIXER):
Thread name: AudioOut_15
I/O handle: 21
TID: 1384
Standby: no
Sample rate: 48000 Hz
HAL frame count: 1920
HAL format: 0x1 (pcm16)
HAL buffer size: 7680 bytes
Channel count: 2
Channel mask: 0x00000003 (front-left, front-right)
Processing format: 0x1 (pcm16)
Processing frame size: 4 bytes
Pending config events: none
Output device: 0x4 (WIRED_HEADSET)
Input device: 0 (NONE)
Audio source: 0 (default)
Normal frame count: 1920
Last write occurred (msecs): 25
Total writes: 39452
Delayed writes: 0
Blocked in write: yes
Suspend count: 0
Sink buffer : 0xf5d4d000
Mixer buffer: 0xf5514000
Effect buffer: 0xf5d4f000
Fast track availMask=0xfe
Standby delay ns=3000000000
AudioStreamOut: 0xf66a5a08 flags 0x8 (DEEP_BUFFER)
Thread throttle time (msecs): 400
AudioMixer tracks: 0x00000001
Master mono: off
FastMixer not initialized
Stream volumes in dB: 0:-6.8, 1:-28, 2:-28, 3:-28, 4:-28, 5:-28, 6:0, 7:-28, 8:-23, 9:-96, 10:0, 11:-28, 12:0, 13: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 Server Main buf Aux Buf Flags UndFrmCnt
0 yes 20012 3 00000005 00000003 1137 7072 A 3 44100 0 0 00C22CF8 0xf5d4d000 0x0 0x000 1768
0 Effect Chains

Output thread 0xf4c83d40 type 0 (MIXER):
Thread name: AudioOut_1D
I/O handle: 29
TID: 1388
Standby: yes
Sample rate: 48000 Hz
HAL frame count: 768
HAL format: 0x1 (pcm16)
HAL buffer size: 3072 bytes
Channel count: 2
Channel mask: 0x00000003 (front-left, front-right)
Processing format: 0x5 (pcmfloat)
Processing frame size: 8 bytes
Pending config events: none
Output device: 0 (NONE)
Input device: 0 (NONE)
Audio source: 0 (default)
Normal frame count: 1152
Last write occurred (msecs): 9394420
Total writes: 0
Delayed writes: 0
Blocked in write: no
Suspend count: 0
Sink buffer : 0xf51e5800
Mixer buffer: 0xf51e3000
Effect buffer: 0xf5d74400
Fast track availMask=0xfe
Standby delay ns=3000000000
AudioStreamOut: 0xf66a5b20 flags 0 (NONE)
Thread throttle time (msecs): 0
AudioMixer tracks: 0x00000000
Master mono: off
FastMixer command=COLD_IDLE writeSequence=0 framesWritten=0
numTracks=0 writeErrors=0 underruns=0 overruns=0
sampleRate=0 frameCount=0 measuredWarmup=0 ms, warmupCycles=0
mixPeriod=nan ms
No FastMixer statistics available currently
Fast tracks: sMaxFastTracks=8 activeMask=0
Index Active Full Partial Empty Recent Ready
0 no 0 0 0 full 0
1 no 0 0 0 full 0
2 no 0 0 0 full 0
3 no 0 0 0 full 0
4 no 0 0 0 full 0
5 no 0 0 0 full 0
6 no 0 0 0 full 0
7 no 0 0 0 full 0
Stream volumes in dB: 0:0, 1:-22, 2:-4.5, 3:0, 4:-24, 5:-35, 6:0, 7:-12, 8:-6, 9:0, 10:0, 11:0, 12:0, 13:0
Normal mixer raw underrun counters: partial=0 empty=0
0 Tracks
0 Effect Chains

Reroute submix audio module:
route[0] rate in=0 out=0, addr=[]
route[1] rate in=0 out=0, addr=[]
route[2] rate in=0 out=0, addr=[]
route[3] rate in=0 out=0, addr=[]
route[4] rate in=0 out=0, addr=[]
route[5] rate in=0 out=0, addr=[]
route[6] rate in=0 out=0, addr=[]
route[7] rate in=0 out=0, addr=[]
route[8] rate in=0 out=0, addr=[]
route[9] rate in=48000 out=48000, addr=[]
Can you ever get it working like this in UAPP for 16/44 redbook content?
 
Oct 2, 2017 at 4:45 AM Post #2,947 of 4,139
I've had some time to get used to the sound now and overall this is a stunning musical device. Especially considering it's not really a musical device....

The sound is absolutely grainless, punchy, detailed and smooth as silk. Still think there's a hint of sterility/coldness, but it's not as bad as I thought it was during my initial impression (I had a headache brewing that day that didn't help). It's not the best I've heard in the my life, but damn... I can probably live with this thing the rest of my life and be moderately happy.

On another note, I hooked it up to my Auralic Taurus amp and while it made a difference it wasn't as big as I expected. Both the DAC and amp inside this device are very good.
v10 less sterility/coldness not as technical and more noise.
 
Oct 2, 2017 at 6:01 AM Post #2,948 of 4,139
I've recently taken delivery of a V20 and from reading through the thread I see there is quite a bit of discussion about the (subjective) benefits of using high gain mode with certain lower impedance headphones / IEMs and also a workaround to force the V20 into high gain mode.

Have been able to do this myself using a short extension adapter, plugging my DT990 into it and then swapping those out for my IEMs (leaving the adapter in situ throughout). It works just fine but the high volume levels are a concern so I'd ideally like to try and attenuate things somewhat.

Have tried to do this using an ifi iEMatch adapter both directly plugged into the V20 and also in tandem with the aforementioned extension. However, irrespective of how I go about it or what headphones I plug in the V20 always defaults to normal mode. Not sure if the issue is the underlying design of the iEMatch or simply that it terminates in a 3.5mm 4 pole jack.

Wondered if anyone had tried ifi's new Ear Match adapter and had better luck? Noticed that one terminates in a 3.5mm 3 pole jack.

Thanks.
 
Last edited:
Oct 2, 2017 at 11:15 AM Post #2,949 of 4,139
V10 user here (with 6 warranty exchanges for bootloop abs counting!) Trying to decide between V20 and v30 and the lack of a removable battery worries me.

How is V20 battery life for you long term users?

It's never an issue for me since I purchased extended batteries that doubles the size. I got two of them with me every time I travel. I'll hold on this phone/dap for awhile. LG_V20_Extended_Battery_Alpha_1024x1024.jpg
 
Oct 2, 2017 at 1:59 PM Post #2,951 of 4,139
These two examples were 44.1 redbook
Maybe it's interesting to note what else is turning in the background when it uses android mixer instead of direct ? Bluetooth ON ? Audio apps opened ? Youtube or other video apps ? EQ or DSP ? I read that some people use viper4android with this phone... Curious thing...
After reading this thread I tested the phone without tricking it to high impedance with custom IEMs (Custom Art Harmony 8.2), and I'm impressed by the result. Really good result also with AKG K701 in high impedance. Better than Beyer DT990 250ohm. Even if AKG K701 82ohm requires more amping than Beyer DT990, the V20 is powerfull enough.
 
Last edited:
Oct 2, 2017 at 2:11 PM Post #2,952 of 4,139
Maybe it's interesting to note what else is turning in the background when it uses android mixer instead of direct ? Bluetooth ON ? Audio apps opened ? Youtube or other video apps ? EQ or DSP ? I read that some people use viper4android with this phone... Curious thing...

Yes, in a prior post I had mentioned these same points. It is almost guaranteed to fail every time when a 48Khz multimedia app like Youtube is playing or has just played.. But even in a completely dormant phone... things still happen that can trip up the mixer -- but it seems to happen less often if you are aware of these things and avoid them around serious listening.
 
Oct 2, 2017 at 2:33 PM Post #2,953 of 4,139
me too, but trying to fix the upscaling issue. Install uapp, you will notice a difference.

Powermp will add High Res support for V20 in future update ..... i just couldn't let go of my favorite music player...
 
Oct 2, 2017 at 3:04 PM Post #2,954 of 4,139
So I did confirm with adb that often files are played bitperfectly with the UAPP. But after sitting with it for a while testing many files I have found it is not true often enough :frowning2:

I was listening to Tidal, and I was hearing the high frequency noise/hash that really distracts from the fidelity. Also a complete lack of smoothness. It sounded like Tidal. Turning on adb I see the output is going through the mixer again. That explains it!!! 48K.. I shut app, exit it..flush OS....restart ......it starts playing again at 44.1!!! It sounds good again of course. VERY frustrating. I then decided to do many many tests on internal files... and network files. All of them play natively perhaps 50% of the time.... it is like a craps-shoot --- you never know what you are going to get. I then find that I can force it to fail everytime if any other app outputs or even initializes sound ...like youtube, other multimedia apps or android OS system sounds. Basically.......as long as the environment is multitasking.... the mIxer can get inserted in the path and whatever media player is playing will use 48Khz. I then talked to developer and UAPP is using audiotrack. So the behavior of the v20 with any music player using audiotrack will be indeterminate, like UAPP. I still think UAPP handles network files and playback better than any of the others I have tried (still excellent)....but it doesnt provide any magic around the android Mixer when calling AudioTrack APIs. I wish it did of course.

Some of this really makes sense in a broad way, as the LG V20 can sound so amazingly good sometimes...and sometimes hash, shrill and thin. A big part of this is just simply luck and if the android mixer is intercepting the sound, resampling ......or if it is handed DIRECT to the V20 ESS DAC.....which happens in a android environment when nothing else has played for a while and just the player starts with a native file resolution. I have seen 44.1, 88.2, 96, 192 Khz all play natively and sound fantastic though UAPP local and network based FLAC. Nothing sounds as bad as 44.1 played as 48khz though.

I hope somebody can fix this problem ...and stop having the LG V20 ESS9218 so hobbled and disabled by Android 7.
Seems like the answer to disable upscale is here https://source.android.com/devices/audio/implement-pre-processing .....
 
Oct 2, 2017 at 3:20 PM Post #2,955 of 4,139
Seems like the answer to disable upscale is here https://source.android.com/devices/audio/implement-pre-processing .....

Can you be more specific as to what you mean? My current understanding is that until we have the new API for direct/low-latency audio in Android 8, there is not a facility for an audio device to be exclusively and directly owned by a process. Until you have this exclusivity & 1:1 mapping, re-sampling to a common target rate is the only way to share common output devices fairly among equal processes in the multitasking environment. This is what the mixer does a good job doing technically -- except for us audiophiles who care about only one of those streams.

Somebody could write an android driver that talked directly to the ES9218. If they could do this, entire files including FLAC and DSD/DoP etc.. could potentially be handed directly over to the SoC and be natively rendered. Nobody has heard anything but slave mode inside a V20 phone yet.....and I bet it sounds great offloading all the file decode as well. Plus I would think there is considerably less overhead in doing a FLAC or DSD->PCM decode with full SW filtering just to play something that can be handled entirely in HW in the DAC itself with zero CPU impact on the Phone itself.

In short, somebody who is keen on development (perhaps the UAPP developer or somebody of that caliber) has to create something custom to get around this android issue on the V20. First they have to really want to :wink: Until then....the new APIs will inevitably come out, and eventually the newer versions of our common popular players will begin to use them. Things will surely get better...but it may take a bit more time than we'd like.
 
Last edited:

Users who are viewing this thread

Back
Top