Jump to content
IGNORED

Looking for MPD version that does DSD as well as PCM 24bit (Linux)


Recommended Posts

Last week I have been trying to setup a Linux server with MPD. There were 3 tries:

(1) Ubuntu 17.10 Artful minimal install with stock MPD version 0.20.9. (Trying to compile/install a later version resulted in errors.) This played DSD well, but could not handle PCM with bitrate 24. Maximum was 16bit.

(2) Debian Stretch minimal install, on which I was able to compile/install MPD 0.20.15, but there I found the opposite: PCM 24bit plays well, but no DSD.

(3) Snakeoil OS gave the same result as (1), which may not be surprising as it is Ubuntu based.

 

Any suggestions what to try next would be appreciated!

 

 

 

Link to post
Share on other sites

Thanks, I already had a look there. On the MPD forum I was told that MPD 0.20.9 that ships with Ubuntu is a "well known buggy fork" that is not supported. Also, I used instructions from that website to compile/install 0.20.15 on Debian Stretch. I was just wondering whether people on the CA forum have experience with MPD versions with respect to DSD and higher bitrate PCM.

 

Link to post
Share on other sites

It is obviously not a fork unless you got the code from somewhere else. MPD supports 24bit and DSD (both DoP and native). A good way to start is to hook up your DAC and see what ALSA reports. Assuming you have installed ALSA that it...

 

Link to post
Share on other sites

Thanks! Indeed I just found out that the problem is not with MPD: if I use Cantata as control point into MPD, I can play DSD as well as 24bit PCM. But in my setup I want to use Audirvana+ as control point, using upmpdcli. Apparently the problem (only 16bit PCM) is with upmpdcli, as it also occurs with BubbleUPnP + Minimserver + upmpdcli.

 

For completeness sake, here is the output of some alsa commands, using Snakeoil with MPD 20:

 

$ sudo aplay --list-devices
**** List of PLAYBACK Hardware Devices ****
card 1: Amanero [Combo384 Amanero], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

 

$ sudo cat /proc/asound/cards 
 1 [Amanero        ]: USB-Audio - Combo384 Amanero
                      Amanero Technologies Combo384 Amanero at usb-0000:00:14.0-3.4.1, high speed

 

while playing DSD:

$ sudo cat /proc/asound/card1/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 176400 (176400/1)
period_size: 1764
buffer_size: 7056

 

while playing 24bit PCM:

sudo cat /proc/asound/card1/pcm0p/sub0/hw_params
access: RW_INTERLEAVED                                                                                                                  
format: S32_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 441
buffer_size: 1764

 

 

 

 

 

Link to post
Share on other sites

You mean error when I play 24bit files? It is not that an error pops up, but just that the sound produced is a loud medium-high-frequency hiss without musical information.

 

I have not been able to find mpd.conf in Snakeoil OS. Do you know where I can find it? It is not in /etc.

 

In my previous Ubuntu installation (which had the same problem) it looked like this:

audio_output {
        type            "alsa"
        name            "USB DAC"
        device          "hw:1,0"
        mixer_type      "disabled"
        mixer_device    "disabled"
        dop             "no"
        dsd_usb         "no"
        dsd_native      "yes"
        dsd_native_type "2"
}

although changing/omitting some of these lines did not make the problem go away.

 

Link to post
Share on other sites

These:

 

dsd_usb         "no"

dsd_native      "yes"

dsd_native_type "2"

 

Are not supported by MPD.... Where did you get these settings from? You can run a search from mpd.conf

Link to post
Share on other sites

I guess I got them from some MPD fork for DSD, but it is not so important for this problem as removing these lines made no difference in that respect.

 

And thanks, I found mpd.conf: /var/www/scratch/mpd.conf

and the audio part is:

zeroconf_enabled          "yes"
zeroconf_name "ubuntu-snakeoil"
audio_output {
   type "alsa"
   name "USB Audio"
   device "hw:1,0"
   buffer_time "40000"
   period_time "10000"
     mixer_type      "none"
   auto_format  "no"
   auto_channels "no"
   replay_gain_handler "none"
   use_mmap "yes"
   dsd_usb "yes"
}

 

 

Link to post
Share on other sites

Tried that before and same problem: does not play 24bit PCM.

In Snakeoil changes to mpd.conf are reversed after restarting MPD, but the problem also exists on a normal Ubuntu intallation, even with the minimal mpd.conf you suggest.

But again: I think we are focussing too much on MPD whereas this does not create the problem: it plays DSD as well as 24bit PCM. Only with upmpdcli PCM maximizes at 16bit.

I guess I will do some Google searches related to upmpdcli rather than MPD itself.

 

Link to post
Share on other sites

You still didn't specify where you see the errors (except by ear). upmpdcli does not do anything to the sound, it just passes a url to mpd's curl plugin. What version of ALSA and kernel are you running?

Link to post
Share on other sites

MPD plays 24bit PCM. upmpdcli + MPD does not, so what is happening then? upmpdcli does seem to break something.

 

