Device volume control

Core Machine (Operating system/System info/Roon build number)

Core on Debian 1.7 528

Network Details (Including networking gear model/manufacturer and if on WiFi/Ethernet)

HP switches, hardwired ethernet

Audio Devices (Specify what device you’re using and its connection type - USB/HDMI/etc.)

RoPieee(XL) on Rpi4, USB out to DAC

Description Of Issue

I have set volume control to ‘DSP volume’. I expect this to be Roon’s 64bit digital volume. However, this controls the ALSA volume on RoPieee/Pi4. I would think that ‘Device volume’ should interact with ALSA, unless the DAC reports a volume control during USB handshaking, in which case Roon should control the DAC’s volume instead (if compatible). When I select ‘Device volume’ the setting jumps to ‘fixed’.

How is this supposed to work? How do I select Roon’s 64bit digital volume?

Hi @ogs,

Let me get your questions over to the hardware team, as they would be most familiar with how DSP Volume works under the hood. I have ping’d them and once this reaches the queue, I or another support member will reach out once more. Thanks!

Thanks Noris

for extra clarity I’ve taken a screen shot of the Signal Path. The DSP Volume here has 10dB attenuation and is placed after 64->24bit conversion. Should be just after Convolution shouldn’t it?

Hello @ogs,

As far as I can tell this is expected behavior.

When playing to RAAT endpoints connected to remote devices, the Roon Core delegates the DSP Volume to the endpoint instead of performing it on the Roon Core. This enables responsive volume control that reacts immediately to user inputs—if the DSP volume was performed on the Core it would be subject to a 3-5 second delay due to RAAT buffering.

So long as the RoPieee is running stock Roon Bridge, the “DSP Volume” is the same as the 64bit DSP volume you would see when playing to a local device. The difference is that the RoPiee endpoint is performing the 24bit -> 64bit -> Volume -> Dither to 32/24bits process as the last step before output.


Hi John
So it is moved from 16/24 to 64bit for volume control an then back to 32/24bit with dither? At the Roon bridge? If that is the case, all is fine, actually better… Signal Path doesn’t show this extra 64bit conversion on the endpoint so one is led to believe that volume is performed on the native rate of the track which would not be optimal. Maybe you should consider a 64bit statement, at least in the explanation popup for the volume?

1 Like

Hello @ogs,

Correct, the bit depth expansion, attenuation, and dither is all happening at the RAAT endpoint. I have submitted this Signal Path recommendation in a ticket to the product team for future consideration.


This topic was automatically closed 36 hours after the last reply. New replies are no longer allowed.