Synchronizing Music Players?
orn asks: "Lots of people now have MP3 players in the living room. Some people have players in the kitchen, bedroom, garage, and so on. They are great when it comes to getting to your music from multiple places, but when you walk from room to room, it's almost impossible to get the music aligned. Are there software packages or techniques for synchronizing multiple networked music players? One thought is to use streaming software to stream to all players — but is there any streamer that will let you account for the different delays in different hardware to create a single synchronized whole?"
SlimServer works for me. http://slimdevices.com/su_downloads.html
So, I know this doesn't answer your question, and I'm all for technology, but why not just run a multi-output speaker control box. Then just pipe the same signal to all the rooms over plain old speaker wire. I'm sure you can get lovely remote control panels (or fab some up) to control the device too. Its just so much simpler, IMO.
man, I feel like mold.
I am not sure if this is quite what you want, but wouldn't it be easier to just add more speakers? That way, you'll only have one player to worry about.
but when you walk from room to room, it's almost impossible to get the music aligned.
That's what the volume knob is for. I assume you have an '11' setting on it? Problem solved. You can hear it in all rooms simultaneously.
Simple!
First, figure out what your slowest player is. Then, delay the others to match. Note that a lot of cat-5 cable might be useful -- about a mile or two should do it.
Use an osiclloscope to compare two different devices, and figure out how much delay you need. Figure that eight inches of wire is about a nanosecond delay. Note that you might have trouble driving a mile or two of cat-5, so you might have to throw in a switch or hub along the way -- which will introduce additional delay. Simply measure the delay and use less cable.
See, simple!
"-1 Troll" is the apparently the same as "-1 I disagree with you."
Buy AirPort Expresses. iTunes will drive multiple units in perfect sync. If you don't like iTunes or need to play from some other source, the Mac version of Rogue Amoeba's Airfoil can also drive multiple units in sync using any application on your computer as the source.
Standard Network latency and timing is not precise enough to reliably sync audio between rooms in such a way that you won't hear an echo. At least that was what I found when I researched this a couple of years ago.
Buy a Sonos and forget about it. It's an amazing set of hardware that's worth twice the price.
Not particularly useful/applicable in this situation, but I thought I'd mention it as tech that can do what you want to do.
I don't know how it works, but it does...
Max.
Max.
I've researched this a lot. The best thing it a whole house audio system hardwired together. This requires removing a few walls. This way you can have independent or simultaneous steams. The most cost effective and slickest alternative is to buy the sonos player. That's what I finna do when my house finally gets done.
Instead of trying to sync music across multiple rooms (which can be a hassle -- if not a near impossibility), why not simply wire the speakers to every room and install a motion sensor attached to the speaker line. The music is always broadcasting, but only if there is movement. The bonus to this method, is if someone is upstairs, and someone else is downstairs, both can listen to the music without worrying about latency. It also saves a bundle in hardware since all you need is a decent soundcard and some high-quality (if you want good sound) speakers.
1. Low Power FM Transmitter hooked to a central player, FM receivers elsewhere in the house. Check ebay for some cheap, stereo FM transmitters
2. Use a stream server on your network to "stream" your mp3's to the other players. This should be pretty close to real time synchronization.
3. Run speaker wire to each room from a central location
I've actually tried 1 & 3, they work great!
pim6sd
OMFG! Life is so hard!
Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
I have a related situation for which I'd love to hear you Slashdotters' input.
In these few months, I am going to be out-of-town for most days out of the month. My wife and I miss each other very much and we've gotten the old Unlimited-Talk-To-Each-Other-On-Your-Cellphone plan, etc. But one of our favourite activities is watching movies or TV shows together. We already know how to play them on the computer when we are at home together (got the ol' bigscreen and hi-fi hooked up to my Linux box), but it would be great if we could watch the show simultaneously even when I'm out of town.
I would have a computer with me, and my wife could play it on the home desktop. I envision a scheme where we would be on the phone with each other throughout the whole movie (who cares, it's an unlimited calling scheme). We wouldn't say much, but we'd be able to hear each other laugh, or gasp in surprise, etc. But the thing is, I want to be able to synchronize the movie. We enjoy watching thrillers where a delay of one second might spoil a plot surprise (e.g. my wife screams over the phone, "He's alive!"), so I hope to be able to make any delay unnoticeable.
How to do this?
The worst case would be that we both start the movie manually, and it will probably be out of sync by a few seconds (depending on how long it takes the player software to start up). The next step up might be to synchronize both computers to the same NTP server, and then set a cron job (or what's the one-time cron command called? "at", I think?) to start the movie at a specified time a few minutes into the future.
But is there some way to synchronize keypresses? So that, for example, if we have to pause the movie, both computers pause at the same point?
I thought of using VNC, but it tends to be slow outside the home LAN. If I wanted to pause a movie, I'd have to pause the local player, then switch to the VNC screen (and wait for it to redraw the remote screen), then hit the pause button (and wait for the remote computer to sense my keypress and stop). Reversing the order (pausing the remote player first, then the local) is slightly better but not by much.
This scenario is not quite the same as a the OP scenario, since the hookup spans different cities rather than just within the same home. It's also not the same as a streaming webcast, mainly because the bandwidth is not there for streaming video of this quality --nor is it necessary, since both computers already have the video content pre-loaded; it's just a matter of synchronizing the playback.
Any ideas?
404555974007725459910684486621289147856453481154 in hex is "You sank my Battleship?"
[GPG key in journal]
I have a system from these guys (http://www.russound.com/index.htm) in my house. Each room has its own set of built-in speakers, with a separate volume and source control too. I serve music via my computer (in the basement), and can skip from song to song in the living room (on the first floor) with an ATI remote wonder (works through walls.) I also have my main TV audio hooked into the system as well as the DVD/CD player. When the big game is on, I can turn it up in all the rooms.
A few ppl have already mentioned it, but I actually use it and it works wonderfully. I have a set of speakers upstairs, in the living room, on the patio, and in the downstairs den. I can run iTunes from any machine in the house and send the stream to any of these Airport Express-connected speakers. It's a fantastic solution that really works. Of course, you need to consider your network layout, but these small basestations are able to extend existing networks, and can do B and/or G. They also do printer sharing. The audio output can be either stereo analog or digital mini. Given the small footprint/multiple uses/low cost of these units, I wouldn't consider anything else.
just to clarify, I said "any" speaker, and should've said any/all. You can use as many speaker as you have hooked up, at the same time, in-sync.
Not to sound like Jerry Seinfeld, but who are these people? Who needs music piped into every room of their house available constantly? Who needs an ipod to get through the day at work?
Only the State obtains its revenue by coercion. - Murray Rothbard
I'll chime in on this too. I use two Airport Expresses, one in the basement and one in the living room. I can (and regularly do) have music playing from my desktop machine (PowerMac G5), living room, and basement all at the same time, all in sync. It works great, and as picking the alternate outputs is done with dropdown in iTunes, it's wonderfully easy to switch around where the music comes from.
And what is the deal with streaming music? You need music everywhere you go? Do you listen to music in the bathroom? etc. etc.
I always thought Kramer was the funniest anyway.
Get some sets of good wireless speakers. Use one transmitter and tune all the other speakers to it. Voila, you have the same music all through the house, no delays, no extra wiring, little expense.
You're probably not using a Mac or you'd already have an airport extreme...
If you're linux compatible you should check out mpg123 as it can take a playlist on standard in, and it can buffer n bytes of music. In the man page they suggest that a one meg buffer is about six seconds of delay, so that's one way to give yourself some tuneable delay...
mpg123 will also let you send the output in pcm or wav to standard out... and then you could make your own software based buffer before handing the music off to the sound card...
If you're using Windows, I guess we don't have much to say to one another...
Of course, if you don't want to run audio cables throughout your home, you could also consider sending the audio signal over the unused wire pairs that are in the ethernet cable. Unless you use gigabit ethernet, only two out of the four wire pairs in the UTP-cable are used. It's twisted pair, so it's reasonably immune to interference.
Avantslash: low-bandwidth mobile slashdot.
vlc (http://videolan.org) has a network sync feature, allowing you to synchronise playback on several computers.
Apple's iPod + iTunes + Airport Express covers all of your needs.
One iTunes installation streaming to several AirPort Express base stations (connectable via wifi or ethernet) provides just what you need, including synchronized output. I was really surprised when I discovered the output was synchronized, despite being streamed as data and decoded at the express device itself.
Furthermore, if you have several iPods it's trivial to synchronize them all with the same iTunes installation, in fact, it's kind of the entire point and reason behind the iPod's success isn't it?
It's not like the iPod is that great of a player, and people can quit pretending the scroll wheel was a good idea because it's not (my sore thumb joint...) but the software to manage the things, that's the golden feature right there.
I'm sorry to be the one that pimps Apple on this, but son... they've got you pegged.
I read the script, and I think it would help my character's motivation if he was on fire. -Bender
PulseAudio, which is a cross-platform audio server/proxy. Is supposed to have very good synchronization across different' sound cards and across the network. I havn't gotten to play with it much, but it might be the solution you are looking for. http://www.pulseaudio.org/
Put a MP3 player in your pocket, with the tunes you want, put some headphones on and the music will follow you around, magically, without phase or synchronization problems.
I have 4 Squeezebox III players all over the house. They can be synchronized. In fact the living room and kitchen players are permanently synchronized. Whenever I turn on the kitchen SB it starts playing what the living room SB is playing.
X.