Jump to content
IGNORED

The tradeoff between DSP and DSD


sdolezalek
 Share

Recommended Posts

For those who have a significant amount of DSD content, do you have a view as to how much is lost when you use the DSP controls in software like Roon (which means you are converting from DSD to PCM, applying sound controls, and then, if like me you convert everything to DSD512 in HQPlayer, you are going back to DSD)?  Is that a reason to prefer DXD original files (over say DSD256 or DSD512), even if you ultimately listen to everything in DSD512? 

 

I suppose that same tradeoff applies for anyone using REW, Dirac or other convolution engine that functions at a 24/192 level.

Synology NAS>i7-6700/32GB/NVIDIA QUADRO P4000 Win10>Qobuz+Tidal>Roon>HQPlayer>DSD512> Fiber Switch>Ultrarendu (NAA)>SMSL M500 DAC> Bryston SP3 pre>Levinson No. 432 amps>Magnepan (MG20.1x2, CCR and MMC2x6)

Link to comment
Share on other sites

First of all, all my attempts to measure room acoustics and adjust in EQ have been failures. In my experience, correcting frequency response results in negatives outweighing the positives. Room tuning through setup and traps/diffusers has been less effective in addressing frequency response curves, but more effective in net from a sound quality perspective. My next project is to try building an accurate convolution filter through REW to see what can be accomplished.

 

In regards to headphones, EQ works for lo-fi and some mid-fi headphones, but will ruin the sound of hi-fi headphones.

Link to comment
Share on other sites

I am using DSP as I am using a digital cross-over function and some minor frequency control. A digital cross-over is far superior to any passive and allows much more control over slope, phase and time. A passive cross-over is very much dependent on the quality of the components (like capacitors with no inductance or resistance) and these parts influence sound and are a significant part of the cost of a speaker. 

EQ or speaker correction via DSP works but only when one considers the specific driver parameters i.e. not driving a speaker over its design parameter like x-max, thermal tolerance and distortion behavior. The same applies for headphones independent how much they cost!

I agree with room correction as room acoustic is a 3D phenomenon and can not be simply corrected by linearly modifying the output of a speaker.

So DSD is preventing direct DSP. That means not that DSD is not useable but requires addition conversion steps like Estelon Lynx system http://estelon.com/estelon-launches-groundbreaking-digital-audio-technology-preview-worlds-first-high-end-intelligent-speakers-estelon-lynx/ which has DSD direct amps.

MQA has at least presently the same effect on DSP usage as DSD which means I am not interested in either.

Link to comment
Share on other sites

1 hour ago, sdolezalek said:

For those who have a significant amount of DSD content, do you have a view as to how much is lost when you use the DSP controls in software like Roon (which means you are converting from DSD to PCM, applying sound controls, and then, if like me you convert everything to DSD512 in HQPlayer, you are going back to DSD)?  Is that a reason to prefer DXD original files (over say DSD256 or DSD512), even if you ultimately listen to everything in DSD512? 

 

I suppose that same tradeoff applies for anyone using REW, Dirac or other convolution engine that functions at a 24/192 level.

 

I asked at the Roon Community what Roon actually does when EQ is applied to DSD, as the Roon Signal path doesn't indicate conversion to PCM. This is the (somewhat surprising) answer I received from Brian, Roon CTO:

 

 
Quote

 

 

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.

 

 

Main listening (small home office):

Main setup: Surge protector +_iFi  AC iPurifiers >Isol-8 Mini sub Axis Power Conditioning+Isolation>QuietPC Low Noise Server>Roon (Audiolense DRC)>Stack Audio Link II>Kii Control>Kii Three >GIK Room Treatments.

Secondary Listening: Server with Audiolense RC>RPi4 or analog>Matrix Element i Streamer/DAC (XLR)+Schiit Freya>Kii Three .

Bedroom: SBTouch to Cambridge Soundworks Desktop Setup.
Living Room/Kitchen: RPi 3B+ running RoPieee to a pair of Morel Hogtalare. 

All absolute statements about audio are false :)

Link to comment
Share on other sites

Yes, I would agree that even if it isn't exactly the same PCM as you might otherwise think of, the fact that he is downsampling and upsampling and applying filters in the process is what I am concerned about.  It is one thing to use upsampling to bypass (at least some of) the upsampling that would otherwise occur in your DAC, it is something else to introduce another separate conversion process that would not otherwise exist.  

 

