Snakeoil Forums

Full Version: Native DSD on Snakeoil
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
I was told that my DAC can accept native DSD from Linux (as opposed to DoP) and that with native DSD it could read up to 4xDSD, whereas with DoP the max is 2xDSD.  I'd like to give it a try and find out whether this is true.

If you have managed to do native DSD with a Snakeoil server, please chime in and let me know how you did it.

My DAC doesn't tell me whether it is receiving native DSD or DoP, it just tells me the DSD sample rate. So I can only confirm native DSD if it plays a 4xDSD file and shows me a sample rate of 11.29 MHz.

MPD (dsd-rt) seemed like a good place for me to start. So far no success. Hopefully Agent Kith or someone else can help to determine if the problem is me, my DAC, Snakeoil or specifically the alpha 1.1.0 FW I am currently using.

1. I select DoP. Other Linux systems say not to do this so just to be sure, please confirm that is correct.
2. Under options I type exactly    dsd_native_type "0"   I also tried    dsd_native_type "2"  and    dsd_native_type "3"  
Is there a way to know which one I should use? Will only one work for any given DAC? So far none work.
It seems that I need to restart the server before the changes take effect. i.e. "save and restart player" is not enough

Upon restart, I often get the error "cannot start server". The error message looks like this:

**** 2018-02-27T15:38:56
**** MPD (dsd-rt)

Executable: cd /var/www;_NAME="USB Audio" _OUTPUT="hw:0,0" _FORMAT="dop" _OPTIONS="dsd_native_type "0""  /var/www/players/mpd-dsd-rt/init /var/www/players/mpd-dsd-rt 2>&1;/var/www/players/mpd-dsd-rt/start /var/www/players/mpd-dsd-rt 2>&1
Using DSD native
tokenizer: line 406: '"' expected

I am a total Linux noob but wondered about that last line. Am I just missing the symbol  '  (an apostrophe) somewhere in the code?

Cheers
(27-Feb-2018, 05:19 PM)JD1 Wrote: [ -> ]If you have managed to do native DSD with a Snakeoil server, please chime in and let me know how you did it.
In theory.. All you need to do is:
  1. Use either mpd-git or mpd-v20
  2. Don't check DoP in the web app (i.e. select PCM)
  3. Make sure ALSA volume is set to 100%
  4. play a DSD file
