Android SRC bypass for bit-perfect playback (Like in UAPP app)

I am using Tidal as my streaming service and I am paying for the Masters MQA files.
I own LG V40 ThinQ phone and it has a built-in Hi-Fi Quad DAC that has MQA compatibility for both decoding and rendering if I understood correctly. I would like to take advantage of Tidal Masters MQA technology, but a known issue with Android is that unless an app is able to bypass Android SRC the output will always be at 16bit/48k. I am not sure whether Tidal has that capability as there is no indication for that or any information regarding the actual specs of the source file or the conversion/decoding/rendering signal path. For example, when using Tidal with my desktop setup through a MacBook Pro, Tidal had issues switching the sample rate of my external DAC (MOTU Ultralite mk4) with its exclusive mode, and for that reason I chose trying Roon on my desktop setup, so I could get bit-perfect conversion using my external DAC (which does not has MQA compatibility BTW and in that regard Roon is doing a great job).
But, when using Tidal on my LG V40 ThinQ mobile phone I have no idea what it is actually doing or not doing and when using Roon Remote app with Private zone it is unable to bypass Android SRC so the output through the device DAC is at 16bit/48khz no matter what source is being played…
I know there is an android app called “USB Audio Player PRO” (UAPP) that is able to do bypass Android SRC and, unlike with Tidal, there is indication and exact details regarding the source bitrate/samplerate/MQA data as well as info regarding the conversion process along the signal path as well as the actual output through the device DAC.
So, as it seems that at the moment Roon remote app is not capable of bypassing Android SRC it will be great if such a feature will be implemented either by using UAPP driver or by in-house development.

The necessity of such a feature was already discussed in previous Roon community threads:

Any thoughts or comments by LG V and G series will be welcomed

Also, another issue with Android devices is the up-sampling of CD quality tracks 16bit/44.1k to 16bit/48k as described here:

Tidal is perfect when playing Master tracks (MQA/HiRes) which are 4x unfolded and rendered beautifully in hardware on LG V & G series phones. But most of Tidal’s catalog is non-Master 16/44 tracks, which are upsampled when played in the Tidal app. It seems like UAPP has found a way to bypass this as well.

For stability across the Android platform and variety of hardware Roon chooses to upsample or downsample content to the rate the os reports the device can handle to it. This varies from device to device but most phones tablets etc will be 48/24 as that’s the native rate. In case of daps they vary wildly my Hiby maxes out at 44.1/24 other Fiio uses manage to get 96/24. In all these cases you cannot bypass this it’s hardcoded. Before this Roon used SRC and it was a dog’s dinner and never played anything nicely.

UAPP works as it misses out SRC and he attempts to go native to the DAC with some generic driver. This does not always work as he is constantly updating support. I used it for quite some time with my Audioquest Dragonflies and One Plus 5 phone and it was hit and miss when it worked and at the end of each album the DAC would just disappear. There are a lot of DACs and one driver does not work for them all. The Dev here only support one platform to and I wonder what the use base is overall.

Roon is multiplatform so is not as easy to make these platform tweaks per device as its then also not guaranteed to work on others and you don’t want to favour some over others. Unless they can come up with a sure fired way of doing this that would work across the magnituide of devices I don’t see them releasing something as it will cause way more support issues for different combinations of kit. Nobody wants more support issues. The current way albeit very annoying is pretty stable and sounds pretty good for the most part.

I want this more than anyone but I feel we will never see it in general Android is a mess audio wise and this is made worse with all the hardware iterations. Perhaps they might add limited support for known hardware but that would mean getting samples of all of them from each manufacturer and they would need to be onboard with helping. But this would be quite a big achievement development wise I imagine and it would spit the user base.

1 Like

Also I think they’ve posted in the past that the majority use iOS.

Thanks for contributing.
The main reason I chose to buy LG V series phone was because of their Hi-Fi Quad DAC which as far as I know is one of the only mobile phones that has quality DAP capabilities for audio playback.
It is a shame that it is not possible to fully take advantage of these capabilities. I am waiting for Tidal support to respond to my questions in that matter, so there is a possibility that they have found a way to do so. Still, Roon is a great service combined with Tidal and I was hoping to use it on my mobile phone as well as my desktop setup without loosing audio quality. I am not sure if my ears can actually hear the difference, but then again, one can argue why even bother with MQA and Hi-Res audio at all? Roon, Tidal, UAPP, MQA, ESS, LG are all in this game for a reason and once you are on the court it only make sense to try and make the best you can.

It is a shame no doubt about it. I have a great DAP that’s also not able to take advantage of this. Odd how Tidal doesn’t work on the lg. It does on DAPs and it’s just the same one of the play store. Must be something to do with the os itself not passing it through this is all controlled on DAPs at the os level with their system resampling bypass.

1 Like

I have contacted Tidal and this is their response:

"I’m sorry to hear you’re having trouble with the bitrate through an LG phone! I understand how frustrating that must be.

Our Tech Team has looked into this issue and identified the problem with the DAC’s within these phones and the TIDAL app.

