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