DSP Volume Should Not Break MQA Rendering

Hello @David_Snyder,

Our apologies, this slipped through the cracks.

It is not possible to use DSP volume with MQA due to the architecture of RAAT.

As shown in the Signal Path, DSP Volume control is handled on the RAAT “endpoint” instead of the Roon Core’s DSP engine. This can be confusing as the RAAT “endpoint” is often running on the same machine as the core, but they are actually two separate entities. If you check Activity Monitor on your Mac you’ll see the “RAATServer” process, this is what handles DSP Volume as well as interfacing with the audio devices on your computer.

This architecture is what allows for instantaneous response of the volume control in Roon. Roon uses large (often multiple seconds) buffers between the Core and audio endpoints. If DSP volume was handled in DSP Engine there would be a latency of multiple seconds before the change in volume could be heard from the audio device.

RAAT is designed to be a multi-platform low-power solution to sending audio bits around your home. The advantage to this approach is that it allows RAAT to run on everything from a Raspberry Pi to a 64 core Epyc/Xeon workstation. DSP operations such as the MQA Preserve/Restore process are outside of the scope of what RAAT was designed to do.

Some comments from our CTO about the relevant design decisions can be found here:

-John