PDA

View Full Version : DSD = Dirty Satan Diapers



atrocity
2017-02-03, 10:55
Having recently acquired the appropriate hardware, I'm finally getting around to ripping my SACDs and creating DSF files. Depending on what hardware combinations I'm using, converting DSD to PCM at 44.1 or 88.2 or 176.4 is easy and works fine. There are a couple of quirks I'm curious about, though:

1. Max2Play running on a Pi is able to convert DSD to PCM, but apparently no other ARM LMS version can do that. Did the Max2Play folks figure out a proprietary solution? I didn't have to do anything special to make it work, just added the DSDPlayer plugin and was off and running. Has no one else tried to implement this for other ARM platforms because it's a colossal pain? (I don't have anywhere near sufficient skill to look under the hood and figure this out myself.)

2. Three of my players are Wandboard Quads running Squeezelite under Debian. I've used the -e DSD switch in Squeezelite, but as far as I can tell any server always tries to send unconverted DSD, so it never works. S/PDIF light goes out and at least once I've actually had to reboot to get it working with PCM again. Has anyone else experienced this and/or discovered a workaround? Other Squeezelite parameters (specifically limiting to 96k) are respected, but "No DSD!" isn't.

3. Since the Pi-like computers that are everywhere now generally have HDMI, is there any way to get them to send DSD out via HDMI or is there a hardware/firmware limitation getting in the way? I tried this a while back with a Pi and got silence, though it was an older model.

None of this is intended as criticism of the many people who've worked for years to keep the brilliant Squeezebox system alive, I can just get a bit obsessed with this sort of trivia even though I have workarounds. I'm also not one of those people who swears DSD is better then food, sex and sleep combined, I'm just trying to work with the files because they're already there.

Thank you for any insight!

bakker_be
2017-02-03, 14:23
I know my Marantz receiver accepts DSD over HDMI (it's in the specs) but never tested it ...

atrocity
2017-02-03, 14:41
I know my Marantz receiver accepts DSD over HDMI (it's in the specs) but never tested it ...

Yes, I think it's pretty common with nicer receivers. I know my Onkyo can accept it, but as far as I can tell the Raspberry Pi can't output it. But I'm wondering if maybe I'm just doing something wrong.

chrissy
2017-02-05, 08:14
Hi,

as far as I know, lms always delivers native DSD. There is nor rule for serverside resampling of DSD. You might want to changes this in convert.conf. The conversion is done in squeeezelite. If your dac returns a maximum samplerate, squeezelite converts to pcm at maximum rate, as done on my IFI Micro dac. If your dac accepts DSD, you might have to add a -D to squeezelite in order to deliver DoP as on my cubietruck running Debian Wheezy to the IFI. If your dac does not report a samplerate, you have to add a number of sample rates and a recipe for squeezelite to resample the dsd from LMS. The - e dsd does not help.

For my Raspi3 with Hifiberry Digi+ I use:

-r 44100,88200,96000 -R vE:::28

Especially the E is important, since it tells squeezelite only to resample not supported formats.

Hope this helps

Chris

pippin
2017-02-05, 15:55
I'm not sure that's true.
Granted, I have DSDPlayer (the plugin) installed but somehow I can't get LMS to deliver native DSD or even DoP, I always get transcoded PCM so it must be possible...

atrocity
2017-02-05, 16:30
Hi,

as far as I know, lms always delivers native DSD. There is nor rule for serverside resampling of DSD. You might want to changes this in convert.conf. The conversion is done in squeeezelite. If your dac returns a maximum samplerate, squeezelite converts to pcm at maximum rate, as done on my IFI Micro dac. If your dac accepts DSD, you might have to add a -D to squeezelite in order to deliver DoP as on my cubietruck running Debian Wheezy to the IFI. If your dac does not report a samplerate, you have to add a number of sample rates and a recipe for squeezelite to resample the dsd from LMS. The - e dsd does not help.

For my Raspi3 with Hifiberry Digi+ I use:

-r 44100,88200,96000 -R vE:::28

Especially the E is important, since it tells squeezelite only to resample not supported formats.

Hope this helps

Chris

Thank you for the detailed response, but I think we might be talking about two different issues.

LMS can do server side transcoding from DSD to PCM via the DSDPlay plugin. But that plugin normally only works on x86 hardware, with Max2Play being the only ARM implementation I know of that can run it.

In my case, my DAC is whatever is built into an Onkyo receiver that's now several years old. It accepts DSD via HDMI coming from an Oppo universal player and I'm pretty sure the container pre-dates DOP. What I don't think a Pi can do (but am wondering I'm wrong) is output DSD via HDMI using the same container (stream format?) as the Oppo or any HDMI-capable SACD player. I think the options are limited to transcoded PCM or DOP, I don't think there's an ability to just pass DSD. But I'm asking because it might be fun to play around with if I'm wrong.

With piCorePlayer, I can specify "-e DSD" and, if it's connected to the right server, I'll get PCM at up to 176.4. If it's connected to a server that can't use the DSDPlay plugin, I get nothing.

And yes, I do regret hastily tossing out a juvenile thread topic title...was meant to be a placeholder to remind me to put something more rational in there.

chrissy
2017-02-06, 02:13
Hi,

I don't use the dsd-player Plugin since I have an arm board running lms. I get dsd with the -D flag to my ifi and the raspi resamples the same dsd input to 96000 kHz pcm in my bedroom, thats all I can tell. Since the dac in the NuPro 200 can't do dsd and there is music coming from it, when I choose a dsd track, it must work. The ifi tells me by a cyan lighting led that it has dsd and there is also music coming from it.

Greets
Christian

ralphy
2017-02-08, 05:30
LMS can do server side transcoding from DSD to PCM via the DSDPlay plugin. But that plugin normally only works on x86 hardware, with Max2Play being the only ARM implementation I know of that can run it.


The DSDPlay plugin can be made to work with most linux arm distributions, if you don't mind a little command line typing. See this post (http://forums.slimdevices.com/showthread.php?101641-LMS-7-9-and-DSD&p=849119&viewfull=1#post849119).

chrissy
2017-02-08, 11:09
Hi Ralphy,

thanks for the info. Is there an advantage over squeezelite doing the job, execpt serverside conversion?

Greets Chris

atrocity
2017-02-08, 20:26
The DSDPlay plugin can be made to work with most linux arm distributions, if you don't mind a little command line typing. See this post (http://forums.slimdevices.com/showthread.php?101641-LMS-7-9-and-DSD&p=849119&viewfull=1#post849119).

I don't mind at all. Thank you very, very much! That's something that's been bothering me for months now.

I'm not sure what Squeezelite on a Wandboard Quad tells the server it can do, but I was unable to get one of mine to work with DSD until I used the -r parameter to specify acceptable sample rates. Even then, with 176400 as one of the acceptable values it converted (or requested conversion of?) DSD to 192000. Not a complaint, I'm just used to Raspberry Pis outputting 176.4kHz for transcoded DSD and mention it in case it's significant. I'm getting music that sounds good, and that's enough for me right now!

Thank you again!

ralphy
2017-02-09, 05:21
Hi Ralphy,

thanks for the info. Is there an advantage over squeezelite doing the job, execpt serverside conversion?

Greets Chris

Sorry, I don't know. I don't have DACs that support DSD.

atrocity
2017-02-09, 15:05
I'm not sure what Squeezelite on a Wandboard Quad tells the server it can do, but I was unable to get one of mine to work with DSD until I used the -r parameter to specify acceptable sample rates. Even then, with 176400 as one of the acceptable values it converted (or requested conversion of?) DSD to 192000. Not a complaint, I'm just used to Raspberry Pis outputting 176.4kHz for transcoded DSD and mention it in case it's significant. I'm getting music that sounds good, and that's enough for me right now!

Playing around with this some more, I only have "-e dsd" in my SB_EXTRA_ARGS line and it works. But it's upsampling 88.2kHz material to 96k and 176.4 to 192, even after Squeezelite restarts and entire Wandboard reboots. I think the Wandboard in the past sent those sample rates out unchanged. Whatever is going on doesn't hurt DTS at 44.1 or 48, so again I really don't care and am only mentioning this in case it's somehow meaningful.

atrocity
2017-02-09, 16:36
Playing around with this some more, I only have "-e dsd" in my SB_EXTRA_ARGS line and it works. But it's upsampling 88.2kHz material to 96k and 176.4 to 192, even after Squeezelite restarts and entire Wandboard reboots. I think the Wandboard in the past sent those sample rates out unchanged. Whatever is going on doesn't hurt DTS at 44.1 or 48, so again I really don't care and am only mentioning this in case it's somehow meaningful.

The same thing happens on a different Wandboard that doesn't have DSDPlayer installed, so it's clearly unrelated. I suspect that my belief it plays native 88.2 and 176.4 is based on past installations of CSOS and SoA. It's very likely Debian that's at fault here. (And yeah, I know I keep posting about this while claiming I don't care! It's just stubborn curiosity.)