Jump to content
IGNORED

S.MS.L D300 Native DSD DAC Review with Measurements


Recommended Posts

@satshanti  @Miska  To our previous discussion about D300 and 48k based DSD

I have confirmed from @mrba that it works on MCU fw 1.21 both on Windows (direct DAC connection with ASIO driver) and GentooPlayer NAA. Pictures from his setup where it is working:
image.png.7a5ce36d744d4347100a9623656b65b7.png

ASIO driver: XMOS_USBAudio_v5.58.0_2023-05-25_setup

Linux - GentooPlayer:
Kernel: 6.6.1-rt14-x86_64-GP-RT-MIN
GentooPlayer | 05:34 | Wed 13/12/23
v8.40-182 | Generic Device (x86_64)

 

image.png.9573c75dce16680df36d9713844d4848.png

 

image.png.72b295a67e0c3dbc4c529c2750fd9850.png

 

That brings the question, why it does not work for @satshanti
The same MCU fw version. Maybe a different USB MCU fw version??
mrba told his USB MCU fw version is 1.3. I don't know where it is visible from. Maybe it is the Revision of Info tab in ASIO Control Panel, but I'm not sure.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
11 hours ago, bogi said:

Linux - GentooPlayer:
Kernel: 6.6.1-rt14-x86_64-GP-RT-MIN
GentooPlayer | 05:34 | Wed 13/12/23
v8.40-182 | Generic Device (x86_64)

Thanks for sharing this, Bogi. I noticed it's the x86 version he's using. Doesn't GentooPlayer also have a RPi4 version? I seem to remember having tried it in the past, but Miska's NAA sounded better to my ears at the time. I'll look into this. 

Another thing: is he really sure it's working properly? Displays and figures don't mean everything. They might show the correct data, but the DAC might still play music at a slower speed, at 44.1/48 = 0.91875x to be exact. With some music you barely notice, especially if you've never heard before how it should sound. At first, it seems to work, but it's not how it should sound. Just a thought... 

Link to comment
2 hours ago, bogi said:

I wanted to write:
Maybe a different USB DFU fw version??
his USB DFU fw version is 1.3

 

Usually the issue is USB controller firmware. In many DACs, that same controller is also responsible for dealing with the DAC chip configuration in general.

 

Sometimes it is the DAC chip itself and it's specific configuration, like with ESS chip.

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
14 minutes ago, satshanti said:

With some music you barely notice, especially if you've never heard before how it should sound.

 

I understand what you mean. He is classical music lover and I don't expect him not to noticie such a thing, but to be 100% sure I will ask him to play it at 44.1k based rate and compare (yet easier than speed one can distinguish a shift of tones).

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
20 minutes ago, satshanti said:

They might show the correct data, but the DAC might still play music at a slower speed, at 44.1/48 = 0.91875x to be exact. With some music you barely notice, especially if you've never heard before how it should sound. At first, it seems to work, but it's not how it should sound. Just a thought... 

 

Yes, for example Holo Spring (1) was doing that. Thus best way to verify is to play for example 1 kHz tone from 48/24 source and check with spectrum analyzer from the analog outputs that the output is actually 1 kHz...

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
4 minutes ago, Miska said:

 

Usually the issue is USB controller firmware. In many DACs, that same controller is also responsible for dealing with the DAC chip configuration in general.

 

 

@satshanti, if you could somehow get info about your USB DFU firmware version ...
In Windows ASIO Control Panel it seems to be displayed in Info tab under Revision.
On Linux I don't know, but maybe Miska knows.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
3 hours ago, Miska said:

Yes, for example Holo Spring (1) was doing that. Thus best way to verify is to play for example 1 kHz tone from 48/24 source and check with spectrum analyzer from the analog outputs that the output is actually 1 kHz...

 

I've run into this testing SMSL DO100 while using DSD. Everything looks great, except for the actual frequency of the test tone at the output not being 1kHz when using 48k-based rates. Instead it's at 1kHz * 44.1 / 48 = 0.918kHz:

 

 

image.thumb.png.b54ac7eaba7335ac153dbfaa70bd2208.png

 

EDIT: I lied about all else looking great. This is the difference between 44.1k and 48k with DO100 - check out the noise floor difference:
image.thumb.png.6891f3500972bcbd28849596722b79d5.png

Link to comment
9 minutes ago, Miska said:

That noise slope lift from 40 kHz on doesn't belong to DSD256 data. It is the ADC? Or maybe it's the ESS chip in question, not sure.

 