$ sudo aplay --version
aplay: version 1.1.3 by Jaroslav Kysela <[email protected]>

 

$ sudo uname -a
Linux ubuntu-snakeoil 4.4.9-rt17-snakeoil-x64 #13 SMP PREEMPT RT Sat Jul 8 09:33:12 AWST 2017 x86_64 x86_64 x86_64 GNU/Linux

 

Link to post
Share on other sites

Let's try again..

 

1. Set MPD log to "verbose" 

2. Restart MPD

3. Play a 24bit file via MPD and capture the log.

1. Play a 24bit file via MPD / upmpdcli and capture the log.

 

Paste the logs here.

Link to post
Share on other sites

I am afraid I am unable to do this in Snakeoil OS. The mpd.conf file reverts back to the standard settings after MPD restarts, which means that there is no logging (line commented out).

And even more surprising:

$ mpd --version
The program 'mpd' is currently not installed. You can install it by typing:
sudo apt install mpd

and this in spite of the fact that MPD must be installed as otherwise there would be no music using upmpdcli or the Cantata MPD client.

 

Currently I am awaiting answers from the Snakeoil author to some of my questions. Depending on that I may later try a 'regular' Ubuntu install and will then let you know the logs.

 

Link to post
Share on other sites

I think I found something: see upmpdcli website

https://www.lesbonscomptes.com/upmpdcli/upmpdcli-manual.html#_notes_on_the_tidal_interface

where it says:

You should know that MPD has difficulties with some formats when accessed through HTTP which is how the Media Server transfers the data. Specifically, WAV and AIFF files, especially with samples wider than 16 bits are a frequent source of trouble (because they are little used and little tested for streaming). Support will vary depending on the MPD versions and exactly what input plugins are configured (among ffmpeg, libaudiofile and libsndfile). Often, the same files play just fine locally, it’s the combination of HTTP access and file format which causes problems.

 

Link to post
Share on other sites

I find this fascinating, although I am a Linux Ubuntu user--devote follower, and I am running Audacious 3.9, which handles my PCM files.

I have an iFi nano iOne and downloaded some DSD files for free just to hear the difference.

Obviously, Audacious doesn't take that notion. I found music players which would play DSD, for Linux, but they required 64-bit. My old rig runs 32-bit... and quite frankly IF I could hear a difference--the time spent trying, certainly would outweigh the possible improvement. Oh, BTW I still love 14.04 LTS. They have most of the bugs worked out of it, on 32-bit 'senior-citizen' processors.

I think I will just enjoy what I have, Thank you.

Link to post
Share on other sites

For me it is not a question which of format is 'better', DSD or PCM, but is so happens that to my ears the DSD circuit of my Lampizator DAC sounds better than its PCM circuit. My favorite setups are now:

- DSD256 via Lampizator Lite 7 with Combo 384 Amanero

- PCM via Audio Aéro Prestige Signature with Audiophilleo2+PurePower

Both have their own sound signature, and I just switch once in a while.

Going to Linux with MPD, upmpdcli and Audirvana+ really opened up things, which pleasantly surprises me after using Windows with JPLAY, AO, FP, PL, Bughead, XXHighEnd, etc.

The Linux setup makes it easier to achieve what I think you are also looking for: more time for music, less for tweaking :-)

 

Link to post
Share on other sites
10 hours ago, bodiebill said:

The Linux setup makes it easier to achieve what I think you are also looking for: more time for music, less for tweaking :-)

 

 

 

It is funny, the Tweakmaster General just left. He always has a gadget or some magnet thingy that DO make an audible difference, as long as he takes responsibility for installing whatever it is. Then I can assure him that "Yes, I can hear the difference."  The latest addition XOT Carbon crossover transducers are hanging off the same speaker wire binding posts that Henry Kloss installed, and I had to crimp the spades on the Valhalla speaker cable/ribbon. Took the vise-grips to tighten down the nut with the two sets of spades around this tiny post. I like to think Kloss never really heard the perfection of his design, assuming he had the state of the art amps and turntable at his disposal. And he would laugh at $8,000 audiophile speaker wires...he actually recommends a good grade of lamp cord as speaker wire on the printed label on the back of the cabinet...Speakers cost $112/pair in 1975...calculating for inflation, I still have an F1 Ferrari engine in a VW Bug ...

Link to post
Share on other sites
  • 6 months later...

Getting native DSD to work in Linux is a bit quirky. It's hardcoded in the Linux code. Some devices (e.g. Aune, Marantz, Denon, iFi, Playback Designs) will work automatically out of the box. With other DACs you'd need to modify the kernel source code and re-build.

 

Once you've built a working kernel. it'd tell the music playback software it's DSD capable. Players like MPD v.20 will just play DSF/DFF straight away without additional configuration in mpd.conf.

 

And when you look at the hwinfo files in /proc/asound/blah/blah, it'd tell you ALSA is operating in DSD mode. Unlike DoP where those same files will still say you're playing back PCM.

 

Lintweaker's has the code to build the kernels here: https://github.com/lintweaker/xmos-native-dsd

 

Link to post
Share on other sites

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...