ARC resamples to 48 and back to 44.1 with AptX lossless

First of all, sorry if discussed before. I couldn´t find anything regarding this specific problem.
I’m aware of Android mixer’s 48kHz stuff. I also know I cant bypass it and get bitperfect output through USB using the beta drive (in a fashion similar to UAPP).

I own a Motorola Edge 50 Pro with support for AptX lossless and a Fiio BTR17. I managed to connect both using that codec after selecting 44.1kHz in developer options, otherwise it uses AptX Adaptive with 48kHz. However, even with this configuration Roon ARC is upsampling the audio to 48kHz and that happens regardless if I disable all DSP. I may be wrong, but I understand Android 15 is able to manage BT audio in 44.1 without resampling


Stock Android only supports 48 kHz, so Roon ARC will handle the conversion, since it does this with greater precision. I doubt ARC would check for the developer options in this scenario, and currently, as you say, ARC only supports other sample rates using USB.

Android 15 is not yet widely available, except for those using a Google Pixel device, so this is probably a contributing factor, too.

Nonetheless, you won’t experience any downside with Roon doing the conversion.

Thanks for the quick reply buddy. I understand your point and probably you’re right about me not being able to notice a difference for ARC’s upsample, but I’m actually more worried for the subsequent downsample (probably done by Android itself). I’m not sure why this happens, but if I choose 48kHz for BT it uses AptX Adaptive instead of lossless. In this scenario it’s probably better to keep the file at 48kHz with a lossy codec rather than resample again and use a lossless codec, but that seems to destroy the whole purpose of a lossless BT codec in the first place

Looking at the signal path you posted, Roon only sees the FiiO, and, therefore, doesn’t know that AptX is upstream.

However, this is no different to using Android Audio, which is resampled to 48 kHz.

Either way, I wouldn’t be concerned about this since Bluetooth, including AptX, are lossy proprietary codecs. Whilst AptX has greater maximum bandwidth, it’s still not up to that of lossless 44.1 KHz FLAC, which has a 1411.2 kbps PCM stream, whereas the Aptx bitrate is 352 kbps for the same 16-bit 44.1 kHz source. AptX HD etc. support higher bit depth and sample rates.

Moreover, AptX doesn’t resample in the usual sense, and Roon couldn’t do this anyway, since it is proprietary.

Thanks mjw. AFAIK, AptX lossless is, in fact, lossless. That’s why I’m trying to make it work as it should.

Roon ARC identifies my Fiio as supporting only 48kHz through BT. Maybe the problem is just there? If one could override the supported frequencies I guess everything may be done at 44.1kHz?


Theoretically, it can deliver compressed bit-perfect streams up to ~1 Mbps in perfect conditions (“Designed to scale up to CD lossless audio based on Bluetooth link quality”1.) But, with RF congession it will utilize a variable bit-rate, and may not achieve this.

Whilst a 48 kHz stream has a higher bitrate, the conversion has only added zeros, so there probably is no difference whatsoever.

It’s unclear if Roon ARC queries Android for supported sample rates and bit depth, or simply defaults to 48 kHz. You could request that ARC supports other resolutions in Feature Suggestions.

However, I note that ARC does recognize my Bluetooth headphones when connected to my Pixel 7. In your screenshot, only the DAP is shown, so this may be the issue.

I had no idea. Following your suggestion I tried the same in UAPP and it seems to work fine. I picked bitperfect and Direct Driver. By the way, the sound is impressive with my 64 Audio earphones.

So it seems that, in fact, Android is capable of delivering the file untouched at 44.1kHz through BT in a lossless way. I attach some screenshots for you to check if I’m doing everything right before creating a feature suggestion.

Thanks again