PulseaudioでUbuntuのサウンドをWindowsで出力する話

 mpdをWindowsで動かすようになって最近はあまりやっていないのだが備忘録として書いておくことにする。
 PulseaudioはLinuxで動作するサウンドサーバーの一種である。一般的にはLinuxカーネルに含まれるALSAというサウンドサーバーを使うのであまり表立って出てこないがネットワーク転送でサウンドが出力できるので頭の隅に入れておくといざという時便利なソフトウェアである。
 簡単にこちらの環境を列挙しておく。
・Windows機のIPアドレスは192.168.1.201
・Ubuntu機のIPアドレスは192.168.1.250
 ということで具体的な設定を書いていく。
 Ubuntuには標準でPulseaudioが入っているがWindowsにはもちろん入っていないので https://www.freedesktop.org/wiki/Software/PulseAudio/Ports/Windows/Support/ からダウンロードし、適当なフォルダ(C:\app\pulse など)に展開する。
 「etc\pulse」フォルダ内の「default.pa」ファイルに変更を加える。
・load-module module-native-protocol-tcp auth-anonymous:1
 これはどこからでも、どのマシンからでも受け付ける書き方で、ルータでIPマスカレード設定等をしていると誰でもいたずらできてしまうので、
・load-module module-native-protocol-tcp auth-ip-acl:192.168.1.250
 などとしてIPアドレスの制限を行ったほうが良い。サブネット全体を受け付けるには
・load-module module-native-protocol-tcp auth-ip-acl:192.168.1.0/24
 などとすると良い。また、
・load-module module-waveout
 も追加する。そして「bin/pulseaudio.exe」を立ち上げると待ち受け体制に入る。
 Ubuntu側の設定は簡単で、「/etc/pulse/client.conf」に
・default-server : 192.168.1.201
 を追加しPulseaudioを再起動させる。これでPulseaudioに対応したソフトウェアはネットワークを通じてWindows機で再生される。


– 追記 2018/11/15 –
JACKだともっと簡単に出せるはずなんだけど上手く行ってない