I'm in GUTB's camp when it comes to first trying to fix any issues through room adjustments before applying DSP.  In my case, I have a fairly shallow response valley between 55 and 90 Hz that is down about 4db.  It can easily be flattened out through the use of Roon's DSP equalizer tool, but after I tried it I wondered whether the cure might be worse than the disease.  Having said that, part of how I got to this shallow valley was that my preamp (Bryston SP3) allows me to set the crossover point to the subwoofer in its 2.1 bypass mode, but that begs the question of whether the Bryston isn't doing its own DSD to PCM conversion in order to apply the crossover filter (and thus bypass mode isn't really a true bypass)???

Synology NAS>i7-6700/32GB/NVIDIA QUADRO P4000 Win10>Qobuz+Tidal>Roon>HQPlayer>DSD512> Fiber Switch>Ultrarendu (NAA)>SMSL M500 DAC> Bryston SP3 pre>Levinson No. 432 amps>Magnepan (MG20.1x2, CCR and MMC2x6)

Link to comment
Share on other sites

@Miska confirmed in another thread that multi-bit padding of DSD (as performed by a Sabre) is still essentially native DSD because no information is lost. As long as the DSD stream isn't being decimated, and the relevant high frequency range isn't being filtered, the DSD stream is essentially identical (minus the useless high frequency artifacts).

Link to comment
Share on other sites

I avoid such a trade off and turn DSP totally off. My Lyngdorf TDAI prefers a pure signal, no need for any treatment before with software as Lyngdorf converts the input signal to 24/96 applying clipping control and then keeping the signal 100% digital.

Software > Roon Server & HQ Player4 on Windows 2019/AO & MacMini MMK (plus Audirvana 3.5)  > Netgear GS105EV2 > Meicord Opal > Naim NDX 2 > Naim SN2 + Lyngdorf CD-2 + Rega RP8/Aria >  > Harbeth SHL5 plus

Link to comment
Share on other sites

2 hours ago, sdolezalek said:

Yes, I would agree that even if it isn't exactly the same PCM as you might otherwise think of, the fact that he is downsampling and upsampling and applying filters in the process is what I am concerned about.  It is one thing to use upsampling to bypass (at least some of) the upsampling that would otherwise occur in your DAC, it is something else to introduce another separate conversion process that would not otherwise exist.  

 

I think you misunderstood the quote brought by @firedog in that the Roon person specifically said that they are not downsampling from the dsd rate when they are processing dsd. Quoting now, "it maintains the DSD sample rate".

Link to comment
Share on other sites

 

The "Roon person" you are referring to is Brian Luczkiewicz, their Chief Technical Officer.  What he said is quoted exactly below:

3 hours ago, firedog said:
  • Start with a DSD stream, and widen from 1 bit-per-sample to 64 bits-per-sample
  • Downsample it by 8x (so DSD64 -> 352.8kHz, DSD128 -> 705.6kHz, etc).
  • 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.

 

What part of "downsample it by 8X" am I misunderstanding? 

Synology NAS>i7-6700/32GB/NVIDIA QUADRO P4000 Win10>Qobuz+Tidal>Roon>HQPlayer>DSD512> Fiber Switch>Ultrarendu (NAA)>SMSL M500 DAC> Bryston SP3 pre>Levinson No. 432 amps>Magnepan (MG20.1x2, CCR and MMC2x6)

Link to comment
Share on other sites

21 minutes ago, sdolezalek said:

What part of "downsample it by 8X" am I misunderstanding? 

That's from the description of how they convert DSD to PCM. He then goes on to say that this step is skipped for DSD to DSD processing.

 

The main effect of doing DSP at DSD rates is vastly increased CPU load. DXD or double DXD rate provides ample margin for filters between the highest music frequencies and Nyquist.

Link to comment
Share on other sites

38 minutes ago, sdolezalek said:

 

The "Roon person" you are referring to is Brian Luczkiewicz, their Chief Technical Officer.  What he said is quoted exactly below:

 

What part of "downsample it by 8X" am I misunderstanding? 

Read again, the Roon quote describes two different things: first, as an introduction, the quote describes conversion from dsd to pcm and, subsequently, it describes the process they use to process dsd, making it clear that this differs from the first precisely in that downsampling is avoided. 

Link to comment
Share on other sites

The relevant part is that Roon does EQ on DSD without using a decimation filter. The upsampling and downsampling referred to is all  in the realm of 1bit and multi-bit DSD. No conversion to PCM with the decimation filter.

 

You can argue all you want that it is PCM. But try playing DSD wide in a PCM only setup and see what happens. 

 

Michal at Mytek said that conversion to  DSD wide not only doesn’t harm a DSD signal, it is sonically superior. And here we are talking about 64 bit DSD wide, not 6 bit.

https://www.audiostream.com/content/qa-michal-jurewicz-mytek-digital

and see also https://www.audiostream.com/content/qa-thorsten-loesch-amrifi-audiostream-addendum-pcm-vs-dsd.

 

But I guess some of you understand it better than Michal, Thorsten, and Brian. You should design and sell your own HW and software. 

Main listening (small home office):

Main setup: Surge protector +_iFi  AC iPurifiers >Isol-8 Mini sub Axis Power Conditioning+Isolation>QuietPC Low Noise Server>Roon (Audiolense DRC)>Stack Audio Link II>Kii Control>Kii Three >GIK Room Treatments.

Secondary Listening: Server with Audiolense RC>RPi4 or analog>Matrix Element i Streamer/DAC (XLR)+Schiit Freya>Kii Three .

Bedroom: SBTouch to Cambridge Soundworks Desktop Setup.
Living Room/Kitchen: RPi 3B+ running RoPieee to a pair of Morel Hogtalare. 

All absolute statements about audio are false :)

