I’ve just finished building a Silent Disco over WiFi system for use in the Christchurch Body Festival – Silent Disco, giving guests the opportunity of using their own smartphone for receiving the audio signal rather than fragile (yet expensive) speciality headphones. In the process I have figured out a few things about WiFi, audio streaming and Linux in general
There’s no real way around it. WiFi is a two way communication, and even without encryption on less complex standards, there are still the overheads of introductory handshakes and assigning IP addresses. To handle a drop of connection less than a second, a buffer of several seconds is needed. Several seconds is an eternity in the audio world.
Literally. Rock music is playing in my world thanks to jQuery and jPlayer. Receiving audio streams on a modern device (iOS/Android smartphones, tablets, netbooks, laptops, computers) with an up-to-date browser wasn’t meant to be this easy. Reference the stream, $(“thePlayerObject”).jPlayer(“play”); and walk away. Yes, it is “play and walk away”. For multi-device happiness, throw a few various formats of streams at the user, and let jPlayer pick the most suitable one for the device.
No longer the buggy unfamiliar temperamental newborn child, PulseAudio on Linux has matured to the point of being able to do some really fun things. Sure, it’s not quite as versatile as JACK, but for shipping on a plain vanilla Long Term Support install of Ubuntu 12.04 it is vastly more capable than what 99% of users will throw at it. On the main SilentDisco computer that was responsible for capturing audio, converting it so a stream, hosting the webplayer front end and running the WiFi, the input side of the audio “card” was handled separately from the output side. This means I could record/stream a feed, and on the same computer open a browser and play the outputted stream – not a direct hardware mix of the incoming audio but instead the whole packaged product sans WiFi transmission in-between.
There is not a laptop out there that compares to a ThinkPad. Some Mac users might raise points about how much shiny-er and unibody-er their units are, but putting aesthetic form over functionality when comparing workhorse tools is a severely flawed argument. ThinkPads a reliable, sturdy, hard working. The “nipple” allows use of a pointing device without moving your hands from the home row every single time, and the left/right “mouse” buttons are reachable from home row too. The hardware has great support across all OSes and is real – not emulated in software as too many modems, soundcards, WiFis and even graphics are.
The only thing worse for signal:noise ratio of “me too i needz halps for free plz” posts compared to the number of knowledgeable developers is PHP Forum software. I get that copying error messages into a forum post somewhere is often a good way to get solutions without spending much effort having to learn the fundamentals, but after a while there are so many many many posts that the fundamentals themselves become hard to find, compounding the problem. Once the trend begins, few threads are marked as Closed or Solved because people keep hitting their problem with the copypastehammer until it’s fixed and aren’t even sure which thread it was that had the answer, or if that thread alone was the solution. Queue the grumpy old man rant about Eternal September…..