Evan Martin (evan) wrote in evan_tech,
Evan Martin

network sound between linux and mac

Thanks to a tip from mart and a followup from jmason, it turned out to be nearly trivial.
  1. Instead esound on the Mac. I used MacPorts: sudo port install esound.
  2. Configure esound to allow any client: sudo vi /opt/local/etc/esd.conf and change the default_options line to read:
    default_options=-tcp -public -promiscuous -port 5678
  3. Start esd: esd & .
  4. Back on the Linux box, tell PulseAudio about the new network device:
    pactl load-module module-esound-sink sink_name=projectar server=projectar.local:5678
    (You can pick your own sink_name, of course, and also the server; I'm using zeroconf.)
  5. Tell PulseAudio to use the network device. I think this means running padevchooser and clicking through the obvious menus to set the "sink", but it also seems that program may be deprecated in favor of pavucontrol, which also involves clicking through the obvious menus to set the same setting. Or you can do it from the command line with pacmd and set-default-sink .
Depending on the app, you have to tell it to use pulse for output. Gnome stuff seems to default that way. For mplayer, pass -ao pulse .

The remaining bit I don't understand is that it seems to remember the output device for different applications. What I'd prefer is a global switch: local or network. I haven't figured out quite where this sort of info lives, though.

  • blog moved

    As described elsewhere, I've quit LiveJournal. If you're interested in my continuing posts, you should look at one of these (each contains feed…

  • dremel

    They published a paper on Dremel, my favorite previously-unpublished tool from the Google toolchest. Greg Linden discusses it: "[...] it is capable…

  • treemaps

    I finally wrote up my recent adventures in treemapping, complete with nifty clickable visualizations.

  • Post a new comment


    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.