Link to comment
Share on other sites

1 hour ago, firedog said:

But I guess some of you understand it better than Michal, Thorsten, and Brian.

They probably understand it just fine. They just choose to misrepresent things when it suits their commercial interests.

 

1 hour ago, firedog said:

You should design and sell your own HW and software. 

I guess giving it away for free isn't good enough.

Link to comment
Share on other sites

9 hours ago, sdolezalek said:

 

The "Roon person" you are referring to is Brian Luczkiewicz, their Chief Technical Officer.  What he said is quoted exactly below:

 

What part of "downsample it by 8X" am I misunderstanding? 

 

No, in your quote he is talking about typical DSD to PCM conversion as an example of what Roon DOESN'T do when applying EQ to DSD. Try reading the quote again and letting yourself understand it, instead of intentionally misunderstanding it.

Main listening (small home office):

Main setup: Surge protector +_iFi  AC iPurifiers >Isol-8 Mini sub Axis Power Conditioning+Isolation>QuietPC Low Noise Server>Roon (Audiolense DRC)>Stack Audio Link II>Kii Control>Kii Three >GIK Room Treatments.

Secondary Listening: Server with Audiolense RC>RPi4 or analog>Matrix Element i Streamer/DAC (XLR)+Schiit Freya>Kii Three .

Bedroom: SBTouch to Cambridge Soundworks Desktop Setup.
Living Room/Kitchen: RPi 3B+ running RoPieee to a pair of Morel Hogtalare. 

All absolute statements about audio are false :)

Link to comment
Share on other sites

5 hours ago, Ron Scubadiver said:

If you want DSP, my research and informal listening tests indicate a high quality conversion to PCM without converting back to DSD is the preferred approach.  This is possible in both JRiver and Foobar2000.   It helps if your DAC can input a high bit rate PCM stream, like 352k.

 

...and then your DAC chip will do equivalent thing inside (conversion from PCM to DSD-like data), in a not so great way...

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
Share on other sites

9 hours ago, firedog said:

 

No, in your quote he is talking about typical DSD to PCM conversion as an example of what Roon DOESN'T do when applying EQ to DSD. Try reading the quote again and letting yourself understand it, instead of intentionally misunderstanding it.

 I did misunderstand it, just not intentionally.  But thank you for pointing it out.  I have a ton of respect for Brian's work and so I'm not surprised that he figured out a way to do DSD equalization that is not destructive.

Synology NAS>i7-6700/32GB/NVIDIA QUADRO P4000 Win10>Qobuz+Tidal>Roon>HQPlayer>DSD512> Fiber Switch>Ultrarendu (NAA)>SMSL M500 DAC> Bryston SP3 pre>Levinson No. 432 amps>Magnepan (MG20.1x2, CCR and MMC2x6)

Link to comment
Share on other sites

6 minutes ago, sdolezalek said:

I have a ton of respect for Brian's work and so I'm not surprised that he figured out a way to do DSD equalization that is not destructive.

