Slashdot Mirror


Building A Multi-Room MP3 Server?

Jason Peacock asks: "Say you have a house set up with multi-room sound already (speakers in each room, central multi-zone tuner, control panels in each room) and it's also wired for a computer network. You'd like to add the ability to play different MP3's in each room. First thoughts are to install a server, put a sound card in for each zone, connect these to the zone tuners, then get some software that can play multiple MP3s, outputting them to different sound cards. Or just run multiple instances of an mp3 player, each instance configured for a different sound card. What's the best way to control this using remote terminals (Win2k boxes) in the house? Final challenge: can this be done with Win2k on the MP3 serving box? I'm interested in hearing both solutions (Linux & Windows)." If computers will be running in each zone, why not have an MP3 player on each which can take control of its speakers and play MP3s streamed from the central server (each zone would have its own port). This shouldn't be too difficult to implement and should work with any combination of operating systems that support streaming servers and clients. Anyone else have other solutions?

3 of 14 comments (clear)

  1. sounds pretty basic by Jose · · Score: 3

    looks like you already answered your own question..one server, multiple sound cards, multiple mp3 players.

    The tougher question is how to intelligently select different playlists (or even songs) for different rooms on the fly. ie The person sitting in the kitchen wants to hear their new Tragically Hip album during dinner..how do you select that? (with ease)
    here's one answer (to start off)
    have a seperate playlist for all the different bands you have in your MP3 collection..press a button on your remote control to say you are choosing playlists, now use the numbers on the remote (like a phone pad) to get to the correct letter (in this case "T"), have the mp3 server say the name of the band, and you accept or reject the names until you get to the The Hip..(still kinda slow and painful)
    2)
    have some sort of PIN code that each person in the house has, so when they enter a room, punch in their PIN, their playlist pops up...they have a couple preselected playlists that they can then shuffle through to get to the one they want. ( alot of initial setup)
    3)
    if their are computers running in each zone...piss easy, they can select the music.

    as a side question, how are you guys handling the wiring for multi room music? I am really looking to go wireless, but haven't found a good system yet. Any good DIY stuff? And any recomendations for recievers to control the multi room speakers?

    --
    The basic sleazeware produced in a drunken fury by a bunch of UCBerkeley grad students was still the core of BIND. --PV
  2. Serial LCD + keypad by SEWilco · · Score: 3

    You could put this Serial LCD+ in several rooms. Then you can control the computer through serial ports. Add a case, power supply, and a 4x4 keypad.

  3. Distributed vs. Centralized playback by EMIce · · Score: 3

    There are really two approaches to this problem. You can put a PC in every room or use one PC and run speaker cables to the extra rooms. Let me explain.

    For the first approach you would likely need ethernet wiring for the whole house and a PC in every room. This is not very practical and causes a lot of clutter. I do this with 4 PCs. I have samba or windows servers running on every machine so mp3s from any machine can be accessible from all over the place. Samba really ties things together, I recommend it if you will be mixing operating systems. I'd also recommend getting a mini-keyboard and trackball for every room. Or, if your a programmer, download IBM's ViaVoice SDK and whip up some voice control software, it's not that hard and you could hide the PC in a closet. Very nifty


    Even niftier - use one main server and run speaker cables to every room from your amplifier. You will need to devise some kind of central control mechanism of course. Here's where my kinda but not so far-fetched idea for a dream setup comes in. I'm not sure what the wireless networking options are for the palm and visor, but this idea could really use such a thing. You'd basically write some software for the Palm that talked over the network to your server, which would play the mp3s. Palm apps are written in GNU C, so it would be pretty simple to whip up this little app. The wireless ethernet card is the only missing linked. Anyone know if such a product exists? There's always the Palm Ethernet Cradle. Someone would have to write a daemon that would listen in for play requests. Some commands the daemon might listen for from palms:

    "ls"
    "cd /home/emice/mp3/Cake - Motorcade of Generosity"
    "!play |(Cake) - Ain't No Good.mp3| zone4"
    "!stop zone4"
    "master volume 233 zone1"
    "status zone3"
    etc.. You could even telnet to the servers port and issue these commands from anywhere :-).

    For multi-zone use you could easily rig up a really up your parallel port with a relay controller to switch zones among the multiple sound cards. A relay is simply electronically controlled magnetic switch. A darlington transistor followed by a relay on each pin of your parallel port would allow for 13 electronic switches. Switching a relay is too much load for your parallel port, so it would switch the darlington using a small current and then the darlington would switch the relay since it requires a larger current. You can get cheap $2 IC chips with 8 darlingtons in them. And programming the parallel port for this kind of application is pretty simple too, it's just a matter of setting the right bits to put a voltage difference on a particular pin. Check the Linux Howtos, there is one on Parallel Port Programming.

    This project could get pretty interesting. If I had a palm and the time, I'd already be working on this, but like many people here I've got a lot more ideas than time to work on all of them. I'd love to see something like this pursued though.

    emice