Due to recent updates with the LG software it has caused issues with the internal DAC activating on TIDAL tracks.

Our team is aware of this and is working on a resolution and TIDAL update to help resolve the issues."

@dannemand, A member of the Head-Fi.org forum wrote:

"It’s great that Tidal acknowledges this as an issue that needs to be addressed. But it’s not recent LG updates that’s causing the problem, since it’s also broken on Oreo. That said, I can imagine that Tidal changed their code in response to the changes LG made in Pie and Android 10 – and this is where it broke. UAPP struggled with that too, but fixed it eventually.

While Tidal is at it fixing their LG specific code, it would be amazing if they could fix 16/44 as well – ie add 8 zero bits to each sample and then play it the same way they play Master tracks (Direct path et al)."

So I guess we should expect the same of Roon as it seems, based on UAPP success, that tose issues could be resolved.

@Dannemand at Head-Fi.org explains:

"As most other apps, the Tidal app is unable to play 16/44 (non-Master tracks) through Direct path: They go through the mixer which resamples to 48Khz, for the simple reason that LG’s Android implementation isn’t able to play 16-bit through Direct path – it has to be converted to 24-bit as UAPP and Neutron do.

But a couple years ago the Tidal app added MQA support for LG Quad DAC phones, making full use of their hardware MQA. As part of that, they also learned to play 24-bit tracks (most MQA tracks) through Direct path – since otherwise these tracks would go through the mixer and lose all MQA.

UAPP was always the preferred way to play Tidal non-Master tracks. But on LG Quad DAC phones the Tidal app actually played Master tracks (as long as they were 24-bit) exactly the same as UAPP: Through Direct path, offloadable, and using the hardware MQA feature. Among other benefits, this enabled Tidal’s offline feature with full quality for Master tracks.

I have not had Tidal for a while, and assumed this was still the case. But I just signed up for their $3 deal and ran a batch of tests in order verify the things I am claiming in here. And it turns out that Tidal lost their LG Quad DAC compatibility since last I tested, and have turned stupid like Amazon and Qobuz: Everything from Tidal – both Master and non-Master tracks – now go through the mixer as 16-bit and resampled to 48khz.

I hope somebody can prove me wrong here, but I tested audio_flinger dumpsys on both Oreo and Pie (I have two V30+ phones) and both streaming and offline. And yes, I did check and double check my Quality settings.
[My comment: Tidal support just confirmed this in their response to my email quoted above]

That means UAPP is now the only way to play Tidal properly on LG Quad DAC phones – which I guess simplifies the answer when people ask. The downside is that UAPP isn’t quite as stable as the Tidal app when it comes to streaming (it’s using a Tidal API over which the UAP dev has no control). Also it doesn’t have the Tidal app’s convenient offline feature."

So, if Roon could learn how to solve these issues from UAPP it will be the best app to use with LG V & G series phones or any other android based phone that will have Hi-Red driver DAC. I am very impressed with Roon UI, features, convinent and functionality and its great as a desktop service, but it can also be the best for android with implementing the solutions UAPP already developed.

I have the LG V35 for similar reasons. I highly recommend USB Audio Player PRO with the MQA add-on. I use this exclusively when I’m listening on my phone. In addition to TIDAL and local files, it can stream files from my Synology NAS over Wi-Fi.

I suggest you forget about using Roon Remote as an Output (especially on Android). It works best as a Control in the Roon ecosystem.

If you own an LG V30-50 when using UAPP you do not need the MQA add-on (in-app purchase) because the DAC has MQA compatability and is doing the decoding and rendering by hardware. The add-on is for devices that do not have MQA compatability and so UAPP will do the decoding/rendering by software.
With LG V30-50 you do need to tick the MQA options when playing MQA files at “Settings>internal HiRes audio>HiRes driver flags MQA (only on selected LG models)”. Please note that when playing non MQA files of lower than 24bit/96khz quality if this flag ticked than the DAC digital filters (short/sharp/slow) are bypassed and it is instead using the MQA filter, so the sound signature may not be to your liking and if you prefer one of the 3 DAC digital filters you should turn of the MQA flag.

It is a bit if a hassle because if your platlist contains both MQA and non-MQA files you’ll have to manualy change this setting between songs because playing MQA files when this option is turnes off may result in lower quality sound compared to standard RedBook CD files…

I have Roon now playing to my Hiby R5 without resampling. Don’t use Roon app. I now use UAPP UPnP renderer and the RooUPnP extension, works ok. Have an occasional blip but streaming up to 192/24 no Roon resampling.

1 Like

I’m curious if there is a way to get people organized to see how many Roon users actually care about this: Neil Young Archive uses LG V60 Quad Dac, why doesn't Roon? (And I assume LG V20, V30, V40, V50)

Have you added your vote to the Feature Request?

Yes, but for all interested folks this is the one to add your vote to since it has the most: Hi-Res on Android? UAPP integration?

No there is one with more votes than this.

Just to let everyone know, you can reclaim a vote and then apply it in another thread. So, if you wanted to add your votes here to the other thread, then just remove your vote here and add it to the other thread.

1 Like