Android - Bypass Sample Rate Conversion (SRC) - Like in UAPP App

Well, I’ve read a lot of posts the past few days. Currently I’m still in test phase, because there are a few things that keep me from subscribing (no Amazon integration, no HRA integration, no Spotify integration, pricing…)
But one things that are really essential for me and I could not find a solution for:
I would really (like others as I’ve read) love to be able to use my Android DAPs (like my Hiby R6) for Bit-perfect streaming via roon. As these devices bypass the Android OS SRC, they are capable of playing hiRes material perfectly. But roon still converts to 48Khz/24bit because it ‘thinks’: “Oh it’s Android, I have to convert, to help it being able to play…”
Why can’t we just get the possibility to bypass the conversion for endpoints?
I’ve seen roon once said something like: maybe sometimes in the future, when we will refactor our Android code… Whatever"
I’d just like to know if there are any news about this?
I mean, this is soooo essential.

6 Likes

I totally agree with you.
I think Roon should be ashamed of itself with regarding how they treat android users.
Love Roon, but how they treat android is a big, really big disappointment.
It would be great if I could use the dac in my LG V40 or with another phone for example the chord mojo.
Until then Roon sucks with android.

2 Likes

How should that happen? As other manufacturers that want to become Roon Ready have to integrate Roon specific code in their device firmware, I think that it might work if the DAP manufacturers can get the same chance to integrate the Roon code into their products, integrated in the firmware or as separate Roon Bridge app, or alternatively are allowed to provide device specific code to the Android/iOS versions of Roon directly. However, there might be no high resolution support if a manufacturer is not willing to provide it.

The situation for external DACs connected to an Android device is a whole other story. Many devices seem to not support USB Audio with their devices. Playback to external DACs is only possible with a few player apps that ship with a driver that allows them to use external USB Audio compliant DACs AFAIK. That’s why I’ve given up on that road and purchased a Poly for my Mojo. For the devices that support external DACs, the sound might probably still be controlled/limited through the system mixer.

I’m wondering if the much delayed Astell and Kern Roon readiness fits in here somewhere. I can’t see them coming onstream with a 48k limit so I wonder if there is a backbone being coded in with them.

2 Likes

Don’t get me wrong, I’m really thrilled with what roon does, how it is doing it and especially how it feels using it… But I really don’t understand this Apple like ‘we know better what the user wants…’ philosophy… I mean, for my understanding it should not be much of a problem to integrate a button into the Frontend that sets a flag for bypassing or not. Standard config is no-bypass (as is), if user decides to toggle that switch to’ bypass conversion’ is it really such a big problem to code a simple check for this flag somewhere before conversion happens?!?

I love music. And I love to browse through playlists from all kind of sources, listen to recommendations of audiophile enthusiasts and I love to be inspired by Tidal mixes and title radios.
I also have 4 kids, who leave me no choice of getting some peace with IEMs outside my home!
So I bought a Dragonfly Cobalt and a pair of Campfires Solaris, despite the fact that I still doesn’t know how to tell my wife that these little things costs nearly 2k. But hey, at least I can use my Samsung Note 9 and don’t have to buy a Highres player (at least for the moment :smile:
Now I can listen to great soundstages, overwhelming guitar solos and breathtaking voices, but “only” by using USB Audioplayer Pro. With all due respect to the programmers of this, I guess, technical masterpiece as far as sound quality is concerned, it lacks of usability and any feature to dive into music as far as visual representation is concerned.
I can’t speak for others, but any development into natively supporting external USB DACs like my Dragonfly on Android would make me become a Roon user. So here is my vote.

2 Likes

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:

https://forum.xda-developers.com/showpost.php?p=79461387&postcount=48

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.