DSD playback observations on v0.18.12-1391-gfd8a53c

General Discussion about MPD – anything that doesn't fit in the other MPD forums.
Post Reply
rhoering
Posts: 68
Joined: August 11th, 2014, 2:12 pm

DSD playback observations on v0.18.12-1391-gfd8a53c

Post by rhoering »

mpd --version
Music Player Daemon 0.19~git (v0.18.12-1391-gfd8a53c)
Hi,

With the setting of dop "yes" I can play DSD64-DSD256 via DoP. However I am not able to play DSD512 via DoP.
DSD64

support@ubmin:/proc/asound/card1$ cat /proc/asound/card1/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 176400 (176400/1)
period_size: 22050
buffer_size: 88200


DSD128

support@ubmin:/proc/asound/card1$ cat /proc/asound/card1/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 352800 (352800/1)
period_size: 32768
buffer_size: 131072


DSD256

support@ubmin:/proc/asound/card1$ cat /proc/asound/card1/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 705600 (705600/1)
period_size: 32768
buffer_size: 131072


DSD512

In Auremo "Error: Failed to open audio output"

support@ubmin:/proc/asound/card1$ cat /proc/asound/card1/pcm0p/sub0/hw_params
closed
I am able the play the DSD512 file if MPD converts the DSD512 to PCM.

I have tried to set the mpd.conf up to play the DSD files natively but so far I have not been able to do so. The updates to the code were made yesterday so I believe I just need to chill out for a few days while much more experienced folks give the Git version a go.

Ron

rhoering
Posts: 68
Joined: August 11th, 2014, 2:12 pm

Re: DSD playback observations on v0.18.12-1391-gfd8a53c

Post by rhoering »

Interesting spreadsheet showing various DACs.

http://dsd-guide.com/sonore-provides-ve ... nd-content

Soli
Posts: 4
Joined: October 25th, 2014, 3:50 pm

Re: DSD playback observations on v0.18.12-1391-gfd8a53c

Post by Soli »

AFAIK the max rate that USB Audio 2.0 DACs support is 32 or 24/384. (I guess I might be wrong since your Dac support 7xxkhz! What DAC is it?) That implies DSD128. DACs that support 32/384 can support up to DSD512 with DSD native. The Gryphon Kalliope is such a DAC. You'd need Linux 3.18 and MPD also needs to support native DSD. (I dont think it does atm, only DoP, but I might be wrong).

rhoering
Posts: 68
Joined: August 11th, 2014, 2:12 pm

Re: DSD playback observations on v0.18.12-1391-gfd8a53c

Post by rhoering »

Soli,

It is an iFI micro iDSD.

Ron

Soli
Posts: 4
Joined: October 25th, 2014, 3:50 pm

Re: DSD playback observations on v0.18.12-1391-gfd8a53c

Post by Soli »

That explains it. It supports up to 768khz pcm, so that means no more than dsd256 DoP is supported. To play dsd512 it needs to be fed dsd native, which is included in the forthcoming linux 3.18.

Ran
Posts: 151
Joined: February 25th, 2013, 3:47 am

Re: DSD playback observations on v0.18.12-1391-gfd8a53c

Post by Ran »

My 3.13 kernel supports native DSD. Can you send a link regarding 3.18?

Soli
Posts: 4
Joined: October 25th, 2014, 3:50 pm

Re: DSD playback observations on v0.18.12-1391-gfd8a53c

Post by Soli »

Note that I dont have a dsd capable dac (waiting forever for an update) so I havent investigated so much time on this subject. I wonder if we are talking about the same thing ? Take a look here https://github.com/lintweaker/xmos-native-dsd

Also in the pull request for sound for linux 3.18rc1 it mentions

- Improvement / fixes of DSD PCM format support (by the same lintweaker)

But I am unsure, supposedly mpd already supports dsd native and its been supported in the kernel for a long time already. Maybe someone could clarify?

Soli
Posts: 4
Joined: October 25th, 2014, 3:50 pm

Re: DSD playback observations on v0.18.12-1391-gfd8a53c

Post by Soli »

All those kernels are OK, it was implemented a long time ago. But your specifix dac needs to be supported (atm the support is hardcoded into the kernel as there are way are able to expose their dsd capabilities, so newer kernels may have added support for additional dacs) and MPD needs to support it (which it does not atm).

Lintweaker has a version that does but the code is not in mainline MPD yet. (DSD_U32_BE that is)

Post Reply