MPD 21.4 DSD in DOP with USB DAC crackles

Need help with MPD?
Post Reply
kiwi_ed
Posts: 3
Joined: January 22nd, 2019, 5:11 pm

MPD 21.4 DSD in DOP with USB DAC crackles

Post by kiwi_ed » January 22nd, 2019, 5:29 pm

Hi,

I've just done the big upgrade from 0.20.23 to 0.21.4 and have inherited a low level continuous static while playing DSD's in DOP mode. My DAC is a Chord Mojo capable of rendering this and 0.20.23 was perfect in doing so. The static is there immediately on starting a track just before the music starts and very noticeable on quiet spots.

Updating to the later 0.21.4 forced me to update the compiler and various libs as listed below. However reverting the actual MPD executable for testing to 0.20.23 with these updates still MPD still behaved.

Does MPD fire DSD DOP data straight to the sound-card/DAC or are there certain libraries in between?

BTW, the hybrid_dsd option, mpd mentions on running The Hybrid DSD decoder is disabled because it was not explicitly enabled, how is this enabled? I see built objects in my source relating to it.

Any assistance would be appreciated!
--------------------------------------------------------------------------------------------------------

ARM Linux Freescale iMx7

ALSA 1.16
libavformat.so.58.12.100
libavcodec.so.58.18.100
libavutil.so.56.14.100
libswresample.so.3.1.100
ffmpeg 4.0.2

--------------------------------------------------------------------------------------------------------

Music Player Daemon 0.21.4 (@VCS_TAG@)

Copyright 2003-2007 Warren Dukes <warren.dukes@gmail.com>
Copyright 2008-2018 Max Kellermann <max.kellermann@gmail.com>
This is free software; see the source for copying conditions. There is NO
warranty; not even MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Database plugins:
simple upnp

Storage plugins:
local nfs curl

Decoders plugins:
[mpg123] mp3
[vorbis] ogg oga
[oggflac] ogg oga
[flac] flac
[sndfile] wav aiff aif au snd paf iff svx sf voc w64 pvf xi htk caf sd2
[dsdiff] dff
[dsf] dsf
[hybrid_dsd] m4a
[faad] aac
[ffmpeg] 16sv 3g2 3gp 4xm 8svx aa3 aac ac3 adx afc aif aifc aiff al alaw amr anim apc ape asf atrac au aud avi avm2 avs bap bfi c93 cak cin cmv cpk daud dct divx dts dv dvd dxa eac3 film flac flc fli fll flx flv g726 gsm gxf iss m1v m2v m2t m2ts m4a m4b m4v mad mj2 mjpeg mjpg mka mkv mlp mm mmf mov mp+ mp1 mp2 mp3 mp4 mpc mpeg mpg mpga mpp mpu mve mvi mxf nc nsv nut nuv oga ogm ogv ogx oma ogg omg opus psp pva qcp qt r3d ra ram rl2 rm rmvb roq rpl rvc shn smk snd sol son spx str swf tak tgi tgq tgv thp ts tsp tta xa xvid uv uv2 vb vid vob voc vp6 vmd wav webm wma wmv wsaud wsvga wv wve
[pcm]

Filters:
libsamplerate

Tag plugins:
id3tag

Output plugins:
null fifo alsa oss pulse httpd recorder

Encoder plugins:
null vorbis wave flac

Archive plugins:
[bz2] bz2

Input plugins:
file archive alsa curl ffmpeg nfs

Playlist plugins:
extm3u m3u pls xspf asx rss flac cue embcue

Protocols:
file:// alsa:// http:// https:// gopher:// rtp:// rtsp:// rtmp:// rtmpt:// rtmps:// nfs://

Other features:
avahi epoll icu inotify ipv6 tcp un

max
Forum team
Posts: 938
Joined: January 15th, 2013, 3:43 pm

Re: MPD 21.4 DSD in DOP with USB DAC crackles

Post by max » January 22nd, 2019, 8:06 pm

kiwi_ed wrote:
January 22nd, 2019, 5:29 pm
However reverting the actual MPD executable for testing to 0.20.23 with these updates still MPD still behaved.
What does that mean?

kiwi_ed
Posts: 3
Joined: January 22nd, 2019, 5:11 pm

Re: MPD 21.4 DSD in DOP with USB DAC crackles

Post by kiwi_ed » January 23rd, 2019, 8:24 am

To build and run 0.21.4 MPD I had to upgrade a number of packages, libraries and so forth. So in order to prove if its MPD or something inherited by updating system libraries a simple test of an earlier know version of MPD would prove it was MPD or upgrades. So 0.20.x sounded fine meaning it's not my OS upgrades but in fact MPE itself,

Thanks.

max
Forum team
Posts: 938
Joined: January 15th, 2013, 3:43 pm

Re: MPD 21.4 DSD in DOP with USB DAC crackles

Post by max » January 23rd, 2019, 8:28 am

Paste a verbose log of the start of playback

kiwi_ed
Posts: 3
Joined: January 22nd, 2019, 5:11 pm

Re: MPD 21.4 DSD in DOP with USB DAC crackles

Post by kiwi_ed » January 23rd, 2019, 2:13 pm

