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.
Noise level:
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.
24-bit Jitter-Test:
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.
[Check out Richard Murison's 3-part series on Sigma-Delta Modulators: Part I, Part II, Part III. Best material I've ever seen coming out of PS Audio! ;-)]
As a follow-up to this, also have a look at "Notes on DAC DSD (1-bit PDM) measurements going forward..." published in June 2022.
--------------------
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. |
Thanks for the detailed analyses Archimago,
ReplyDeleteYes, these results are what I called "within expectations". As long as the DSD encoding settings remain unchanged, different DSD rates should not have significantly different noise and distortion characteristics within 20kHz.
Regarding RMAA's "noise level" bug, don't know if we are talking about the same thing or not, but here is what I found:
https://www.audiosciencereview.com/forum/index.php?threads/rmaa-tests-welcome-to-add-others.16332/post-532381
Which also shows the high degree of freedom in PCM with DSP, for example, one can use a steeper digital filter to tame the noise in low-rate DSD files. The DSD filters built into DAC chips are often too relaxed, not flat enough below 20kHz and not enough ultrasonic noise attenuation, like what you showed in this and many other reviews.
Thanks Bennet,
DeleteYes, I suspect this is the same issue! I've been suspicious of this for awhile ever since I started fooling around with DSD testing and higher samplerates like 192+kHz. As a result, I think for these high samplerate tests like 384kHz, better to just look at that -60dBFS dynamic range test which the software will at least align and compare the noise level with.
Thanks again for the update Archimago,
DeleteThe multitone plots remind me of the "they are the same picture" meme:P Anyway, I don't think it is all that important whether the signal is identical to AP or not. You use different hardware and software, and I would rather take these results as a reference for future reviews, the same way why I was able to identify anomalies in ESS DSD tests. If this phenomenon is true even in the D90SE, I hope you can show the detailed measurements as well, in order to discourage people from doing meaningless DSD upsampling, as I see some people are still doing these things.
Also, I posted the first comment before noticing you made a correction that the DX3 Pro tests are not based on Direct DSD. The interesting thing is that you also showed me the RME ADI-2 Pro FS R Black Edition is about 10dB noisier than PCM even with Direct DSD. This actually makes me think that "indirect DSD" is the key factor that the DX3 Pro is able to maintain a lower noise floor perhaps? Does the RME has much lower output voltage when using DSD output?
Also the J-Test. The definition from Julian Dunn is that the main tone is a high amplitude, phase-shifted sine wave at 1/4 fs, which means 705.6kHz for DSD64. In this sense it is simply impossible to perform a DSD J-Test. I suppose, even if you resample the 48kHz J-Test to something like 176.4kHz PCM the sidebands will also be reduced as well.
Hi Archimago
ReplyDeleteIt's really nice to see you measuring DACs with higher rate DSD
Unfortunately the DAC in this article and the one you are planning to measurement next, do not convert DSD directly to analogue. They are re-modulated by the DAC chip modulator.
You can properly test with your RME ADI-2 DAC section though , running in DSD Direct Mode.
Anyway, until you measure a DSD to analogue converter, I don't think much will be learnt? Other than for those DACs, it makes sense to stick to PCM.
Also, any reason why you can't test PCM44.1kHz test signals and generate the DSD test files from PCM44.1k? 90% of music listening on the planet is PCM44.1kHz sample rate
Hi Unknown,
DeleteYou've read my mind ;-). Already have the data on my computer for the RME ADI-2 Pro FS R Black Edition with "DSD Direct" and effects of its 50kHz and 150kHz filters.
Will probably post this as a "mid-week" update for DSD measurements Part II in the next few days to show the effect.
Oh yeah, I forgot.
DeleteI can easily test 16/44.1. In fact, I have the test conversions in my test toolkit if I want to have a look.
But converting 16/44.1 --> DSD64 is a bit of a waste since the format is meant to be for hi-res content, at least 24-bit would be nice. File size is much larger than 16/44.1 as well.
Years ago, I posted on many SACDs I believe are 44.1/48kHz material nonetheless, and I think there are many SACDs out there which are nothing more than just CD-quality.
http://archimago.blogspot.com/2013/07/list-suspected-44-or-48khz-pcm.html
Thanks Archi. RME have said the AKM filters are quite subtle and not significant compared with the ADI-2 analogue stage filter. To see the filtering of quantisation noise, it would be nice if all your plots can go up to 100kHz bandwidth when you test the ADI-2 in DSD Direct mode, especially as you go from DSD128 to DSD256, to see how well the ADI-2 filters quantisation noise. Before anyone says why are we worried about 20-100kHz for a DAC, well good amplifiers will amplify this range and this MAY cause tweeter issues in the audible band... but that is for another test maybe when you get a Klippel system to measure speakers :-) But if you can do high bandwidth plots it would be nice. As high as your ADC will allow. As for PCM44.1 to DSD64 test I wouldn't bother. Certainly if you can test PCM44.1 to DSD128 and DSD256, that would be ideal.
DeleteHi Unknown,
DeleteI am limited to the bandwidth of whatever signal I have within RightMark so for example if I test 44.1kHz, I would end up limited to 22.05kHz. Having said this when you look at the DSD64 test above done in 384kHz, you'll see the amount of noise out to 192kHz.
I guess one easy way to do this is to do the 32-multitone but plot out to 192kHz bandwidth at the various DSD speeds. This would do, right? Strong complex signal in the audio frequencies, let's see how much noise ends up in the higher ultrasonic...
Let me do that with the DX3 Pro here before RME.
I put up an addendum with a quick 32-tone test and up to 96kHz bandwidth using DSD64/128/256. As you can see, the RightMark 384kHz test already shows this noise up to 192kHz.
DeleteA quick word about Klippel and even Audio Precision equipment. Guys it's not the money that these things cost. Nor even space for me to house something like the Klippel in the garage ;-).
As an audio hobbyists, why would I bother? Like in most things in this world, there is a cost-benefit here to respect. For the purpose of writing blog posts and determining if something like an DAC is of high resolution, I think I can already show most of what an AP can do, not at a calibrated resolution, but IMO one that is beyond human hearing already. And I can be creative with the tests and even show you guys at home what I can do without much expense... That's the fun part! The audio engineers are the ones who can benefit from the investment in the measurement gear with ROI from the products they design.
Hi Archi, thanks for this info. Regarding "A quick word about Klippel and even Audio Precision equipment. Guys it's not the money that these things cost. Nor even space for me to house something like the Klippel in the garage ;-)."
DeleteMy Kippel comment was very specific to why we may want to measure a DAC output to at least 100kHz. As I wrote, it's not about audibility from 20kHz to 100kHz, it's about asking the amplifier to amplify these signals and this may then create distorotion with tweeters that maybe in the audible band. How would you know? By measuring with a Klippel system :-) I don't think your current setup is adequate to accurately test such. That's what I meant. I think we should measure DAC outputs to 100kHz as much as possible, for this reason. The cleaner the DAC output to 100kHz, the better for amp and possibly tweeters.
Hi Unknown,
DeleteYeah, no worries. Indeed I'll do my best to check things out to 100kHz. As you can see in my followup, the ADC at 384kHz will show you up to 192kHz including all the noise from DSD64 and DSD128.
Hi
ReplyDeleteInteresting. Like always.
I was just wondering:
Why to create a new 32 tones test signal ?
Doing that, no comparison would be possible.
So why not to use Amir's standard ?
What benefit do you expect from a new one ?
Hi RJA4000,
DeleteYes, good points. Sometimes it's more fun to try different things. ;-)
All the AP guys have the same signal so plenty of opportunity to look through that already! I bet audio engineers also use this same thing, not sure I need to as well. Honestly, I don't think this will matter but hey if I do see something odd in my results, I can at least bring it up for others to look at/verify if there's something unusual.
BTW, if you count the "32-tone" 20Hz-20kHz FFT, you'll note that there are only 31 tones in that frequency range. That's because the FFT is not showing the 16Hz tone that's in there as well. I wanted to show my multitone FFT with the full 32-tones in place starting subsonic (~17Hz) and including parts of the "near ultrasonic". The settings above will get the job done.
For those interesting in creating their own 32-tone 1/3-Octave signal as per AP, just use REW with "Start freq" 15, "End freq" 20,000, "1/3 octave". It'll create the 32-tone with first at 16.1Hz and the last one at 20kHz.
Good analysis.
ReplyDeleteIf I can get a SACD for an album that doesn't have a good high-res PCM digital release that's mastered from > 44.1khz PCM I'll always take it over a CD.
It's not inherently better than high-res PCM, but not everything has a high res PCM release, and even for the stuff that does often I want physical media.
I wish Bluray audio-only discs were more prevalent - they completely obviate the need for SACD for both stereo and multichannel.
Great stuff as always. Thanks ;)
ReplyDeleteI have recently used only the Poikosoft EZ CD Audio Converter for DSD conversions (both encoding and decoding) and I like it a lot. I wonder how does it compare in terms of audio quality to the freeware SoxDSD. Has anyone tested it ?
You an grab free trial here: Poikosoft's DSD Converter