[メモ] pulseaudioで、らずぱいからWindows(Cygwin/X)に音を転送


概要

  • pulseaudioを使って、らずぱい => Win で音を出す。
  • Win側の設定をやって、
    らずぱいで、export PULSE_SERVER=<WindowsのIP> ; mplayer -ao pulse hogehoge.mp3
  • Winから音が鳴る。
  • Cygwinは、/etc/fstabでアクセス制御するとか、しないとかで、マウントする
  • gnupackは、startup_config.iniの設定に基づき、/etc/fstabなど生成される

環境

  • Windows 10 64bit
  • Raspberry Pi 3
  • 2016-05-27-raspbian-jessie.img

手順

Windows側

  1. [メモ] RaspberryPiとCygwin/X (SSHのX11転送)のCygwin/Xのインストールを済ませる
  2. C:\gnupack\startup_cygwin.exe
    ターミナルを開く
  3. apt-cyg install pulseaudio pulseaudio-module-x11
    pulseaudio関係をインストール
  4. pulseaudio.exe
    一回目実行

    こんな感じのエラーが出る
    # pulseaudio.exe
    W: [(null)] caps.c: Normally all extra capabilities would be dropped now, but that's impossible because PulseAudio was built without capabilities support.
    E: [(null)] core-util.c: Failed to create secure directory (/home/.config/pulse): Unknown error 13
    
    • 'セキュアディレクトリ'が作れない?
      chmod 0700やっても属性が変わらない
      =>ハマった。
  5. emacs /c/gnupack/startup_config.ini
    => start_config.iniを編集する

    • \[Mount Table\]セクションに、
      Point = %HOME%\.config ; /home/.config ; ntfs ; binary,nouser,posix=0;
      を追加(noaclを抜いてある => aclアリ!)
    [Mount Table]
    Point = none            ; /         ; cygdrive; binary,nouser,noacl,posix=0;
    Point = %HOME%          ; /home     ; ntfs    ; binary,nouser,noacl,posix=0;
    .
    .
    .
    Point = %DESKTOP_DIR%   ; /top      ; ntfs    ; binary,nouser,noacl,posix=0;
    Point = %HOME%\.config ; /home/.config ; ntfs ; binary,nouser,posix=0;
    
    • gnupackでは、このiniファイルをもとに、start_xx.exe起動時に設定ファイルを作ってくれてるぽい。
      cat /etc/fstabをみてみよう。
  6. emacs /etc/pulse/default.pa

    • load-module module-native-protocol-tcp auth-ip-acl=<らずぱいのIPアドレス>
      を追加
    /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-zeroconf-publish
    load-module module-native-protocol-tcp auth-ip-acl=192.168.22.57
    ...
    
  7. pulseaudio.exe

    • エラー出るけど起動する。
    • たまに終了してしまうので、実行して立ち上げておく。
    # pulseaudio.exe
    W: [(null)] caps.c: Normally all extra capabilities would be dropped now, but that's impossible because PulseAudio was built without capabilities support.
    E: [waveout] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
    ...
    ...
    E: [waveout] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
    W: [(null)] server-lookup.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
    W: [(null)] main.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
    

らずぱい側

  1. sudo apt-get install -y pulseaudio mplayer
    なにかほかにもいれたかも??
  2. 音ファイルを用意(oggとか、mp3とか)
  3. export PULSE_SERVER=<WinのIP>; mplayer -ao pulse hoge.mp3
    mpg321を使う場合: mpg321 hoge.mp3 -o pulse

スクショ