Change in dynamic range when converting from DSD to FLAC

I used xLD on Mac to convert DSD64 to FLAC 24/88.2. Roon reports the average DR of the DSD version of the album as 7, but the converted FLAC as 5. How is that possible? Is this a Roon or xLD bug/issue?

@hacker19 it’s complicated but probably best explained here - I would consider it an “issue” but perhaps not a “bug” with Roon:

It all has to do with the formulas used. The problem for you and any Roon user is that the numbers are not perhaps as useful to the average Joe as they might be.


To summarize: there are two aspects related to DSD in terms of levels that are different from PCM:

  • DSD as format is in theory able to exceed the so-called 0dBDSD (i.e. 50% modulation). PCM can’t exceed 0dBFS [as amplitude]. This of course doesn’t matter for specific tracks.

  • Unless the [very large] quantization noise of DSD is filtered out before computing dynamic range, it will be mistaken for useful signal. It’s likely the method used to determine the dynamic range of DSD doesn’t do that.

There’s a very interesting DSD FAQ by Grimm audio that touches on some of these aspects, although a bit technical:

DSD FAQ white paper - Grimm Audio

1 Like

@Marian, I of course agree with you, but then I thought I would do an experiment to demonstrate what all of this is saying…and then surprised myself.

Here’s a screenshot from Spek of an analysis of a DSD256 file:

There is no frequency range label on the left Y axis, but the little bit of content you see along the X axis at the bottom is the (human audible) 0 Hz - 20 kHz content of the music. Lots of ultrasonic noise above the signal, of course. And for DR, Roon reports:

Screenshot 2024-01-09 at 6.32.16 PM

If I convert the file to 16/44 FLAC, I get this in Spek, which is, of course, cleaner without all the ultrasonic noise:

…Yet the DR remains the same!

Screenshot 2024-01-09 at 6.36.11 PM

So maybe different conversion tools create different results? I used Pine Player to do the conversion FYI.

(Yeah, the first graph perfectly shows the amount of noise DSD carries.)

That would suggest Roon uses a true filter for the dynamic range, so there’s probably something else going on. If you were to map 0dBDSD to 0dBFS, you’d have to apply a +6dB gain to the signal after the lowpass filter, and that could cause enough clipping to reduce the dynamic range.

1 Like

It is XLD, not xLD. Unless you are using a copycat program.

Regardless, maybe the conversion software does not apply a digital filter above 20 kHz. If so, the FLAC file will retain the high levels of DSD ultrasonic noise shaping in the 20-40 kHz octave. And that may increase the RMS level measurement, thereby decreasing the dynamic range measurement.


Thanks all for the responses. This question was just out of academic curiosity. I’m not worried about losing anything in the conversion, nor I’m able to hear any differences. DSD is converted to FLAC anyway because I’m using DSP in Roon for room correction.