Roon using DSP with DSD feeding the PS Audio DSD DAC

Question for Roon DSP and DSD users. I noticed that when I engage either of these I saw that Roon Core engaged a delta sigma conversion. Guessing since it was converting to PCM then back to DSD.
What have others done? For users of DSP do you keep that engaged with DSD? I have a PS Audio DAC which works great with DSD. Is it a waste of a great DAC if that is happening first in the Core/RAAT stream before it hits my DAC? I turned off DSP and headroom both, and it I thought it sounded better. It was louder and I know its hard to tell if its just louder or better.

So I am wondering what others have experienced with this situation. I watched the 2014 video of Ted’s tech talk on the DSD and loved it. But gave me a greater appreciation of what it does. But also made me think about how I am using it. This seems not the right way. I may play around with it some more.

Good question.

I decided that for me in my system and room the positive effect on SQ from the HAF convolution filter in Roon (DSP) outweighs the beauty of a lossless path.

And as around 99,9% of my listening is PCM anyway, I simply won‘t put any energy in preserving DSD. I can enable native DSD playback, if wanted, and that‘s fine with me.

There was a forum post from the Roon CTO that DSP on DSD does not do a full conversion to PCM, it‘s a different bit signal and processing, that then gets converted back to 1bit via Sigma Delta Processing. Couldn’t find it now, but maybe worth digging it up again.

Thanks I will look for that on roon site.

I tend to agree. I moved things around so I have to redo my conv. filter. So now I have it shut off as its just wrong. PCM totally agree. I have about 100 DSD albums so I do care and after watching Teds old 2014 video I feel that whatever roon is doing seems that it could effect the signal. Very interested in finding that article. thanks.

1 Like

I got a response in the Roon Community (@Philipp_Schaefer thanks for the tip). I would love to hear what @tedsmith has to say about this below as much of it goes by my knowledge:

From Roon:

We do indeed process DSD without performing a DSD->PCM conversion first. The signal path is reflecting that accurately.

I’m going to explain how it works–keep in mind that there are some subtle technical details here, and some background knowledge is required to understand them fully. Processing DSD isn’t nearly as straightforward as processing PCM. With the exception of a few simple operations, you can’t process it directly in the 1-bit representation. There are more steps involved, but it’s possible to perform those steps in a way that keeps all of the important properties of DSD intact.

First, I’ll explain DSD->PCM conversion, because it helps to understand the other technique in a relative sense.

DSD->PCM conversion starts with a with a DSD signal and produces a signal with two characteristics:

  • PCM representation (lower sample rate, wider samples)
  • Low noise floor throughout the frequency domain of the PCM format that is as flat as possible.

The first one is obvious–we need a PCM-like representation at the end. The second goal is more subtle–it is saying that the content of the signal must look like a PCM signal. It must be accepted and played properly by PCM equipment. It must be processable by downstream DSP processes that expect to work with PCM data, and so on. It must not cause damage to equipment that’s expecting PCM.

This is accomplished in three steps:

  1. Start with a DSD stream, and widen from 1 bit-per-sample to 64 bits-per-sample
  2. Downsample it by 8x (so DSD64 → 352.8kHz, DSD128 → 705.6kHz, etc).
  3. Apply a low pass “reconstruction filter”. This filter also exists in a DSD DAC, but since we are effectively simulating the DAC, we must simulate that aspect here too, since PCM DACs do not have this filter.

The reconstruction filter removes the noise inherent to the DSD signal before it can reach equipment that might not be prepared to handle it. Most of the energy in a DSD signal lives in this noise (well over 95%), so even though the noise is all at inaudible high frequencies, it’s important to filter it out so that your gear is not asked to turn that energy into loud, high frequency sound.

If you look at a spectrogram of DSD->PCM converted data, it looks like a PCM signal. Depending on the source material, and the sensitivity of your spectrogram, you might see a bit of a very quiet noise floor in the area where the transition band of the noise shaping filter used during mastering crosses over with the transition band of the DSD->PCM low pass filter (30-60kHz for DSD64).

OK, so now that DSD->PCM is explained, lets talk about the case you’re actually interested in–the one where we process and output DSD without converting it to PCM.

This works like this:

  1. Start with a DSD stream, and widen from 1 bit-per-sample to 64 bits-per-sample
  2. Apply a low pass filter to remove the bulk of the inherent noise energy from the widened signal.
  3. Apply processing steps to the wide intermediate format.
  4. Send the signal through a sigma-delta-modulator to re-render the “wide” 64-bit stream into a 1-bit DSD stream.

The low pass filter (2) in this process might sound like the reconstruction filter we discussed above, but it is very different. It is much more lenient, less steep, and it only attenuates frequencies over 100kHz–and these already have a very poor SNR because of the inherent noise shaping in DSD, so we can be sure that no meaningful information existed there in the first place.

Without the filter, sound quality suffers significantly or the sigma delta modulator risks becoming unstable (i.e. starts outputting horrible sounds that ruin your ears and if you’re unlucky your gear too).

At step (3) the signal is structurally similar to a PCM signal–in that it is comprised of a series of multi-bit samples. However, it does not have content typical of PCM signals and it maintains the DSD sample rate. If you looked at a spectrogram of the intermediate format in (3), it would look just like DSD, except with the bulk of the noise above 100kHz severely attenuated by the low pass filter.

By maintaining the original sample rate through processing, the time-domain characteristics of DSD are maintained. By designing the filter to stay far away from musical content, the frequency-domain characteristics are maintained too.

Sometimes this form of processing, or this intermediate format is referred to as “DSD-Wide”. We didn’t use that term because some people have defined DSD-Wide as an 8 bit intermediate format (whereas we use 64 bits…a luxury of precision afforded to us by running on modern desktop-class CPUs) and I didn’t want to create confusion.


That’s a good and correct response. Doing the same PCM math but at the DSD sample rate is the key.


Thanks, Ted

Yes thanks so much. So in your opinion its “ok” to use the roon DSP with DSD?

Yes, they know what they are doing and it’s what I would recommend they do, many didn’t in the past, I think things are getting better.


Thanks for digging deeper and sharing the result. Lots to learn.

Thanks Ted as always its a pleasure.