Roon Core Machine
Intel Nuc 3-6100U CPU @ 2.30GHz, 8GB RAM
Networking Gear & Setup Details
Connected Audio Devices
Google Pixel 6 Android (Wifi)
Roon Bridge Linux (Ethernet)
Number of Tracks in Library
Description of Issue
Why does Roon need to do double bit depth conversion (16->64->24) when there is no DSP or volume leveling in the path ? This is on my Pixel 6 with Android L, outputting to either phone speakers or Bluetooth headphones (B&O H95)
Your playing out to an android end path. Roon will resample everything to 24/48.
With any rate.change Roon takes it to 64 first for better accuracy.
Is this configurable in any way? I don’t see how going to 64bit adds any accuracy to a 16bit source before converting it to 24bit.
It doesn’t only convert the bit depth, but also resamples from 44.1 to 48 kHz. All resampling is done in 64 bit. This resampling is by no means ideal, but that’s how it is on Android.
Why not resample at 24bit if that’s the output target?
Also, why is this just “how it is” on Android? Is Android incapable of playing back 16bit/44.1KHz?
I don’t use Android, but my understanding is that the ‘native’ sample rate of most Android devices is 48 kHz, and all content gets resampled to this.
There’s tons of info on this you can look up with Google. But anyway, that answers your original question.
Thanks for the info, I’ll do more digging into Android.
I now understand that resampling to 48kHz is needed on Android but it doesn’t answer my original question of why Roon does bit depth conversion twice.
In order for the computations done during sample rate conversions not to introduce significant errors, you need either 32 or 64 bits samples. Roon uses 64 bits. Converting from 16-bit to 64-bit samples is lossless. Also, converting from 64 to 24 will not introduce more than around -144dB noise. Thus, bit depth conversions themselves are not doing any damage to the signal.
This topic was automatically closed 36 hours after the last reply. New replies are no longer allowed.