Same ADC for both (RME ADI-2 Pro FS at 768k), so I doubt ADC is at fault. It knows nothing about DAC DSD rates. Seems to be something in the implementation of DO100 or the ESS chip, like you said. In any case, 48k rates appear very broken with this DAC.

 

PS: 64x, 128x, and 512x 48k rates appear to have expected (normal) noise floor. Only the 256x48k rate produces a raised one. 100% repeatable with my DO100.

 

Link to comment
7 minutes ago, pkane2001 said:

Same ADC for both (RME ADI-2 Pro FS at 768k), so I doubt ADC is at fault. It knows nothing about DAC DSD rates.

 

ADI-2 Pro has noise floor rising a bit before 100 kHz, but I don't remember how it looks like exactly. You can try to check how it looks like with input open. I just remember the noise floor looks the same with both 705.6k PCM and DSD256 recordings. It is certainly not flat beyond 100 kHz.

 

7 minutes ago, pkane2001 said:

Seems to be something in the implementation of DO100 or the ESS chip, like you said. In any case, 48k rates appear very broken with this DAC.

 

Those mobile Q2M models are less tricky to deal with.

For example with SMSL DL200 (ES9039Q2M):

SMSL_DL200_1k_44k1.thumb.png.6b21a4c87d6305cfd72b71e016e37bf0.png

SMSL_DL200_1k_705k6.thumb.png.6d2701d68b60ab40c6af268983185f16.png

 

Main difference here is that the images around 44.1k are naturally gone in this 705.6k upsample.

 

SMSL_DL200_1k_DSD256.thumb.png.d04d2866bd05de7c68685fa68c1a02fe.png

SMSL_DL200_1k_DSD512.thumb.png.e3bb6966d900b6bab846c63002ce1ee4.png

 

So you get very clean output at DSD256. But then DSD512 seems to get decimated to lower rate and as result it triggers again those ESS modulator spurious tones and some noise aliasing at the top of the frequency band.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
2 minutes ago, Miska said:

So you get very clean output at DSD256. But then DSD512 seems to get decimated to lower rate and as result it triggers again those ESS modulator spurious tones and some noise aliasing at the top of the frequency band.

 

I'm not as concerned with noise floor above 100kHz as the noise floor being 20dB higher in the audible range :) 

 

DO100 has the same problem with DSD512 -- it appears to be reduced to DSD256 rate, instead, even though the display says 512.

 

 

 

Link to comment
1 hour ago, pkane2001 said:

I'm not as concerned with noise floor above 100kHz as the noise floor being 20dB higher in the audible range :) 

 

You mean 44.1k-base vs 48k-base? For 44.1k-base the different rates should give same audio band noise floor (like they do for example on above DL200, and from earlier experience I know also for ES9038Q2M such as on Pro-Ject PreBox S2 Digital where also DSD512 works fine and which is synchronously clocked).

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
27 minutes ago, Miska said:

 

You mean 44.1k-base vs 48k-base? For 44.1k-base the different rates should give same audio band noise floor (like they do for example on above DL200, and from earlier experience I know also for ES9038Q2M such as on Pro-Ject PreBox S2 Digital where also DSD512 works fine and which is synchronously clocked).

 

 

I was referring to the DO100 256x48k noise floor being 20dB higher than with 128x48k or 256x44.1k. I believe that rate is not recognized correctly by that convertor.

Link to comment
19 minutes ago, pkane2001 said:

I was referring to the DO100 256x48k noise floor being 20dB higher than with 128x48k or 256x44.1k. I believe that rate is not recognized correctly by that convertor.

 

I think 256x48k exceeds the ASRC capabilities and then it goes nuts. ES9028PRO for example does the same in certain configurations.

 

It is also possible to trigger similar crazy behaviour with certain PCM inputs in similar configuration.

 

With some DACs it is possible to work around the USB input deficiencies if they have I2S inputs, by using external DDC. For example I did that with SMSL M400 by running it from I2S output of Holo Red.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment

I created a video playing 3 sec long 48k fs PCM 1kHz sine at different DSD rates, starting from 44.1x64 up to 48x512. It's on my D300 MCU fw 1.0. Lower your volume setting if you don't like loud sine. Recorded on my phone, D300 played through my headamp into HiFiMan HE-500.

 

I created the 1kHz test signal with command:
sox -n -r 48000 1kHz-3sec-fs48k.wav synth 3 sine 1000

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment

