USB Audio Player PRO (UAPP): 24- and 32-bit playback, ubiquitous USB audio support for Android
Jan 27, 2020 at 11:51 PM Post #3,376 of 6,156
For LG G7 when playing 16/44.1 files does it bypass Android Audio? I'm playing on Tidal and non MQA files often say 16/44.1 I read that the bypass happens by padding the 16bits to 24bits. Does UAPP do that automatically in the background or does the App have to show that its 24/44.1?

UAPP does the same: Pads 16-bit to 24-bit and thereby allows Direct path (instead of Mixer path).
 
Jan 28, 2020 at 7:51 AM Post #3,378 of 6,156
Is there a way to visually confirm this?

My hairs and eyebrows always raise when someone starts about padding.. When a DAC is 24 or 32-bit, then the driver needs to feed it 24 or 32-bit data. It is done by padding, yes.

"I read that the bypass happens by padding the 16bits to 24bits". The bypass has nothing to do with padding. The bypass happens because we plug into the Android audio system in a certain way, nothing more.

UAPP shows the resolution of the source file, not of the target. The target resolution used is always the highest resolution possible. On the G7, that is 24-bit.
 
Jan 28, 2020 at 8:57 AM Post #3,379 of 6,156
Why can't I sort an album's tracks by order of file name? Ugh!

Note: I gave some albums where the files have no track number metadata. On PC music apps automatically default to file name and sort accordingly.

My filenames follow this format: <album catalog number>_<track number>. extension
 
Last edited:
Jan 28, 2020 at 9:24 AM Post #3,380 of 6,156
Is there a way to visually confirm this?

You can use ADB to make an audio_flinger dump during playback, as described on this UAPP support page.

As Davy wrote, padding to 24-bit doesn't do anything in itself, but it is required to use the Direct path, allowing the stream to go unmolested to the DAC, preserving its original sample rate. 16-bit always goes through the Android Mixer, which re-samples to 48KHz. Many other apps (such as Google Music) also use Direct path when playing 24-bit, but they don't have UAPP's ability to pad 16-bit to 24-bit on-the-fly.

Check this post for some examples.
 
Last edited:
Jan 28, 2020 at 9:49 AM Post #3,381 of 6,156
You can use ADB to make an audio_flinger dump during playback, as described on this UAPP support page.

As Davy wrote, padding to 24-bit doesn't do anything in itself, but it is required to use the Direct path, allowing the stream to go unmolested to the DAC, preserving its original sample rate. 16-bit always goes through the Android Mixer, which re-samples to 48KHz. Many other apps (such as Google Music) also use Direct path when playing 24-bit, but they don't have UAPP's ability to pad 16-bit to 24-bit on-the-fly.

Check this post for some examples.

I have no idea what any of this means. I have a Quad DAC (LG) and don't even know if I have the correct settings. No one has provided a thorough settings guide for LG equiped Quad DAC phones.

My settings make no sense. I have screenshot some of the most confusing settings in case anyone can help me sort them out: https://imgur.com/a/bCF3Hwn

The third screenshot is the Android Audio settings page and this makes absolutely no sense to me. Why would I want my audio routed through the android stack when I have a dedicated DAC chip in my phone? Why is it even pre-checked? Why is the sample rate set at 44khz? I play 24 bit files. This can't be good. I unchecked this setting and currently playing track doesn't sound affected. So I don't even know if this setting even does anything which sows more confusion.

The second screenshot shows that Hires driver format is set to auto. Does that mean it automatically pads 16bit files to 24bit for the Quad DAC or should I change this setting to 24bit packed whatever that means?
 
Jan 28, 2020 at 10:11 AM Post #3,382 of 6,156
I have no idea what any of this means. I have a Quad DAC (LG) and don't even know if I have the correct settings. No one has provided a thorough settings guide for LG equiped Quad DAC phones.

My settings make no sense. I have screenshot some of the most confusing settings in case anyone can help me sort them out: https://imgur.com/a/bCF3Hwn

The third screenshot is the Android Audio settings page and this makes absolutely no sense to me. Why would I want my audio routed through the android stack when I have a dedicated DAC chip in my phone? Why is it even pre-checked? Why is the sample rate set at 44khz? I play 24 bit files. This can't be good. I unchecked this setting and currently playing track doesn't sound affected. So I don't even know if this setting even does anything which sows more confusion.

The second screenshot shows that Hires driver format is set to auto. Does that mean it automatically pads 16bit files to 24bit for the Quad DAC or should I change this setting to 24bit packed whatever that means?

I will let Davy speak to your question about UAPP settings.

I merely meant to say there is a way to confirm that UAPP performs 16-to-24-bit padding (the question you asked) but it uses the ADB command line tool. Again, it's described on the UAPP support page I linked.
 
Jan 28, 2020 at 12:32 PM Post #3,386 of 6,156
Why can't I sort an album's tracks by order of file name? Ugh!

Note: I gave some albums where the files have no track number metadata. On PC music apps automatically default to file name and sort accordingly.

My filenames follow this format: <album catalog number>_<track number>. extension

I don't see any point in sorting album tracks on file name. If you gave the albums a track number, the app will use that, given their are unique and successive.
 
Jan 28, 2020 at 12:34 PM Post #3,387 of 6,156
You can use ADB to make an audio_flinger dump during playback, as described on this UAPP support page.

