DSD to PCM conversion CPU intensive?

I am using DSP to do DSD64 to PCM176.4khz.

My computer is Mac mini/High Sierra 2.3Ghz 4 core.

Processing Speed observed in the Roon “Signal Path” window
0.8x ~ 1.6x @DSD64 -> PCM 176.4khz*
0.8x ~ 1.1x @DSD128 -> PCM 176.4khz*
0.4x @DSD256 -> PCM 176.4khz
*If I do not power recycle for a long time, processing speed diminishes to the low end (0.8x).

I am observing CPU usage% in my mac and the RoonAppliance registers about 20~140% at idle (i.e. no music playing, no roon busy circle circling) and it does not go beyond above 200% even at demanding load.

My question is:

  1. Is DSD to PCM conversion CPU intensive? If so, is there a workaround setting in the DSP section to reduce CPU load (or increase the Processing Speed)? My DAC max input capability is PCM 192khz with no DSD input capability.

  2. If there is no workaround, is there a way for my mac to allocate more CPU power to the RoonAppliance app like 300%?

Thank you for your very kind attention in advance.

PS. I have 10,000+ albums on NAS. This might be causing high CPU usage at idle(140%). If so, can I do something about that?

Is the initial Audio Analysis still in progress? If so, then that will eat up resources, however, you can turn off the analysis while you’re listening to music.

oh the initial audio analysis is all done so that part should be quite.

One more observation. The progress bar (in the bottom of the roon window) stops moving after a few seconds whenever the DSD to PCM conversion is in place.

DSD conversions are CPU intensive as you are finding out. I’m running a fast desktop i7 running at a 4 Ghz per core with 16 GB of RAM and getting:
DSD 64 to 176 17.2x
DSD 128 to 176 7.5x
DSD 256 to 176 3.7x

Roon realtime processing speed cannot drop below 1x. That is why your progress bar stops moving.


Oh thank you very much for providing me with a reference point. Now cpu upgrade is in order.

Oh I see. So if the roon misses a beat, it gives up on updating the progress count? Actually the progress bar stops even at Processing Speed of 1.4x with DSD64->176 conversion. That is, when there is no stuttering. The Last Played count does not go up either. Maybe there is a missed beat that is not audible.

@shinyc you must also use Parallelize Sigma-Delta Modulator on to gain the best use of your processor cores for DSP

What year is you MacMini?

This is lower than I thought. Please post your signal path, and make sure you have no other DSP operation active.

And enable Parallelize Sigma Delta Modulator as wizardofoz said.

I played with the following 2 settings per your instruction. (BTW my mac mini is of late 2012 variety.)


Parallelize Sigma-Delta Modulator
This setting did increase the Processing Speed but it was minimal.

Enable Native DSD Processing
This setting showed whopping 5-fold improvement. The first picture below shows the Signal Path with this setting turned off. The second on.

No stuttering even @ DSD256 to 176 conversion (2.5x).

I do not discern sound difference between different combinations of the two switches. So that’s a good news. It is a cool finding and I thank you all for very timely and exact help. Muchas Gracias!

Parallelize Sigma-Delta Modulator – if it does only what it indicates – should not have effect on DSD to PCM conversion, only on PCM or floating point to DSD conversion.


Why in the world are you employing Roon sample rate conversion and HQPlayer? You really need only one or the other. That added CPU load likely is a contributing factor to your processing speed issues.


1 Like

I am running a HQPlayer on another machine. So the HQPlayer does not load the mac mini. I am using the HQPlayer with no filters and why am I doing that? Beats me but it sounds better with than without. It seems to be the case for Schiit Yggy owners.

I think the confusion is why are you not using HQPlayer to do DSD to FLAC conversion and just have Roon send HQPlayer the audio data unmodified.

I think you’re right. It should be disabling Native DSD processing setting instead, as the OP has found out.

Actually I was letting HQPlayer do the DSD/Flac conversion before but after upgrading jplay asio driver (to 7.0), my HQPlayer hangs as soon as I feed DSD material. So I am resorting to roon’s capability for the such. Besides, HQPlayer does not down sample (in my knowledge) so I have to let roon down sample for those materials containing higher sampling frequencies than my dac is capable of decoding. BTW Jplay 7.0 is mighty fine. Please be forewarned that It can easily consume 2 days of your time.

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