Slashdot Mirror


Build a Multi-Output MP3 Server?

z80 asks: "I'm rebuilding my house and I am thinking about fitting speakers in every room of the house and pulling some massive amount of cables in the walls. I also want to control and send the output to each set of speakers from the same source, and was thinking that a PC, with 4-6 soundcards, would do the trick, and there are of course a couple of questions I have. What kind of hardware would be required to be able to stream up to six different MP3's through six soundcards at the same time ? Can it even be done? What kind of software can be used to do it? Which OS? How can it be remotely controlled? With respect to the last question, I'm thinking about mounting a couple of flat displays around the house connected to old PC's that run some sort of connection (VNC maybe) to the mp3 server." This is a topic Ask Slashdot tackled three years ago. Now, with applications like Ardour showing off the power of Open Source frameworks like JACK, it seems like building such a machine might not be as hard as it once was. For those of you who have managed to build something like this, what did you do and what hurdles did you have to navigate before things were working? How would you set up a machine to run independent audio to 4 or more rooms?

21 of 394 comments (clear)

  1. I contacted a company in the past by leeet · · Score: 2, Interesting

    I thought it would be great to have multiple outputs on soundcards. Why have 4-5 cards when you can easily have a pigtail with RCA connectors (or 1/8 connectors). It should be possible and would solve those issues. Imagine playing a DVD on your TV while someone else listens to MP3's

    Software wise, it shouldn't be harder than controling multiple NIC's. Soundcards could be seen as "streams" and you could send the audio to any/all. Heck you could even have some kind of multicast to remind everyone of special events (blue light special? err.. dinner is ready).

    Unfortunately, the company I contacted couldn't care less about my idea.... Or maybe they simply took it and are working on it now? :)

    --
    -- Leeeter than leet
    1. Re:I contacted a company in the past by SN74S181 · · Score: 2, Interesting

      I still can't figure out why a distributed task like this isn't handled locally by a sound card in each room and everything distributed around the network as IP.

      Go to Ebay. Buy a pile of SparcStation IPX boxes. They have 'good enough' audio output, can be had very cheaply these days, and can run NetBSD in a diskless and headless configuration so they won't make much noise. Boot them off a boot server, share over the sound files with NFS. Telnet into each machine from any other machine on the network to launch the sound you want at that location. The IPX is a little lunchbox case machine so it will be unobtrusive. And IPXs are built to last forever. And best of all they're real UNIX hardware, cheap Taiwanese clone machines that looks like something from WalMart.

  2. Easy way to get multiple outputs by Qzukk · · Score: 4, Interesting

    One of the side effects of not having commercial drivers and applications that use the features is that you can usually get at least two channels off of a 5.1 soundcard. The front pair of speakers and the rear pair of speakers are generally treated as seperate DSPs by the audio driver. Look around for audio drivers that treat the cards this way, and when you find one get 3 cards for a total of 6 outputs. (You're looking for a card thats supported in linux, but not too-well supported. Don't forget to check alsa's list of cards)

    After that, just figure out how you're going to get the controls to work.

    --
    If I have been able to see further than others, it is because I bought a pair of binoculars.
  3. EPIA by Anonymous Coward · · Score: 2, Interesting

    I would say get a bunch of via epia mini-itx mainboards (newegg sells them with some pretty slick cases as well). Just run Cat5 to each room and viola! you have a multipurpose device, you could watch a DVD (or at least a visualization) with your music as well.

    Besides, the EPIA boards are quite well supported under linux (and of course windows), heck you could even network boot them so you have diskless stations - now that would be killer. Absolutely no moving parts, you could just stick the board to back of the flat panel and mount it in the wall.

    A computer with a ton of sound cards seems like a great project, but I can tell you right now it is much more prudent to be running cat5 to each station and having separate little boxes...

  4. Existing Projects by euphline · · Score: 4, Interesting
    Last time I got to thinking about this, I spent an evening or two googling and found:

    The Ethernut is more for a doityourselfer, the Slimp3 is existing product. They operate over ethernet which is not quite within scope for the abovementioned project, but might meet the same goals.

    I haven't gotten around to either of these yet, but the Slimp3 in particular sounds quite cool.

    -jbn
  5. same thing, on a budget by SHEENmaster · · Score: 2, Interesting

    I made a an XMMS console remote and ran it from my zaurus over wifi. I know use a dedicated MP3 server that mounts my music over samba and lives inside my stereo.

    The script could easily be adapted for use in almost any control environment. Up/down+enter for easy use on the Zaurus w/out typing.

    --
    You can't judge a book by the way it wears its hair.
  6. How about multiple inputs by Sabalon · · Score: 2, Interesting

    I wanted to do something similar, but the other direction.

    I wanted to have mics around the house in lots of the rooms. I want to be able to walk into the bedrom and say "lights on" and have the computer turn the lights in that room on - I don't wanna have to say "master bedroom lights on".

    I really am not sure how this would be done. I'm guessing there would need to be some sort of intermediate box that would pass the audio through, and at the same time be able to indicate to the computer which input it received a signal (or the strongest signal) on.

  7. Shameless plug for commercial system by KSeghetti · · Score: 2, Interesting

    The company I work for: Intellinet Controls sells multi-room audio systems. Our latest product, the RS3000, includes web based control (which is really nice with a wireless webpad), keypads in each room (and a remote), and can be easily intergrated with mp3 jukebox software (I use Globecom Jukebox) (we plan to provide it as a option for those who don't want to set their own up) I have a system installed in my house, and I think it is great (of course, since I wrote most of the software it does exactly what I want :-)

    --
    Kevin Seghetti: kts@tenetti.org, HTTP: www.tenetti.org GPG key: http://tenetti.org/phpwiki/index.php/KevinSeghett
  8. Re:Why multiple soundcards? by FotoPlasma · · Score: 2, Interesting

    This is exactly what I am in the process of doing, in my house.

    Ethernet has already been strung all over the place, and I've set up a 250GB (total) fileserver to be placed in the basement. After that, a client computer at each television / stereo system will be all that's necessary for the ability to listen to any piece in a huge collection of music, on demand.

    In addition, with video-output hardware in the client computers (onboard most modern motherboards, anyway), there's the possibility to watch stored video on nearby televisions.

  9. Save your money. Give a 486 a job... by BigBlockMopar · · Score: 5, Interesting
    you could network tablet PC's to it and use wireless speakers, that would work

    Sure, if you've got more money than brains, you could do that.

    But if you're going to wireless speakers (which invariably suck because there's another stage of conversion or modulation, then transmission, then demodulation), you could simply use centrally-located older machines (ie. cheap) and use wireless keyboards or other means to remote control them.

    Lots of the solutions under consideration seem to involve having VNC hosts and other junk like that. Why? I don't get it. Here's how this former professional audio technician would do it:

    • Use notebook computers. Old 486 and Pentium-class systems with sound cards are basically worthless, will play MP3 and Ogg just fine, and can be networked easily to a central file server. Command line (ie. "I wrote my own shell which does nothing but play MP3s entirely with Perl") or GUI-driven media players should work depending on the hardware available.
    • Use old desktops. We're throwing away PIII-600s at my work, but a 486 or better with an ISA sound card will be fine. Grab a multiline LCD display and hack it into a drive bay with a few pushbuttons. Put it onto your entertainment rack between the VCR and the CD player.

    Remember, sound quality is dependent on the electronic quality of the sound card you're using, not on the CPU speed of the processor. Generally, if it can play an MP3 without skipping, it's fast enough. DO look for *old* Creative Labs 16-bit ISA sound cards where the output amplifiers are in 8 pin DIP packages with "LM741" on them; in under 10 minutes you can bring them to almost the sound quality of the finest $2000 CD players.

    And don't do stupid things that say "I think car audio is KEWL" and run unbalanced line-level audio all over the house unnecessarily. Run Cat-5 all over the house; run the sound card outputs to the amplifier as neatly and as shortly as possible in each room.

    If you do it that way and have a good quality stereo system (ie. the speakers are actually made of wood and the amp claims it's only 50W but seems to weigh over 75lbs anyway), your fidelity will be limited mostly by the quality of the MP3s you're playing.

    --
    Fire and Meat. Yummy.
    1. Re:Save your money. Give a 486 a job... by teamhasnoi · · Score: 2, Interesting
      A couple of questions:

      Can I have some PIII 600s?
      and
      What are you talking about with the Soundblaster? What mod? takes 10 min and what does the LM741 have to do with it? I have tried Googling and nothing leaps out at me.
      and
      Can I have some PIII 600s? ;)

  10. I am also working on this EXACT same problem... by pennystinker · · Score: 3, Interesting

    I'm also working on this exact same project. I'm planning to start a major remodeling job on my house starting this fall. Many of the things you are looking to do I'm also trying to accomplish. Here's the general outline of my plans:

    Bedrooms: I'm only running Cat5. Each room will have a custom built PC with a decent sound card and speakers. These machine are for the kids to watch videos, do homework, play games, listen to music, etc. Each of these machine will boot into some sort of GNU/Linux (right now the plan is Gentoo) as the primary OS. Unfortunately, they will also have a Win2K boot option for playing games. Util WineX/Transgamign goes GPL or many more games (thank you BioWare for NWN) go native Linux, I'm afraid that Win2K will remain in my, and my kids life.

    Den, Kitchen, dining room, backyard patio: A pair of decent speakers mounted to the wall with the speaker cables neatly tucked away out of sight.

    Family room: I plan on building a custom home theater PC running GNU/Linux that will be used as a PVR, TV, CD player, DVD Player, CD Ripper, DVD Ripper. Also attached will be a VHS for the older tapes. This machine will be hooked up to a nice 5.1 (or better) speaker system. These speakers will be "switchable" to also play "piped-in" music as well.

    I have several "scenarios" that I want my A/V system to support:

    1.Party: In this scenario, I would like to "program" all of the speakers in the Den, Kitchen, dining room, backyard patio, and family room (which will all be on the first for (except the backyard patio ;-) ) to play the same music. I will need to be able to adjust the volume levels independently in each room, as well as needing an easy way to "mute" a room or all of the music in all of the rooms, FROM ANY ROOM.
    2.Clusters of people doing stuff: I can see myself cooking dinner, in the kitchen, while one of my kids is playing with a friend in the living room. I would like to listen to my own music in the kitchen while my kids either watch videos (on the HTPC) or listening to "piped" music, radio, or Internet radio from a "audio server". The other rooms are "silent". In other words I can deliver independent audio to individual rooms. (By Internet radio I mean consumer Internet radio as well as shout/icecast)

    I'm looking for an integrated/elegant solution. I would like an audio server in the basement that can be remotely controlled from each room that play music from an audio library of OGG files, Internet radio sources or radio tuner cards in any combination.

    (I also plan to have a video server, actually a simple file server, with backed-up DVD images to act as a video server (thank you dvdbackup))

    I don't want desktops or laptop scattered around the house actually doing the "audio work". I'm figuring that any PC on my home network can create/manipulate audio playlists that can be played in all rooms or an arbitrary subset. I will need to develop an "integrated remote control" system. I'm thinking of small, embedded, computers with an integrated LCD touch screen and networking that I will mount in the wall in each room on the first floor, as well as on the back of the house. These computers would provide a touch screen interface for controlling the audio in that room (with the option to control audio in other rooms or throughout the house). The controls would include volume levels, muting, playlist control, and the ability to choose from Internet or broadcast radio sources. In the family room it must also be possible to "switch" the speakers from the "piped" audio to the HTPC. When these wall mounted computers are inactive they would display the date/time and weather (or something).

    I have also considered PDAs with 802.11 but I like the fixed solution from a clutter/aesthetics point-of-view. Also, PDAs like remotes will take a lot of abuse and tend to get lost. On the other hand, I have not ruled out the PDA solution yet.

    Ok, now you know what I'm looking to do, here's where I'm at:

  11. I did this by Anonymous Coward · · Score: 1, Interesting

    I did this with an old p133 and 2 soundblaster cards. The server sits in the den with 2 amps connected to it and speaker wire running to the speakers in the diffrent rooms. Its all controlled via 2 web based interfaces (one for each zone) and works out really slick

    http://gid0ze.net/roomjuice/

  12. Re:SliMP3, baby by Eyston · · Score: 3, Interesting

    One problem I can see with SliMP3 is that you are limiting yourself to only playing MP3's. What if you migrate to Vorbis, MPC, WMA, FLAC, or one of the other competing formats. MP3's are the most common no doubt, but storage space is not much of a concern these days. Lossless is starting to make some sense (seeing mp3's encoded at 320kpbs in the name of quality makes me wonder why not lossless).

    It would be nice to see the delivery of raw audio instead which would make your encoding format irrelevant.

    A slimp-link device that did that would be awesome. Ethernet->DAC->Audio. I'd rather just buy the nuts/bolts of a device like that instead of seeing the LCD screen included. Just a small black box that took ethernet and had audio-out. Let the user interface be up to me.

    -Eyston

  13. two ideas by zorander · · Score: 2, Interesting

    First of all, somewhere in the world, there's a webcast output plugin for xmms. Configure a copy of xmms to use it on the server machine, and point all your vnc sessions at that copy of xmms which is webcasting currently. Then you can have each of the smaller machines receive the webcast (just run a little daemon wrapper script around mpg123 that connects to the main server with a retry or something of the sort) and output it to their personal set of speakers with your method of choice.

    You control music selections for the whole house from that xmms window, but i suppose you could have a local xmms window as well to play shared files from the server (or local files even) in a room-specific way. If you can somehow make the webcasting use broadcast packets or something you can probably minimize latency, but it could still be an issue (of course six sound cards would be only marginally better, since they'll all have different latencies anyhow, unless they are identical *and* written at the same time).

    Of course the real stereo system style solution is to get a receiver with as many outputs as you need. six is commonplace and ten or twenty is not unheard of. Then you can run speaker wire (long distances if needed) to the locations. You can still VNC up those LCDs as much as you desire to. This, in conjuntion with a nice sound card would probably sound considerably better than your six sound card solution, though you'd never be able to change music in one room and not another.

    If you use more than one sound card (either in one or many computers), you're going to need some way to handle latency differences. It really depends on how you use your house. If you can ever, in any appreciable way, hear two rooms at once then there's really no tolerance for latency differences at all, but if you're wiring rooms far from eachother (for instance the family room and the patio and the master bedroom, but nothing else), then the webcast solution is probably a better bet (and presumably uses existing wiring since someone asking such a question would be more likely to have run cat5 than speaker wire)

    Good luck.

    Brian

  14. Re:this is retarded by Poeir · · Score: 3, Interesting

    Buying each CD will cost money, no denying that, but if you listen to the original CD, you'll only have 10-12 songs instead of the estimated 19. Using the four-minute average, you'll then have 40-48 minutes of music until you'll have to rotate. You will not be able to listen to arbitrarily selected bands in an arbitrary order, which is part of the main reason of going to MP3/Ogg to begin with and doesn't have a particular monetary value. That's also assuming that the entire CD is worth listening to all in one go.

    The licensing cost of 100GB of music will be the same regardless of whether it's on the CD or hard drive. While it may be cheaper to use the original CD medium, it will not be more convenient for listening to music selections in arbitrary order, so it comes down to a question of whether it's more worthwhile to avoid paying a dime an hour or to avoid changing CDs every 48 minutes.

    Additionally, I believe it's cheaper to license from iTunes than from CD. However, I gather that this project may not be possible using the AAC files from iTunes.

    --
    Sigs are like bumper stickers.
  15. Jukebox by RinkSpringer · · Score: 2, Interesting

    You may be interested in Jukebox, it's what I wrote for our student union and it works like a charm.

    If you launch multiple copies of it (it's written in C++ and not very memory-hungry), you can easily use it to serve over multiple sound cards.

    I currently run it on Linux and FreeBSD.

  16. 220Euro/Room solution by Anonymous Coward · · Score: 2, Interesting

    HE DOES NOT NEED 6 SOUNDCARDS FOR 6 DIFFERENT AUDIO-STREAMS !

    He needs a server, that can STREAM 6 different BINARY streams to 6 different thin clients in his house.

    In addition, he will be able to watch MPEG4 also, adding a little of decoding power to the clients.

    It wont be much more expensive than putting an amplifier into each room. (Because this will be a need in order to get somewhat decent quality)

    Multiroom is ethernet these days... I just don't get it so few really realize.

    And with such thin-clients (for audio any 99 Euro [+RAM] EPIA 533MHz thin-client [fanless, diskless]+ PC speakers will do, add 70USD for MPEG4, add 250 Euro (client needs DOC/DOM, so more expensive) for DOC/DOM local boot) you have IRDA so no need for WiFi/PDA remotes (which such anyway, as long they do not do the Bluetooth trick)

    amix (not logged in)

  17. Try the CAT5 mod by heironymouscoward · · Score: 2, Interesting

    My house is wired with CAT5, every room
    leading down to the server room with a
    couple of patch panels.

    Taking my trusty Dremel I modded some
    CAT5 cables so that output from my MP3
    player went into the wall and came out
    in the server room. Now took random
    patch cables and hooked-up outputs around
    the house. After this success, I devised
    two CAT5-to-speaker cable types (LEFT and
    RIGHT) that let me hook up speakers in
    any room in the house.

    Actually, it works well. I never thought
    UTP would carry the speaker signal, but it
    does, and the computer network does not
    seem to mind.

    --
    Ceci n'est pas une signature
  18. Rio Receiver! by Anonymous Coward · · Score: 1, Interesting

    You're going to need an amp or amplified speakers in every room if you're running line level out to all the rooms.

    Why not get a Rio Receiver for each room? Ethernet + HPNA connectivity, 10W+10W output. $60 on ebay, $89 on tiger direct http://www.tigerdirect.com/applications/SearchTool s/item-Details.asp?sku=M975-1036

    Replace the Rio client software with an alternate one like Trio http://triot.sourceforge.net or RioPlay http://rioplay.sourceforge.net
    Both clients support Shoutcast and the Trio client allows you to sync a bunch of different receivers when you're playing mp3s so it sounds like you have a whole house audio system.

    You can replace the windows based Rio server software with JReceiver http://jreceiver.sourceforge.net for windows or Linux.

  19. Don't convert to an anlogue signal til you have to by Scooter · · Score: 2, Interesting

    I already have something which does what you want - I am using a Slimp3 server to stream mp3 data to multiple players around the house (across a wireless network). I have 3 players and they are all able to play a different stream and all at once over a regular 10Mb/s wifi network (all my CD's are encoded to 128Kb/s mp3s)

    If you ran long cables from 6 sound cards to 6 amps around your huse, this could be made to work, but the losses across such long cables would be unacceptable to all but the most tone deaf.

    You can get details of Slimp3 from http://www.slimp3.com

    One thing it won't currently do (and may never do to acceptable levels of timing) is play the same stream , in sync, to multiple players. Even using multicast, they might be up to .5 seconds out which would sound disconcerting to say the least if you were within earshot of more than one player.

    However, if I undertsand your requirement , this (or any other digital music serving device) will do it justice.