Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Is DSD conversion a viable means of resampling? (Read 3408 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Is DSD conversion a viable means of resampling?

The two ways I can remember to resample audio are: Use a resampler, and play back while re-recording at another sample rate.
Then I started wondering how resampling turns out when DSD is used as the means of resampling.

Instead of looking up documentation on how DSD codecs are implemented, I started making test files with dBpoweramp.

I converted the same 44.1kHz 16 bit wav file into DSD64, 128 and 256. Then converted them back to wav with the 'same sample and bit rate as input' setting. That turned out to be 96kHz at 24bit for all of them. Then I made a version using the dBpoweramp resampler.

Unsurprisingly, I can't hear any difference in sound between any of them, but I did find something unexpected: Doing a null test between the DSD files yields a difference in frequency volume. Every frequency seems to get boosted on curve (maybe linear) with 22kHz being boosted the most and 20Hz hardly at all. The difference is more pronounced between DSD64 vs DSD256 (I didn't bother doing DSD512). That same boost is there doing a null test vs the upsampled wav file.

Initially, I was thinking that DSD would have a better chance of not distorting sound waves in the same ways as resampling algorithms—and that might still be true—but that frequency boost technically puts the resampler closer to the original.
Processed audio in java and python.

Re: Is DSD conversion a viable means of resampling?

Reply #1
When upsampling to DSD samplerates and then resampling to normal samplerates, you can get offset. Sometimes offset can be even less than one whole sample. Offset will affect null test.

 

Re: Is DSD conversion a viable means of resampling?

Reply #2
The two ways I can remember to resample audio are: Use a resampler, and play back while re-recording at another sample rate.
Then I started wondering how resampling turns out when DSD is used as the means of resampling.
I don't understand what you are trying to say here. How is DSD a 'means' of resampling. You resample to DSD, dither to 1 bit and you resample back widening the bitdepth back to whatever bitdepth you want. DSD is then a step in the process, not a resampling method nor a means to resample.

Quote
Every frequency seems to get boosted on curve (maybe linear) with 22kHz being boosted the most and 20Hz hardly at all. The difference is more pronounced between DSD64 vs DSD256 (I didn't bother doing DSD512). That same boost is there doing a null test vs the upsampled wav file.
Could it be you're seeing the noise-shaping associated with DSD, which is necessary to be able to dither to 1-bit and still have the sound not drown in noise?
Music: sounds arranged such that they construct feelings.

Re: Is DSD conversion a viable means of resampling?

Reply #3
Initially, I was thinking that DSD would have a better chance of not distorting sound waves in the same ways as resampling algorithms

DSD conversion is resampling. 

Re: Is DSD conversion a viable means of resampling?

Reply #4
Noise-shaped dithering pushing the noise to the higher frequencies, but because the Nyquist frequency is so high with DSD's sampling rate, the effects even at 22 kHz shouldn't be that significant? And nobody can hear it. As to whether it aliases back to the audible range though...

Re: Is DSD conversion a viable means of resampling?

Reply #5
When upsampling, if the original signal has a 44.1kHz sample rate, no matter how high the target sample rate is, a low pass filter at around 22kHz is still required to remove the correlated images.

When downsampling to 96kHz, as mentioned by the OP, no matter which sample rate you are downsampling from, a low pass filter is still required to limit the bandwidth to <48kHz to avoid aliasing.

So the filter bandwidth requirement for 44.1kHz -> DSD -> 96kHz is no different from for example 44.1kHz -> 192kHz -> 96kHz. However, for DSD64, the DSD -> 96kHz step should use a softer filter with early roll off, for example, starts at 25kHz and stops at 48kHz, in order to trim the DSD noise. See some examples here:
https://www.audiosciencereview.com/forum/index.php?threads/digital-filter-game.23795/post-810355

Apart from subsample delay, if the resampling filters are not linear phase, null test results will also be affected.

Re: Is DSD conversion a viable means of resampling?

Reply #6
How is DSD a 'means' of resampling[?]
I don't know (and probably wouldn't understand) the exact method used to create a DSD file from PCM. My understanding is that the math used to recreate sound waves from PCM is exact for the task. If DSD encoding is done how I expect it, the sample rate is never exposed to the DSD encoder. Just like if you record playback from one digital audio source to another. If I'm wrong, I can understand your confusion.

Thank you everyone for helping me close the holes in my knowledge.
Processed audio in java and python.


Re: Is DSD conversion a viable means of resampling?

Reply #8
That was a good read. He has a lot more options open to him using SOX than I have, but still very informative on the nature of DSD vs PCM.
Processed audio in java and python.