MPD/network mp3 playing alternatives?
October 3, 2012 6:03 AM   Subscribe

What is the best way to play MP3s on one computer, but controlled (prev, next, play, volume, etc.) by an interface on another computer. Complication level: there shouldn't be one because there is Linux and FreeBSD and NFS and shit everywhere. Why is this harder than it should be?

I have a bunch of MP3s on my FreeBSD server. They are shared via NFS with everything else on my local network. I have an Ubuntu 12.04 machine connected to a TV/stereo. I sit in front of a Macbook Air for day to day use.

What I want to happen is: I select and play music inside a program on my Macbook Air, and have sound come out of my Ubuntu 12.04 machine.

So I tried MPD, and made very little progress. It appears to load my library and then... then nothing. What other options do I have aside from VNC/remote desktop/SSH X-fowarding? There's got to be some sort of simple solution, right?
posted by wrok to Computers & Internet (9 answers total) 4 users marked this as a favorite
There are millions of ways of doing this. All you need is a server-like thing that can read the mp3s and play them when told to, and a client-like thing to tell the server what to do. Look at xbmc, or mpd, or any of the others.
posted by devnull at 6:05 AM on October 3, 2012

So I tried MPD

Get it working on the same machine first, then expand it with client control. Can you play mp3s at all on the mpd server? What if you use another audio program? You're going to need to talk to the mp3d people about this I suspect.
posted by devnull at 6:07 AM on October 3, 2012

The easiest way to do this is to use iTunes on the Macbook and XBMC on your FreeBSD server.

I mean, it's FreeBSD, so you've got your own set of problems there, but if you can get XBMC running on it, XBMC supports being an AirPlay target for iTunes, and then you're done.
posted by mhoye at 6:10 AM on October 3, 2012

If you have a Windows computer (or possibly a way to get Windows applications running) you can add on some components to Foobar2000 so that you can control playback via http.
posted by Gev at 6:34 AM on October 3, 2012

XMBC being an AirPlay target is interesting, I will probably try that, or mess with MPD some more :/

Thanks for the answers. Oh, and for archival purposes: VLC also has a web interface, but it's not that great.
posted by wrok at 6:58 AM on October 3, 2012

I've had some problems with xbmc and audio levels on my CentOS 6 htpc/asterisk server (xbmc plays media at a low, "unamplified" level that I have to turn the audio up on our receiver very high to hear properly, and I can actually hear the USB and other electronicy bits as metallic static and clicks that completely ruins the experience for us) but VLC has no problem pumping out incredibly high levels out having to turn up the receiver. I just use Teamviewer (signed in so that I can just click click click and I'm there) or VNC to remote to the htpc from the iPad or Nexus 7 and just start what I want as though I was seated in front of it. Inelegant but fast, easy to set up, free, and it's never not worked unless there is an outside issue like Wifi problems.
posted by dozo at 7:31 AM on October 3, 2012

Airfoil is pretty good, and I've got to assume their "Speakers for Linux" is more lightweight than XBMC on the Linux box for an AirPlay target. Plus it can send audio from any app, like your browser. I use it all the time to send audio from my MacBook and iDevices. Very simple, but not free.
posted by even butter at 7:39 AM on October 3, 2012

XBMC runs on FreeBSD, but you don't need it to. Run XBMC on the Linux box, since the files are on NFS. I have this setup (FreeBSD server, Linux HTPC, Mac laptop) but haven't tried to control the playback from my laptop, I just use a remote with XBMC. Another option is Firefly/mt-daapd, which I run on my FreeBSD server and it shows up in iTunes as a shared library. You might explore combining that with Airplay.
posted by makeitso at 9:20 AM on October 3, 2012

While you certainly can go the XBMC/Airplay route, if the Ubuntu box is already mounting the FreeBSD NFS share, mpd is definitely the way to go. Here's what that would look like:

mpd runs on the Ubuntu machine.
you tell mpd to use your NFS mount as the library source in .mpdconf. Here's all you should need (correcting the paths below for your setup):

music_directory "/nfs/music/"
playlist_directory "/nfs/music/playlists"
db_file "~/.mpd/mpd.db"
log_file "~/.mpd/mpd.log"
pid_file "~/.mpd/"
state_file "~/.mpd/mpd.state"
port "6600"
metadata_to_use "artist,album,title,genre,date,track"

audio_output {
type "alsa"
name "Pulse"
device "pulse"
You control the mpd instance from your macbook air using an mpd client - Theremin is one such, but there are many. (this communication/control typically happens over port 6600, so you'll need to ensure that this port is open between your macbook and the ubuntu box).

With that, you can control music playback from anything on your local network. Plus you can install a command-line client like ncmpc on the Ubuntu server, shell in and control from there if/when necessary.

mpd is really quite robust, and has way more features than this. I'm definitely a fan.
posted by namewithoutwords at 9:46 AM on October 3, 2012

« Older Renting bedding in New England   |   Puzzling relationship pattern Newer »
This thread is closed to new comments.