🎧

Music Player Daemon の出力を PulseAudio にする方法

2021/04/04に公開

TL;DR

Music Player Daemonの設定でPulseAudioを指定するだけでなく、PulseAudio側でTCPを有効化する必要がある。

環境

Ubuntu 18.04, Music Player Daemon 0.20.18, pulseaudio 11.1

PulseAudio側の設定

/etc/pulse/default.pa
 ### Network access (may be configured with paprefs, so leave this commented
 ### here if you plan to use paprefs)
 #load-module module-esound-protocol-tcp
-#load-module module-native-protocol-tcp
+load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1
 #load-module module-zeroconf-publish

auth-ip-aclにはアクセスを許可するIPアドレスを記述する。設定できたら以下のコマンドで再起動

$ pulseaudio -k
$ pulseaudio -D

上手く行っていれば以下のようになるはず。

$ pacmd list-modules | grep -C1 tcp
    index: 13
	name: <module-native-protocol-tcp>
	argument: <auth-ip-acl=127.0.0.1>

MPD側の設定

PulseAudioが有効になっているMPDであれば以下のようになるはず。

$ mpd --version | grep -C1 pulse
Output plugins:
 shout null fifo pipe alsa roar ao oss openal pulse jack httpd recorder

/etc/mpd.conf
 #
 # An example of a pulseaudio output (streaming to a remote pulseaudio server)
 # Please see README.Debian if you want mpd to play through the pulseaudio
 # daemon started as part of your graphical desktop session!
 #
-#audio_output {
-#	type            "pulse"
-#	name            "My Pulse Output"
-#	server          "remote_server"             # optional
+audio_output {
+	type            "pulse"
+	name            "My Pulse Output"
+	server          "127.0.0.1"             # optional
 #	sink            "remote_server_sink"    # optional
-#}
+}

設定できたら以下のコマンドで再起動

$ sudo systemctl restart mpd

参考URL

http://blog.ss1200.lomo.jp/?eid=1127
https://wiki.archlinux.jp/index.php/PulseAudio/サンプル#.E3.83.8D.E3.83.83.E3.83.88.E3.83.AF.E3.83.BC.E3.82.AF.E3.82.92.E4.BB.8B.E3.81.97.E3.81.A6_PulseAudio
https://askubuntu.com/questions/15223/how-can-i-restart-pulseaudio-without-having-to-logout
http://bluewidz.blogspot.com/2018/04/oslinux-virualboxdebian-8.html
https://www.labohyt.net/blog/server/post-4545/

Discussion