Hey everyone, although I'm in the middle of the Topping D90SE review series, I thought this week I'd make a slight detour! Like I suggested last week, I'm planning to savor the D90SE measurements / discussion series and enjoy the DAC. No rush needed. I see this blog as more educational and philosophical than mere opinions about things you can just buy and try for yourself. ;-)
Over the years, the fun part of the hobby and blogging for me has been to "evolve". As an audiophile, it's fun taking on the challenge of examining this pursuit with a more objective lens. To do that, it has been good to see what others are up to and incorporate incremental improvements in the testing gear and techniques I use within the budget of a home audiophile.
Each of these "MEASUREMENTS" posts is like a mini-experiment that we as hobbyist/"citizen scientists" can do for ourselves. I trust that the information I post can be repeated and verified if you have the interest, time, and some know-how.
Inspired by discussions with Bennet Ng (aka Dtmer Hk recently and in the Topping D10B review), DSD measurements is something that I have seen little discussions of in reviews. For reference, in these blog pages, we have talked generally about DSD/SACD back in 2013, looked at conversion software (here, here), as well as talked about PCM --> DSD playback like with HQPlayer a couple years ago.
But I haven't really taken a more intentional look at my DSD testing regimen... Something I hope to rectify here and clarify the "standard" signals I'll use in the tests ahead.
I. A Little Background and on SoX-DSD:
I think among audiophiles, there remains still a bit of mystique about DSD. It was certainly hyped up by Sony back at the turn of the century (wow, Y2K was that long ago?) when SACD was introduced as having a special "analogue" sound. Even to this day, some audiophiles seem to feel that it's the "best" digital technology for music. I know there was a relatively brief push from 2014-2015 around the time of NativeDSD Music starting up and the idea of DSD downloads for audiophiles. Of course that was before the rapid decline of music downloads and the rise of on-demand streaming. In any event, DSD-playback capability, techniques like DoP, etc. are all basically ubiquitous these days even though actual DSD material is limited.
As you've likely read about, DSD is different from PCM in that it's another way to represent analogue music waveforms digitally. Instead of 16 or 24 or 32 multibit representation of the waveform output level (correlating with voltage out of the DAC), DSD utilizes 1-bit sigma-delta modulation.
The noise level of multibit PCM is consistent across the bandwidth of the signal - that is, bandwidth = samplerate/2, dynamic range = 6.02*bits + 1.76 dB. As you can imagine, a single-bit DSD signal only has the potential for 6.02dB of dynamic range! This would not be good enough to encode hi-fi music. The solution then is to increase samplerate ("oversample" to the MHz range) which will increase the bandwidth and utilize noise shaping to "push" quantization noise out of the audible 20Hz-20kHz range, important for human hearing. With noise "safely" in the ultrasonic frequencies, a filter can be applied to reduce the amount of that noise sent downstream to the rest of the audio components. [Of course, noise shaping can also be applied to multibit PCM using various algorithms like Weiss' POW-R, or iZotope's MBIT+, or Sony's Super Bit Mapping.]
As you probably are aware, SACD is based on 64x CD samplerate (at 1-bit); that's 44.1kHz x 64 = 2.8224MHz. Here are the main DSD samplerates supported these days in equipment specs:
Surely nothing needed more than "Sex-rate", right?! :-)
Just like the world of PCM music being primarily "standard" CD-resolution 16/44.1, most DSD music these days is of the "lowest common denominator" DSD64 (mostly imported or ripped from existing SACD data).
[More information here for bedtime reading. ;-)]
As I was mentioning, the job today is to review how I'm going forward with DSD measurements in my DAC playback reviews. For many years, I have just been using a JRiver 24 PCM to DSD conversion of test signals like the RightMark battery. As Bennet/Dtmer Hk mentioned in his comments, these days we can use open-source conversion of PCM to DSD with Måns Rullgård's modifications to SoX in 2015 - here's the source code. Unofficial SoX-DSD binaries available here and here. For reference, I will use the version online dated 2017-02-25 "sox-dsd-masr-git-x86_64-w64-mingw32.exe" for my testing.
Although there are nuances I've seen mentioned in various discussions for the conversion process (like -n 32 and -t 32 here), for all reasonable purposes, I'll convert my test signals starting as 32-bits integer PCM to the various DSD samplerates using SoX-DSD. For example, a RightMark 32/96 test signal can be converted to DSD64 using the command line:
sox RightMark32-96.wav RightMark32-96-DSD64.dsf rate -v 2822400 sdm -f sdm-8
This command tells the program to samplerate convert using the -v "very high quality resampling" to the DSD64 rate of 2822400. Notice the "sdm" setting which tells the software to create the sigma-delta modulated stream and allows us to specify various noise-shaped filter settings. In the example above, we're using the 8th order "sdm" noise shaper. Options are CLANS (Closed-Loop Analysis of Noise Shapers, an optimization method to synthesize lowpass "noise transfer function" [NTF]) and the "standard" SDM setting varying from 4th to 8th order.
[For those interested in more technical details, Måns tells me he used this Delta-Sigma Toolbox - have a look at the PDF documentation. The "SDM" series is based on using the "synthesizeNTF" function and of course "CLANS" settings using the "clans" function for the noise shaping.]
So here's the same command but creating a DSD128 (5644800) version and using the CLANS-4 noise shaping option:
sox RightMark24-96.wav RightMark24-96-DSD64.dsf rate -v 5644800 sdm -f clans-4
II. Signal Testing with example DAC:
Alright then. Let's test this out using this device:
As you can see, I'm running a "corner of the table" test here with my Topping DX3 Pro DAC currently playing "22.5MHz" DSD512 (more accurately 22.6MHz). For measurements, I'll use the E1DA Cosmos ADC, and there's my Surface laptop on the right for data capture/analysis.
The reason I'm using the DX3 Pro is because this is one of the best DSD-performing DACs I've run into over the years. The device has dual AKM AK4493 chips
and I suspect the higher performance is due to the "DSD Direct" function which bypasses a digital multibit attenuator phase (ie. volume control) which then sends the data to the internal delta-sigma modulator thus adding another layer of processing and potentially more noise. Update: I did some further testing of the signals and it looks like the DX3 Pro is not using "DSD Direct" during playback even when set to "DAC" mode and the volume control has been turned off. The results below actually reflect this DAC's performance with the "normal" path from what I can tell with various amount of low-pass filtering applied. In fact, test results look better for the 384kHz signals with "DSD Direct" turned off in other testing using the RME ADI-2 Pro FS R Black Edition; I might show this another time.
First up, let's check out the various modulator options at the most common DSD64/SACD samplerate - let's choose CLANS-4, 6, 8 and SDM-4, 6, 8. For highest accuracy, let's use 32/96 RightMark signals fed into the SoX-DSD conversion. We can compare the playback using SoX-DSD with JRiver 24 DSD conversion which I have been using for years and also direct 24/96 PCM playback. Here's the "big table" of results:
PCM extends further than the DSD64 versions which are pretty well identical.
|Note small amount of 60Hz mains hum picked up in the RCA out.|
Overall the higher order noise shaping will provide a lower noise floor in the audible frequencies but you can see accentuation of the ultrasonic noise. We can see the JRiver conversion (yellow) is very similar to SoX-DSD SDM-8 (cyan). The JRiver conversion actually has noise increasing slightly below 20kHz while SDM-8 is nice in that noise level only rises above 20kHz.
As expected, 24-bit PCM maintains low noise floor across the whole bandwidth.
Here's a peek at intermodulation + noise distortion levels:
Again, higher order modulator settings result in less distortion below 20kHz. As the noise increases above 20kHz, so too the distortion amount. Likewise, the PCM measurement remains relatively flat for distortion across the full frequency range. Clearly there's a big difference between the 4th and 6th order settings.
With the E1DA Cosmos ADC (ESS ES9822 PRO ADC), we can now look at the ultrasonic frequencies up to 192kHz (384kHz samplerate) with a flat noise floor. Let's have a better look at the performance now between DSD64/128/256/512 SDM-8:
Note that I'm showing the dynamic range graph because there seems to be an bug in the "noise level" graph in RightMark (unfortunately there are a few bugs here and there when displaying >96kHz test results). You can see that this test uses a -60dBFS 1kHz tone. There are a number of small harmonic peaks present. Notice particularly the amount and shape of the >20kHz ultrasonic noise due to noise shaping; highest with DSD64 > DSD128 > DSD256. The DSD512 noise floor was essentially identical to PCM up to 192kHz - nice!
RightMark is convenient, but we can also port some of my other test tones over into DSD playback. For example...
1kHz -0.1dBFS sine wave for THD+N - I reduced the amplitude a little for the DSD to avoid a tiny amount of clipping at 0dBFS. Converted 32/96 PCM to DSD:
Notice one nuance. The DSD256 1kHz tone is done with a 5th-order SDM setting. SDM can be tricky and with the higher-order modulators, when fed this static 1kHz high-amplitude tone, the signal became unstable after a few seconds (~10-15 seconds or so with sdm-8). I did not notice this issue with other test signals using sdm-8.
1/10 Decade Multitone 32!
III. In Summary:
With that, I think I've characterized with significantly more detail the DSD testing regimen I'll be using with the freely available SoX-DSD. In the absence of "standard" signals for DSD testing, I figure this is as good as any, and derived from freely available software. We'll start using these new SoX-DSD PCM-to-DSD test signals with the Topping D90SE next week. ;-)
Unless otherwise specified, I'll standardize on the "SDM-8" noise shaping setting which is capable of producing excellent low-noise resolution at the 20Hz-20kHz frequency range. The exception is my 1kHz tone converted with "SDM-5" due to instability with the 8th order setting. On a DAC like the DX3 Pro with excellent DSD performance, we see results that are very close, if not essentially identical to high-resolution 24-bit PCM even at DSD64.
As expressed over the years, I do like the "sound" of DSD but generally prefer good PCM for various reasons including the ease of using DSP (like room correction which makes a huge difference). My impression has been that with higher rate DSD (DSD128+), the sound becomes more like good PCM. In that regard, I don't "hear" anything all that special about what simply amounts to another way to digitally encode the analogue signal and can be just as "accurate".
As usual, I find it fascinating observing the audiophile culture and some of the beliefs/inconsistencies that people hold. For example, on the one hand you have folks venerating the sound of DSD and then there are those who suggest zero or low feedback is key to sound quality (certainly when it comes to amplifiers). Realize that DSD and the necessary noise shaping (especially strong for SACD/DSD64) requires significant amounts of negative feedback to achieve good dynamic range in the audio band. In fact, the "delta" component of sigma-delta modulator speaks to that feedback loop when the 1-bit data is generated. Yeah, it still sound great even with feedback, right?
For those who feel that negative feedback deteriorates sound quality (some people believe that feedback reduces the subjective "3D" sensation of audio, "more analogue"), they might prefer the sound of the lower order CLANS-4 or SDM-4 settings even though noise level is higher. I'll leave you to experiment for yourself.
To end, I heard this on the radio the other day:
|Note that I did not bother optimizing the ADC level here hence the lower dBFS level.|