[Noisebridge-discuss] a networked sound system idea

Moxie Marlinspike moxie at thoughtcrime.org
Mon Oct 11 18:36:31 UTC 2010


We used to have something similar running at the IDS.  We had about a
half dozen wireless APs with USB ports on them left over from another
project, so we just got some USB sound cards (~$1 these days), put
OpenWRT on the APs, ran ESD on them, and plugged in speakers.

We then put one of them in every room at the institute, and from any
machine there you could play music in whatever room you liked.  Had them
wired up to the doorbell too.

I think there are commercial solutions which approximate what you're
talking about, too, but they're super expensive.

- moxie

-- 
http://www.thoughtcrime.org

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



More information about the Noisebridge-discuss mailing list