RPi3 -> HiFiBerry DAC+ Pro -> I2S -> Buffalo II ESS 9018 DAC
Got RoonBridge up and running easily using Jessie Lite and the install scripts. 96kHz/24bit & 192kHz/24bit play great. 44.1kHz/16bit (99% of my library and Tidal) result in awful noise with a bit of music in background on one channel only.
When I use piCorePlayer with a default install in the exact same setup Roon will play 44.1kHz/16bit perfectly.
After a bit of digging I’ve noticed that RoonBridge is outputting in S16_LE (16bit format) and piCorePlayer S32_LE. Not sure why they handle the same audio device differently. It appears that my DAC is not liking 16bit with 44.1kHz as output by RoonBridge.
Suggestions? e.g. perhaps there is a parameter than can be set in RoonBridge to set S32_LE parameter when it calls ALSA? Let me know if you need further info, screen shots etc.
Also the device volume control has no effect and appears to be the exact same problem as posted with the IQAudio board - my alsamixer looks exactly the same as in this post:
Looking forward to getting RoonBridge running fully with HiFiBerry I2S output!
Making a setting to encourage higher bit-depth output wouldn’t be difficult, but I’m not sure it is the right thing to do. This is a pretty confusing setting–the best thing for most devices is to minimize the transfer bandwidth whenever it’s possible to do so without losing resolution–which is our current behavior. But people see bigger numbers and think better, so there will be people using it unnecessarily or treating it like an “enhancement”. We’ll go there if we have to, but it would be good to exhaust other possibilities first.
This feels like something that could be configured/patched at the driver level. Maybe as an option for the driver (as I understand, using a DAC+ like this requires a hardware modification, so a change in driver behavior is not totally unreasonable to go along with it). Doing the “cheap hack” patch would be quite simple–go into the driver file and eradicate S16_LE’s
The volume control thing is something we know about, and it’s on our list. We are trying to get access to HiFiBerry hardware to experiment with it directly. The volume layout on that device is vexing.
One thing that might resolve both of your issues, at least in the near term, is to turn on Roon’s “DSP Volume” option. This will get you a working volume control, and because our volume control expands the samples to the maximum supported by your device to maintain as much headroom as possible, it should get around the 16bit issue too, assuming that the driver is reporting its 32bit support to ALSA properly.
Assuming you are adjusting the volume digitally on the HiFiBerry prior to the I2S output, there is probably no benefit to using their volume control over ours–it’s not up-sampling, and we are already expanding bit-depth and dithering in our volume control, which is greater-than-or-equal-to what I expect the device is doing.
Many thanks for your prompt and considered reply - all makes good sense to me.
I tried using Roon’s “DSP Volume” and it worked! Output is now S32_LE and the DAC is playing like a champ! Sounds great too This outcome is absolutely fine - I’m very happy.
Thanks again, I like where you’re going with Roon - great product.
I am new to Roon and am not a super technical guy. I am using a PS Audioslave Direct streams Dac.
I am only seeing a 44.1 sampling rate on my screen. I thought I was going to see 4 times this (or greater) with Roon / Tidal??? Can anyone help a non technical guy understand why?