<p>Did this at a party in college... like 7 years ago.  Used dell axims and a shoutcast server to keep all speakers in multiple apt party synched to dj.</p>
<div class="gmail_quote">On Oct 11, 2010 3:11 PM, "Jonathan Foote" <<a href="mailto:jtfoote@ieee.org">jtfoote@ieee.org</a>> wrote:<br type="attribution">> Neat idea. A good starting point might be Jeff Keyser's wifi radio<br>
> which looks like it has most of the functionality already and the code<br>> is open source. It runs on an surprisingly inexpensive (<$50) Asus<br>> router using open-wrt.<br>> <br>> <a href="http://mightyohm.com/blog/2008/10/building-a-wifi-radio-part-1-introduction/">http://mightyohm.com/blog/2008/10/building-a-wifi-radio-part-1-introduction/</a><br>
> <br>> On Mon, Oct 11, 2010 at 11:05 AM,<br>> <<a href="mailto:travis%2Bml-noisebridge@subspacefield.org">travis+ml-noisebridge@subspacefield.org</a>> wrote:<br>>> Joe went back to his home with two new NSS speakers.<br>
>><br>>> "Check this out", he said to his roommate Simplicio, plugging them in.<br>>><br>>> "Those are speakers?  Why are you plugging them in?  Where are the<br>>>  speaker cables?" said Simplicio.<br>
>><br>>> "I'm plugging them in because they each have an amplifier inside them.<br>>>  And that's the beauty of it; there's no speaker cables.  Audio gets to<br>>>  the speaker in digital form, so no analog loss, no expensive cables."<br>
>><br>>> "But how does the audio get there?"<br>>><br>>> "Well, built into the cabinet is a WiFi antenna, but as you can see,<br>>>  there's an ethernet jack that I'm plugging in now."<br>
>><br>>> "So... they get audio over the network?" said Simplicio.<br>>><br>>> "Right.  A central computer, like my Mythbuntu box driving the TV<br>>>  right now, can send it audio.  Wait a moment while I plug it into the<br>
>>  ethernet and I'll show you."<br>>><br>>> He plugged it into the network, and ran a command on his Mythbuntu<br>>> box.  It scanned the LAN, noticed the speakers, and acquired their<br>
>> profile.  This allowed the speakers to tell the computer about their<br>>> unique amplifier and speaker response curve.  This meant that if the<br>>> speaker was not smart enough to correct the input, the computer could<br>
>> do it.  It also told the computer whether it was capable of processing<br>>> OGG, MP3, OGG/FLAC, or simple WAV formats.<br>>><br>>> "Now the computer has found the new speakers.  I tell the computer<br>
>>  what role they play - left and right - based on their MAC address,<br>>>  which is printed on the top like a serial number.  And at this point,<br>>>  I could also tell them what the WPA2 keys were, so that I could disconnect<br>
>>  them from the ethernet.  Of course, I'd have to scan again if that were<br>>>  the case, so that it'd acquire their new IP.  But if one were so inclined,<br>>>  one could also statically map them to IPs in the WiFi router."<br>
>><br>>> "So what else can they do?"<br>>><br>>> "Well, there's no limit on the number of speakers in such a system.<br>>>  The web-based GUI here shows that I can drive multiple sets in multiple rooms<br>
>>  independently, or have them all play the same music.  In theory, I could<br>>>  add additional software that allowed the music to follow me from room to<br>>>  room, but I don't have the location gear needed to do that yet.<br>
>><br>>>  Also, the VOIP phone system hooks in, so when it rings, I hear a mild<br>>>  ring throughout the house.  Of course you can limit the ring to certain<br>>>  places, or for certain lines, if you have multiple numbers.  The tone<br>
>>  can also be customized to tell me who is calling, or it can read it<br>>>  out via text to speech.<br>>><br>>>  Further, there's a generalized response center hooked into it.<br>>>  Let me show you..."<br>
>><br>>> A mild "whoop" sound filled the room.<br>>><br>>> "That was me logging into my server.  I can also tell snort to send IDS<br>>>  alerts through the system."<br>>><br>
>> Simplicio: "Wow.  Hey, don't response curves change over time?"<br>>><br>>> "Well yes, if you're worried about that, you can plug a microphone in,<br>>>  run it out in front of the speaker, and the system can recalibrate itself."<br>
>><br>>> Simplicio: "Hmm, and so how does it all work on the network?"<br>>><br>>> "It's simple IP traffic; in theory, these speakers could be remote, and<br>>>  I could be sending sound to a remote office, for example.  Or my mail client,<br>
>>  when it receives a new email from my boss to me, could ping me while I'm<br>>>  here."<br>>><br>>> Prior art:<br>>> <a href="http://hints.macworld.com/article.php?story=20060602065532384">http://hints.macworld.com/article.php?story=20060602065532384</a><br>
>><br>>> Possible problems:<br>>> Time synchronization between speakers<br>>><br>>> Possible solutions<br>>> Crossover ethernet - no intermediate switches<br>>> NTP and local clock<br>
>> Subnet-directed broadcasts<br>>><br>>> Challenges:<br>>> Can someone make a generic module which will plug together with<br>>>  any speaker and power amp combo?  Would be nice to have a box<br>
>>  which is "portable".<br>>> Can it be done with an arduino?<br>>> --<br>>> I find your ideas intriguing and would like to subscribe to your newsletter.<br>>> My emails do not have attachments; it's a digital signature that your mail<br>
>> program doesn't understand. | <a href="http://www.subspacefield.org/~travis/">http://www.subspacefield.org/~travis/</a><br>>> If you are a spammer, please email <a href="mailto:john@subspacefield.org">john@subspacefield.org</a> to get blacklisted.<br>
>><br>>> _______________________________________________<br>>> Noisebridge-discuss mailing list<br>>> <a href="mailto:Noisebridge-discuss@lists.noisebridge.net">Noisebridge-discuss@lists.noisebridge.net</a><br>
>> <a href="https://www.noisebridge.net/mailman/listinfo/noisebridge-discuss">https://www.noisebridge.net/mailman/listinfo/noisebridge-discuss</a><br>>><br>>><br>> _______________________________________________<br>
> Noisebridge-discuss mailing list<br>> <a href="mailto:Noisebridge-discuss@lists.noisebridge.net">Noisebridge-discuss@lists.noisebridge.net</a><br>> <a href="https://www.noisebridge.net/mailman/listinfo/noisebridge-discuss">https://www.noisebridge.net/mailman/listinfo/noisebridge-discuss</a><br>
</div>