The following warnings occurred:
Warning [2] count(): Parameter must be an array or an object that implements Countable - Line: 906 - File: showthread.php PHP 7.2.34 (Linux)
File Line Function
/showthread.php 906 errorHandler->error



Thank you for your donation!


Cloudsmith graciously provides open-source package management and distribution for our project.


Problem: MPD fails to play DSD on PCM DAC (7.3)
#1
Hello, new user here Wink
I'm trying to use version 7.3 with a mix of my Flac 16/44.1, 24/96 and vynil rips DSD64/128
My main DAC works nicely (it's 32/384 PCM and DSD256 capable).

I'm having problems with a second dac in my basement which is only 24/96 PCM capable. I have the same issue with the raspberry pi3b+ audio out.

When playing DSD files I must enable sox resampling to 24/96 (or anything) or I get no audio out from the dac or pi analog output.
It looks like mpd is having issues with the on-the-fly pcm encoding if the DAC is not DSD capable.

I tried a combination of options for mpd/alsa/sox but my preferred way would be to use the hardware mixer and play as much in bit-perfect mode as possible.

The error I get when disabling SOX is
Code:
exception: Failed to open "ALSA Default" (alsa); Error opening ALSA device "_audioout"; snd_pcm_hw_params() failed: Invalid argument

The DAC is "Sharkoon Gaming DAC Pro S", ID be57:020e. It supports 44.1, 48 and 96 sampling and 16 or 24 bit resolution.


In mpd restart, mpd complains like so:
Code:
config: Missing audio_format, without selective_resample_mode is deactivated.

and my mpd.conf looks like this:
Code:
music_directory "/var/lib/mpd/music"
playlist_directory "/var/lib/mpd/playlists"
db_file "/var/lib/mpd/database"
log_file "/var/log/mpd/log"
pid_file "/var/run/mpd/pid"
state_file "/var/lib/mpd/state"
sticker_file "/var/lib/mpd/sticker.sql"
user "mpd"
group "audio"
bind_to_address "any"
port "6600"
log_level "default"
restore_paused "yes"
auto_update "no"
follow_outside_symlinks "yes"
follow_inside_symlinks "yes"
zeroconf_enabled "no"
zeroconf_name "Moode MPD"
filesystem_charset "UTF-8"
metadata_to_use "+comment"
replaygain "off"
replaygain_preamp "0"
volume_normalization "no"
audio_buffer_size "8192"
max_output_buffer_size "131072"
selective_resample_mode "8"
max_playlist_length "16384"
max_connections "128"

decoder {
plugin "ffmpeg"
enabled "yes"
}

input {
plugin "curl"
}

input_cache {
size "128 MB"
}

resampler {
plugin "soxr"
quality "very high"
threads "0"
}

audio_output {
type "alsa"
name "ALSA Default"
device "_audioout"
mixer_type "hardware"
mixer_control "PCM"
mixer_device "hw:2"
mixer_index "0"
dop "no"
}

audio_output {
type "alsa"
name "ALSA Bluetooth"
device "_audioout"
mixer_type "software"
}

audio_output {
type "httpd"
name "HTTP Server"
port "8000"
encoder "flac"
compression "0"
tags "yes"
always_on "yes"
}

Is this an issue I can fix or is it with moode/mpd/alsa related?

PS: After more fiddling, it looks like if I disable alsa (use direct hw) mpd will actually play DSD, altough at a much lower volume when I use the hardware mixer or at near-max volume when I use the software mixer (?!??!)

Any hints on how to proceed from here?
Reply


Messages In This Thread
MPD fails to play DSD on PCM DAC (7.3) - by gooko - 09-01-2021, 09:08 AM

Forum Jump: