First of all, kill pulseaudio, burn it, it is useless for pure audio playback.
Everything else, like kodi, with a hdmi audio output for example, will still work.
In debian:
# apt-get remove --purge pulseaudio # apt-get install mpd alsa-utils alsa-tools
Now you have a clean straight mpd -> alsa.
You should have recompile the snd-usb-audio before.
Check your devices:
# aplay -l **** List of PLAYBACK Hardware Devices **** ... card 2: UD503 [UD-503], device 0: USB Audio [USB Audio] Subdevices: 0/1 Subdevice #0: subdevice #0 ...
Alsa config: /etc/asound.conf
pcm.!default { type hw card UD503 } ctl.!default { type hw card UD503 }
MPD config: /etc/mpd.conf
pid_file "/var/run/mpd/pid" state_file "/var/lib/mpd/state" # My nas target / NFS mount # DB is also remote because it is generated one time for multiple players # You can keep it local as default music_directory "/nas/music" playlist_directory "/nas/music/playlists" db_file "/nas/music/tag_cache" log_file "/nas/music/mpd.log" sticker_file "/nas/music/sticker.sql" # ... root, i don't care. it's a dedicated player but it's bad. # if you care, keep 'mpd' or any system user in 'audio' group user "root" group "root" bind_to_address "any" log_level "default" save_absolute_paths_in_playlists "yes" metadata_to_use "artist,album,title,track,name,genre,date,disc" follow_inside_symlinks "yes" zeroconf_enabled "yes" zeroconf_name "player" # Gigabit network, go for it buffer_before_play "100%" connection_timeout "60" max_connections "200" max_playlist_length "16384" max_command_list_size "2048" max_output_buffer_size "8192" filesystem_charset "UTF-8" id3v1_encoding "UTF-8" audio_output { type "alsa" # default is our single asound device device "default" name "UD503" use_mmap "yes" # bit perfect auto_resample "no" auto_channels "no" auto_format "no" # Since UD-503 have an integrated preamp, disable mixer completely, Yes! mixer_type "disabled" # Good bandwidth period_time "50000" buffer_time "2500000" # And DSD! dsd_usb "yes" } input { plugin "curl" } decoder { plugin "dsdiff" enabled "yes" }
You can go further with a RT kernel to achieve ultra low latency like i did:
RT Kernel
– Linux kernel 4.1.15
– patch usb-snd-audio
– patch RT
– a batch of ‘chrt’ to focus RT latency on USB irq and MPD.
– pmqos_static cpu_dma_latency=0
More links:
– Linux audio System Configuration
– Linux Audio all realtime info
Bye