Here's the log. A bit of a delay in starting the DSD playing as my client takes a while to see it on the network. Line 269

Thank you.


root@imx7_music:~# mpd.0.21.4 --stdout --no-daemon --verbose /var/www/localhost/html/mpdmojo.conf
config_file: loading file /var/www/localhost/html/mpdmojo.conf
config_file: config parameter "id3v1_encoding" on line 29 is deprecated
path: SetFSCharset: fs charset is:
libsamplerate: libsamplerate converter 'Fastest Sinc Interpolator'
vorbis: Xiph.Org libVorbis 1.3.5
sndfile: libsndfile-1.0.26
hybrid_dsd: The Hybrid DSD decoder is disabled because it was not explicitly enabled
simple_db: reading DB
curl: version 7.47.1
curl: with GnuTLS/3.4.9
avahi: Initializing interface
avahi: Client changed to state 2
avahi: Client is RUNNING
avahi: Registering service _mpd._tcp/Music Player @ imx7_music
avahi: Service group changed to state 0
avahi: Service group is UNCOMMITED
state_file: Loading state file /media/sdcard
exception: Failed to read from /media/sdcard: Is a directory
avahi: Service group changed to state 1
avahi: Service group is REGISTERING
avahi: Service group changed to state 2
avahi: Service 'Music Player @ imx7_music' successfully established.
client: [0] opened from 127.0.0.1:57862
client: [0] process command "lsinfo """
client: [0] command returned 0
client: [0] closed
client: [1] opened from 127.0.0.1:57863
client: [1] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [1] process command list returned 0
client: [1] closed
client: [2] opened from 127.0.0.1:57864
client: [2] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [2] process command list returned 0
client: [2] closed
client: [3] opened from 127.0.0.1:57865
client: [3] process command "lsinfo """
client: [3] command returned 0
client: [3] closed
client: [4] opened from 127.0.0.1:57866
client: [4] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [4] process command list returned 0
client: [4] closed
client: [5] opened from 127.0.0.1:57867
client: [5] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [5] process command list returned 0
client: [5] closed
client: [6] opened from 127.0.0.1:57868
client: [6] process command "lsinfo """
client: [6] command returned 0
client: [6] closed
client: [7] opened from 127.0.0.1:57869
client: [7] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [7] process command list returned 0
client: [7] closed
client: [8] opened from 127.0.0.1:57870
client: [8] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [8] process command list returned 0
client: [8] closed
client: [9] opened from 127.0.0.1:57871
client: [9] process command "lsinfo """
client: [9] command returned 0
client: [9] closed
client: [10] opened from 127.0.0.1:57872
client: [10] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [10] process command list returned 0
client: [10] closed
client: [11] opened from 127.0.0.1:57873
client: [11] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [11] process command list returned 0
client: [11] closed
client: [12] opened from 127.0.0.1:57874
client: [12] process command "lsinfo """
client: [12] command returned 0
client: [12] closed
client: [13] opened from 127.0.0.1:57875
client: [13] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [13] process command list returned 0
client: [13] closed
client: [14] opened from 127.0.0.1:57876
client: [14] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [14] process command list returned 0
client: [14] closed
client: [15] opened from 192.168.1.251:42936
client: [15] process command "commands"
client: [15] command returned 0
client: [15] process command "notcommands"
client: [15] command returned 0
client: [15] process command "tagtypes"
client: [15] command returned 0
client: [15] process command "outputs"
client: [15] command returned 0
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "stats"
client: [15] command returned 0
client: [15] process command "lsinfo "/""
client: [15] command returned 0
client: [15] process command "urlhandlers"
client: [15] command returned 0
client: [15] process command "outputs"
client: [15] command returned 0
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "listplaylistinfo "Favorites""
exception: Failed to open '/media/sdcard/Favorites.m3u': No such file or directory
exception: No such playlist
client: [15] command returned 2
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [16] opened from 127.0.0.1:57877
client: [16] process command "lsinfo """
client: [16] command returned 0
client: [16] closed
client: [17] opened from 127.0.0.1:57878
client: [17] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [17] process command list returned 0
client: [17] closed
client: [18] opened from 127.0.0.1:57879
client: [18] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [18] process command list returned 0
client: [18] closed
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "lsinfo "music""
client: [15] command returned 0
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [19] opened from 127.0.0.1:57880
client: [19] process command "lsinfo """
client: [19] command returned 0
client: [19] closed
client: [20] opened from 127.0.0.1:57881
client: [20] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [20] process command list returned 0
client: [20] closed
client: [21] opened from 127.0.0.1:57882
client: [21] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [21] process command list returned 0
client: [21] closed
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "lsinfo "/""
client: [15] command returned 0
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [22] opened from 127.0.0.1:57883
client: [22] process command "lsinfo """
client: [22] command returned 0
client: [22] closed
client: [23] opened from 127.0.0.1:57884
client: [23] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [23] process command list returned 0
client: [23] closed
client: [24] opened from 127.0.0.1:57885
client: [24] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [24] process command list returned 0
client: [24] closed
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "playlistfind filename "2L-45_stereo_01_DSF_5644k_1b_DSD128-Hoff.dsf"" <================ Line 265
client: [15] command returned 0
client: [15] process command "addid "2L-45_stereo_01_DSF_5644k_1b_DSD128-Hoff.dsf""
client: [15] command returned 0
client: [15] process command "playid "1""
playlist: play 0:"2L-45_stereo_01_DSF_5644k_1b_DSD128-Hoff.dsf"
client: [15] command returned 0
decoder_thread: probing plugin dsf
decoder: audio_format=dsd128:2, seekable=true
client: [15] process command "status"
alsa_output: opened hw:0,0 type=HW
alsa_output: buffer: size=90..131072 time=255..371520
alsa_output: period: size=45..65536 time=127..185760
alsa_output: default period_time = buffer_time/4 = 371519/4 = 92879
alsa_output: format=S32_LE (Signed 32 bit Little Endian)
alsa_output: buffer_size=131072 period_size=32768
alsa_output: DoP (DSD over PCM) enabled
output: opened "MojoDAC" (alsa) audio_format=dsd128:2
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "playlistid "1""
client: [15] command returned 0
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command list
client: process command "playlistinfo "0""
client: command returned 0
client: [15] process command list returned 0
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [25] opened from 127.0.0.1:57886
client: [25] process command "lsinfo """
client: [25] command returned 0
client: [25] closed
client: [26] opened from 127.0.0.1:57887
client: [26] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [26] process command list returned 0
client: [26] closed
client: [27] opened from 127.0.0.1:57888
client: [27] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [27] process command list returned 0
client: [27] closed
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [28] opened from 127.0.0.1:57889
client: [28] process command "lsinfo """
client: [28] command returned 0
client: [28] closed
client: [29] opened from 127.0.0.1:57890
client: [29] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [29] process command list returned 0
client: [29] closed
client: [30] opened from 127.0.0.1:57891
client: [30] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [30] process command list returned 0
client: [30] closed
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
state_file: Saving state file /media/sdcard
exception: Failed to commit /media/sdcard: File exists
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [31] opened from 127.0.0.1:57892
client: [31] process command "lsinfo """
client: [31] command returned 0
client: [31] closed
client: [32] opened from 127.0.0.1:57893
client: [32] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [32] process command list returned 0
client: [32] closed
client: [33] opened from 127.0.0.1:57894
client: [33] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [33] process command list returned 0
client: [33] closed
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [34] opened from 127.0.0.1:57895
client: [34] process command "lsinfo """
client: [34] command returned 0
client: [34] closed
client: [35] opened from 127.0.0.1:57896
client: [35] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [35] process command list returned 0
client: [35] closed
client: [36] opened from 127.0.0.1:57897
client: [36] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [36] process command list returned 0
client: [36] closed
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [37] opened from 127.0.0.1:57898
client: [37] process command "lsinfo """
client: [37] command returned 0
client: [37] closed
client: [38] opened from 127.0.0.1:57899
client: [38] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [38] process command list returned 0
client: [38] closed
client: [39] opened from 127.0.0.1:57900
client: [39] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [39] process command list returned 0
client: [39] closed
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [40] opened from 127.0.0.1:57901
client: [40] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [40] process command list returned 0
client: [40] closed
client: [41] opened from 127.0.0.1:57902
client: [41] process command "lsinfo """
client: [41] command returned 0
client: [41] closed
client: [42] opened from 127.0.0.1:57903
client: [42] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [42] process command list returned 0
client: [42] closed
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [43] opened from 127.0.0.1:57904
client: [43] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [43] process command list returned 0
client: [43] closed
client: [44] opened from 127.0.0.1:57905
client: [44] process command "lsinfo """
client: [44] command returned 0
client: [44] closed
client: [45] opened from 127.0.0.1:57906
client: [45] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [45] process command list returned 0
client: [45] closed
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [46] opened from 127.0.0.1:57907
client: [46] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [46] process command list returned 0
client: [46] closed
client: [47] opened from 127.0.0.1:57908
client: [47] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [47] process command list returned 0
client: [47] closed
client: [48] opened from 127.0.0.1:57909
client: [48] process command "lsinfo """
client: [48] command returned 0
client: [48] closed
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "stop"
playlist: stop
player: played "2L-45_stereo_01_DSF_5644k_1b_DSD128-Hoff.dsf"
output: closed "MojoDAC" (alsa)
client: [15] command returned 0
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [15] process command "status"
client: [15] command returned 0
client: [15] process command "idle"
client: [15] command returned 1
client: [49] opened from 127.0.0.1:57910
client: [49] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [49] process command list returned 0
client: [49] closed
client: [50] opened from 127.0.0.1:57911
client: [50] process command list
client: process command "status"
client: command returned 0
client: process command "currentsong"
client: command returned 0
client: [50] process command list returned 0
client: [50] closed
client: [51] opened from 127.0.0.1:57912
client: [51] process command "lsinfo """
client: [51] command returned 0
client: [51] closed
^Cstate_file: Saving state file /media/sdcard
exception: Failed to commit /media/sdcard: File exists
avahi: Shutting down interface
root@imx7_music:~# ^C

Post Reply