If Linux detects your DAC supports native DSD, it will be played as DSD. To verify, SSH to your computer, and run this command (assuming you're using Card 0 device 0):
Code:
cat /proc/asound/card0/pcm0p/sub0/hw_params

It should report DSD.

In theory. Mainly because I don't have native DSD DAC to confirm..
Ooh that nearly worked. My DAC interface displays 4xDSD when I add a 4xDSD to the queue but then changes to PCM when I play. I suspect my DAC does not broadcast its ability to play native 4xDSD but can do so if forced.

That ssh code is exactly what I wanted, thanks kindly Agent Kith. Thanks much more if you can put that display/option back into the SnakeOil interface  Big Grin

That said, it doesn't really distinguish native DSD from DoP or PCM of the same sample rate...for me.
e.g. I get the following with MPD git regardless of whether a 2xDSD file is sent to DAC as DSD or PCM. It is actually the sample rate expected for native DSD but I get the same when it is sending DoP.  =12pt=10.0ptaccess: RW_INTERLEAVED=12pt=10.0ptformat: S32_LE=12pt=10.0ptsubformat: STD=12pt=10.0ptchannels: 2=12pt=10.0ptrate: 352800 (352800/1)=12pt=10.0ptperiod_size: 3528=12pt=10.0ptbuffer_size: 14112
MPD v19 is the same except for the 1st line being  =10ptaccess: MMAP_INTERLEAVED

hmm format problem in last post . Trying again
 access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 352800 (352800/1)
period_size: 3528
buffer_size: 14112
(27-Feb-2018, 07:22 PM)JD1 Wrote: [ -> ]Ooh that nearly worked. My DAC interface displays 4xDSD when I add a 4xDSD to the queue but then changes to PCM when I play. I suspect my DAC does not broadcast its ability to play native 4xDSD but can do so if forced.
Volume set to 100%?
(27-Feb-2018, 07:32 PM)agent_kith Wrote: [ -> ]
(27-Feb-2018, 07:22 PM)JD1 Wrote: [ -> ]Ooh that nearly worked. My DAC interface displays 4xDSD when I add a 4xDSD to the queue but then changes to PCM when I play. I suspect my DAC does not broadcast its ability to play native 4xDSD but can do so if forced.
Volume set to 100%? 
Yes. Just went back to settings you suggested and pressed "set volume to 100%" in alsa status; no change. In ympd it shows vol at min but any attempt to change and it shows "problem setting volume". Always been like that. I assume it confirms fixed max vol setting.

From my testing so far, selecting PCM and not putting in any DSD options always leads to all DSD being converted to PCM. [and same with old FW] Selecting DoP gives me DSD of some sort unless I play a 4xDSD track in which case it is converted to PCM at my DACs max sample rate of 384k. 

Adding in the DSD option dsd_native_type "3" gives me the same readings as DoP alone according to my DAC and ssh command but I can't rule out it actually changing to native DSD; just that it will still convert 4xDSD to PCM.
(27-Feb-2018, 07:50 PM)JD1 Wrote: [ -> ]Yes. Just went back to settings you suggested and pressed "set volume to 100%" in alsa status; no change. In ympd it shows vol at min but any attempt to change and it shows "problem setting volume". Always been like that. I assume it confirms fixed max vol setting.

From my testing so far, selecting PCM and not putting in any DSD options always leads to all DSD being converted to PCM. [and same with old FW] Selecting DoP gives me DSD of some sort unless I play a 4xDSD track in which case it is converted to PCM at my DACs max sample rate of 384k. 

Adding in the DSD option dsd_native_type "3" gives me the same readings as DoP alone according to my DAC and ssh command but I can't rule out it actually changing to native DSD; just that it will still convert 4xDSD to PCM. 
See this: https://www.musicpd.org/doc/user/dsd.html

As said in my previous post, use mpd-git or mpd-v20 first, make sure you're using PCM, and play a DSD file. In theory (According to the above link), MPD will auto detect if the DAC is a DSD DAC and stream it automatically.

Do not use mpd-dsd-rt for now as it is forcing a DSD format (which may or may not work as that software was written at a time when native DSD havn't been formalised yet).
(27-Feb-2018, 07:57 PM)agent_kith Wrote: [ -> ]
(27-Feb-2018, 07:50 PM)JD1 Wrote: [ -> ]Yes. Just went back to settings you suggested and pressed "set volume to 100%" in alsa status; no change. In ympd it shows vol at min but any attempt to change and it shows "problem setting volume". Always been like that. I assume it confirms fixed max vol setting.

From my testing so far, selecting PCM and not putting in any DSD options always leads to all DSD being converted to PCM. [and same with old FW] Selecting DoP gives me DSD of some sort unless I play a 4xDSD track in which case it is converted to PCM at my DACs max sample rate of 384k. 

Adding in the DSD option dsd_native_type "3" gives me the same readings as DoP alone according to my DAC and ssh command but I can't rule out it actually changing to native DSD; just that it will still convert 4xDSD to PCM. 
See this: https://www.musicpd.org/doc/user/dsd.html

As said in my previous post, use mpd-git or mpd-v20 first, make sure you're using PCM, and play a DSD file. In theory (According to the above link), MPD will auto detect if the DAC is a DSD DAC and stream it automatically.

Do not use mpd-dsd-rt for now as it is forcing a DSD format (which may or may not work as that software was written at a time when native DSD havn't been formalised yet). 

Yes that is exactly what I did. It converts all DSD to PCM. When I made the following comment, I meant that it is the case for all versions of MPD, including git and v20;
From my testing so far, selecting PCM and not putting in any DSD options always leads to all DSD being converted to PCM.
(27-Feb-2018, 08:24 PM)JD1 Wrote: [ -> ]Yes that is exactly what I did. It converts all DSD to PCM. When I made the following comment, I meant that it is the case for all versions of MPD, including git and v20;
From my testing so far, selecting PCM and not putting in any DSD options always leads to all DSD being converted to PCM. 
So theory doesn't work. Think What DAC are you using again?

Hopefully others with native DSD DACs can chime in. Or perhaps you can leave the DAC with me for a few days to have a go.. Thing is, not too sure I can get it working myself though. Based on what MPD doc says, the previous mentioned steps should work.

If not wrong HQPlayer or JRiver apparently have native DSD support also. Perhaps you can try them and see if it works? Once you get that to work, then we'd work on MPD.
Yes please, ANYONE who has successfully used native DSD, please let us know.

My DAC is a Mola Mola Makua. The testing I reported previously was done on that but here are more clues...

I had a Klein DAC on loan early today. The owner says it works with native 4xDSD via JRiver on Windows server. Like mine, it can do 4X DSD only via native DSD so that is a test for true native DSD. I could not play 4xDSD from my Snakeoil server to that DAC either (may have only tried dsd-rt; can't remember). It never worked on his Snakeoil server either.

With Roon, it was my understanding that the option to select "native DSD" would appear if Roon detects that the DAC can handle native DSD. No such option presents for either the Klein DAC or my DAC when using Roon on Snakeoil.

Maybe it is a Snakeoil issue or maybe some DACs don't advertise their native DSD abilities to any server. A way to force native DSD would be great.
(27-Feb-2018, 09:01 PM)JD1 Wrote: [ -> ]With Roon, it was my understanding that the option to select "native DSD" would appear if Roon detects that the DAC can handle native DSD. No such option presents for either the Klein DAC or my DAC when using Roon on Snakeoil.

Maybe it is a Snakeoil issue or maybe some DACs don't advertise their native DSD abilities to any server. A way to force native DSD would be great.
mpd-dsd-rt is the way to force.. But havn't tried it in a while.

Do you know if Klein or your Mola mola uses XMOS?

Perhaps this is worth adding to Snakeoil.
Pages: 1 2 3