As Davy wrote, padding to 24-bit doesn't do anything in itself, but it is required to use the Direct path, allowing the stream to go unmolested to the DAC, preserving its original sample rate. 16-bit always goes through the Android Mixer, which re-samples to 48KHz. Many other apps (such as Google Music) also use Direct path when playing 24-bit, but they don't have UAPP's ability to pad 16-bit to 24-bit on-the-fly.

Check this post for some examples.

There are also 16-bit Direct modes on some devices, but if there is a 24-bit mode, then UAPP will use it. The app will then have to convert everything to this 24-bit mode. This means padding for 16-bit files or converting from floating point to 24-bit when using non-bit-perfect mode.
 
Jan 28, 2020 at 12:44 PM Post #3,388 of 6,156
I have no idea what any of this means. I have a Quad DAC (LG) and don't even know if I have the correct settings. No one has provided a thorough settings guide for LG equiped Quad DAC phones.

My settings make no sense. I have screenshot some of the most confusing settings in case anyone can help me sort them out: https://imgur.com/a/bCF3Hwn

The third screenshot is the Android Audio settings page and this makes absolutely no sense to me. Why would I want my audio routed through the android stack when I have a dedicated DAC chip in my phone? Why is it even pre-checked? Why is the sample rate set at 44khz? I play 24 bit files. This can't be good. I unchecked this setting and currently playing track doesn't sound affected. So I don't even know if this setting even does anything which sows more confusion.

The second screenshot shows that Hires driver format is set to auto. Does that mean it automatically pads 16bit files to 24bit for the Quad DAC or should I change this setting to 24bit packed whatever that means?

You just need to enable the Quad DAC in the notification area and then you are set for the most part. Then it's a question if you play MQA tracks or not. If so, you need to enable the MQA flag in the HiRes driver flags (do NOT touch any of the other flags!) and enable bit-perfect mode. If you want to do some processing like EQ or MorphIt, then you don't need to do anything (except for not enabling bit-perfect).

Regarding the third screenshot: UAPP runs on thousands of different Android devices. It's not like options are removed when you run it on a specific device. In your case, it means that you don't need to change or worry about the Android audio settings since they are not used. Only the internal HiRes audio driver is pre-checked. The standard Android driver is NOT pre-checked unless you have a G7 model unknown to us, which would be rare.

The sample rate is set according to the source file sample rate when possible. If your track is 44.1, then it will play at 44.1. You say "Why is the sample rate set at 44khz? I play 24 bit files". Sample rate and resolution have NOTHING to do with each other. You can have 24-bit files at 10Hz or 8-bit files at 352800Hz, there is no relation whatsoever. Not sure what setting you unchecked, but I would advise at this point to go into the Android settings app, select Apps, USB Audio Player PRO and clear the app's data to clear all settings you may have changed. Please leave all audio options untouched, except for what I described above.

Never ever change the HiRes driver format. Changing that will most likely take you out of the HiRes direct path. The warning is shown below the preference option and the app will warn again when you have touched something in this area. For all 'known' devices to UAPP, these settings are all at their optimal values. Changing anything will likely send you straight to the Android audio 16-bit 48kHz mixer path.
 
Jan 28, 2020 at 1:39 PM Post #3,389 of 6,156
There are also 16-bit Direct modes on some devices, but if there is a 24-bit mode, then UAPP will use it. The app will then have to convert everything to this 24-bit mode. This means padding for 16-bit files or converting from floating point to 24-bit when using non-bit-perfect mode.

Thank you!

Yes, I was specifically referring to the LG phones which @recca and @runssical asked about. On those we have NOT been able to achieve 16-bit Direct path in 44.1 KHz, not even on rooted phones. We HAVE been able to achieve 24/44 output through the Mixer by modifying policy files (as described in this XDA post) but the result is still not bit perfect.

If you have any input that might help, it would be much appreciated :wink:

(For those wondering: UAPP does all this perfectly, of course, and much, much more. We've been looking for a solution to avoid the Android Mixer when playing 16/44 from sources NOT supported by UAPP, such as Tidal/Qobuz offline and a few others.)
 
Last edited:
Jan 28, 2020 at 1:45 PM Post #3,390 of 6,156
Thank you!

Yes, I was specifically referring to the LG phones which @recca and @runssical asked about. On those we have NOT been able to achieve 16-bit Direct path in 44.1 KHz, not even on rooted phones. We HAVE been able to achieve 24/44 output through the Mixer by modifying policy files (as described in this XDA post) but the result is still not bit perfect.

If you have any input that might help, it would be much appreciated :wink:

(For those wondering: UAPP does all this perfectly, of course, and much, much more. We've been looking for a solution to avoid the Android Mixer when playing from sources NOT supported by UAPP, such as Tidal/Qobuz offline and a few others.)

The problem is that you are thinking that playing 16-bit over a 24-bit mode is not bit-perfect. There is absolutely no reason to want to achieve that. Even if you would succeed, it would be:
app 16-bit -> Android direct 16-bit -> oh, oops, the DAC only does 24-bit, so pad to 24-bit
whereas it now is:
app 24-bit -> Android direct 24-bit -> DAC 24-bit

Stop chasing ghosts!
 

Users who are viewing this thread

Back
Top