It doesn't exactly take a genius to skip the resampling steps and do whatever DSP at the higher rate.

Link to comment
Share on other sites

8 hours ago, Miska said:

 

...and then your DAC chip will do equivalent thing inside (conversion from PCM to DSD-like data), in a not so great way...

 

Sometimes the "not so great way" subjectively sounds better.

Roon Rock->Auralic Aria G2->Schiit Yggdrasil A2->McIntosh C47->McIntosh MC301 Monos->Wilson Audio Sabrinas

Link to comment
Share on other sites

 

1 hour ago, mansr said:

It doesn't exactly take a genius to skip the resampling steps and do whatever DSP at the higher rate.

I can see that this Holiday Season has put a lot of us into very cheery moods... :/  On a more serious note, if this is so easy, are you suggesting that Dirac, REW, Acourate and others providing DSP corrections are doing the same to preserve the integrity of DSD input signals?  If not, are you of the view that the benefits of their corrections clearly outweigh any damage they may be doing to the original sound wave?  

 

I'm not trying to be difficult, but I am genuinely interested in the tradeoffs being made in favor of delivering fully flat frequency response.  

 

Synology NAS>i7-6700/32GB/NVIDIA QUADRO P4000 Win10>Qobuz+Tidal>Roon>HQPlayer>DSD512> Fiber Switch>Ultrarendu (NAA)>SMSL M500 DAC> Bryston SP3 pre>Levinson No. 432 amps>Magnepan (MG20.1x2, CCR and MMC2x6)

Link to comment
Share on other sites

15 minutes ago, sdolezalek said:

 

I can see that this Holiday Season has put a lot of us into very cheery moods... :/  On a more serious note, if this is so easy, are you suggesting that Dirac, REW, Acourate and others providing DSP corrections are doing the same to preserve the integrity of DSD input signals?  If not, are you of the view that the benefits of their corrections clearly outweigh any damage they may be doing to the original sound wave?  

 

I'm not trying to be difficult, but I am genuinely interested in the tradeoffs being made in favor of delivering fully flat frequency response. 

 

I, for one, would like to better understand this "widening from 1 bit per sample to 64 bits per sample" business.  I've heard of multibit SDM, but I'm not really understanding how this works practically.

Link to comment
Share on other sites

3 minutes ago, sdolezalek said:

On a more serious note, if this is so easy, are you suggesting that Dirac, REW, Acourate and others providing DSP corrections are doing the same to preserve the integrity of DSD input signals?

I don't know what they do, or even if they support DSD at all.

 

3 minutes ago, sdolezalek said:

If not, are you of the view that the benefits of their corrections clearly outweigh any damage they may be doing to the original sound wave?

Room correction works up to 50 kHz or so. Speakers and microphones only extend that far, if you're lucky, so for higher frequencies you have no measurements on which to base a correction. For these purposes, even 96 kHz is thus sufficient, and I don't believe resampling to this rate around the correction filters will be of detriment. If you worry that the resampling filters will have and audible effect, you can pick a higher rate like 384 kHz and still reduce the CPU load compared to running the main DSP at DSD rates. A clear benefit of using a lowish intermediate rate is that it enables the use of a more sophisticated correction filter without exceeding available CPU resources.

Link to comment
Share on other sites

3 minutes ago, Samuel T Cogley said:

I, for one, would like to better understand this "widening from 1 bit per sample to 64 bits per sample" business.  I've heard of multibit SDM, but I'm not really understanding how this works practically.

It's quite simple. For each DSD input bit you create a sample of whatever width you like, such as 64 bits, with the most positive or most negative value used by the data type depending on whether the input was a 1 or a 0. Then you proceed as you would with any PCM input. To get back to a 1-bit DSD format, a sigma-delta modulator must be used.

 

Multi-bit SDM is something else. That is a sigma-delta modulator with more than two output levels. Even a small number, say 5, gives much more flexibility in the design of the noise shaping filter without running into stability issues.

Link to comment
Share on other sites

12 minutes ago, mansr said:

It's quite simple. For each DSD input bit you create a sample of whatever width you like, such as 64 bits, with the most positive or most negative value used by the data type depending on whether the input was a 1 or a 0. Then you proceed as you would with any PCM input. To get back to a 1-bit DSD format, a sigma-delta modulator must be used.

 

In the case of Roon, this "modulator" is a software implementation?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share



×
×
  • Create New...