@satshanti You could try to play a second of 48k content with PCM output set to let DAC to switch the clock to 48k family and then to switch output to DSD. With oldest Topping E30 that helped. I prepared a script to automate it. With D300 of @mrba that did not help. He measured 918Hz when playing 1k at 48x DSD rates.

 

Currently I have confirmed 48k DSD to work on D300 only with my oldest MCU fw version 1.0.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
3 minutes ago, bogi said:

@satshanti You could try to play a second of 48k content with PCM output set to let DAC to switch the clock to 48k family and then to switch output to DSD. With oldest Topping E30 that helped. I prepared a script to automate it. With D300 of @mrba that did not help. He measured 918Hz when playing 1k at 48x DSD rates.

 

Currently I have confirmed 48k DSD to work on D300 only with my oldest MCU fw version 1.0.

Well, I finally got around to testing my DAC with the SMSL ASIO drivers and found the same result as @mrba, HQP shows 48x rates, SMSL driver status screen shows 48x rates, but DAC plays everything at a slightly lower frequency, so unfortunately, at least with our newest firmware, it's not working. Strange that your 1.0 firmware works fine. Why would they remove the feature when they update firmware? Anyway, we gave it a try. :-) 

Link to comment
1 hour ago, satshanti said:

Why would they remove the feature when they update firmware?


Thanks, at least it is now clear. I think they are not aware of a feature, because something like 48k based DSD is not known to them. It works only by coincidence in 1.0.

 

Motivation for firmware change were complains from Mac users that 1.0 does not support DoP. Attempt to downgrade from 1.21 bricks the device, don't try it.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
10 minutes ago, Miska said:

Be it Topping or SMSL, they don't really seem to test much else as inputs than 44.1k PCM, or maybe up to 192k PCM. Not higher PCM or DSD. Only reason I can think of why anything else seems to be completely random hit or miss when it comes to some feature actually working correctly or not. Maybe that is part of the reason for the low price as well...


It seems so. I think they have totally restricted resources for firmware development and they are rather using something ready made from a third party, than their own development. Some of their devices (for example L30 headamp) were developed by a person, who is/was not their employee. Then when it is required to change firmware from some reason, chaos begins...

An opinion from ASR:
"And here everything is simpler, nor SMSL nor Topping, nor SABAJ are engaged in software development, in fact, like many others, but take reference boards with reference software and only change the names there, that's why such a mess... The same problem, for example, in TOPPING RD3, it is made on the same board ..."

I had a fortune with 48k DSD support. But many DACs from western companies don't support it either, thus people with newer firmware may be satisfied too. Amazon reviews look so. D300 sound is very nice for the price. Already my E50 is tuned not to be bright or harsh, what's not typical for cheap ESS based DACs. But D300 sound is a bit wider, more detail is provided in more effortless manner. My opinion is that D300 clearly overperforms E50, but not so much than I perceive the difference between my very old Gustard DAC-X10 and E50. Still clearly enough for me to prefer D300.

 

D300 may still have some design flaws. Nothing is perfect, particularly in this price range <$500. I perceive some difference between DSD256 and DSD512. At DSD256, instruments may sound more expressive. Maybe lower noise floor? That can make instrument separation easier, it makes low level sounds easier audible. But on other side, I perceive sound at DSD512 to be made of a smaller grain - I hear more subtle detail in transients, their decay provides more realistic feeling. So instrument sounds are not so much expressive than at DSD256, but are provided in a finer way.

 

But that's often also a difference between lower and higher quality filters/modulators. What sounds more expressive may be of lower quality.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
29 minutes ago, bogi said:

but take reference boards with reference software and only change the names there

 

29 minutes ago, bogi said:

But many DACs from western companies don't support it either

 

For this same reason. Because the original (very buggy) XMOS reference code doesn't seem to support it. Thus it gets propagated into various devices. iFi for example has done a lot of their own development on the XMOS code to fix various things. And the person who designed Pro-Ject Pre Box S2 Digital had quite a lot of harsh words about XMOS experience overall.

 

XMOS can be made to behave properly, but it requires some notable effort and firmware development capabilities.

 

Lot of companies have long since moved from XMOS to STM32 controllers for implementing USB interface. Maybe not as cheap, but more powerful and better quality development tools.

 

37 minutes ago, bogi said:

I perceive some difference between DSD256 and DSD512. At DSD256, instruments may sound more expressive. Maybe lower noise floor?

 

Yes, IIRC that is the case. And remember to set the DSD filter to lowest frequency which will give you lowest distortion.

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment

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



×
×
  • Create New...