… though it may not be the best of ideas.
As described a few barks back, in my work at NMC we’ve been exploring some audio technologies, primarily to bring live audio into our Second Life Campus. Because the audio channel in SecondLife that is tied to the “land” needs to be an MP3 url, you can either attach a fixed URl for a song/podcast you want everyone to hear, or have a live stream come in from a server.
What may not be widely known, is that there are free / low cast software programs you can install on a computer that allow you to “broadcast” audio from your computer out to the net. The limiting factor, before you start asking for URLs, is that very, very few of us have the connectivity that could reliably support more than 3-4 individual streams, so this way out in the long tail of the internet audio spectrum.
What we are doing involves connecting audio sources (teleconference calls, Skype conference calls, pre-recorded audio, spoken word) into a computer, using said software to send one stream to a content delivery network (someone we pay that provides the connectivity to many connected listeners). I’ll outline some of the pieces below, starting first with a diagram hastily tossed together in Gliffy (love the tool love the tool):
Where the audio comes from hinges on what is available to connect into the “publishing computer” and secondarily to the software one uses to broadcast. One of the more popular solutions on the PC side is ShoutCast, which is a plug-in that works with WinAmp, an audio player software. The ShoutCast DSP plugin is what connects a stream coming from your PC to a MP3 streaming service (the latter is something you either pay for or have some generous friends who can provide the service).
It takes a small bit of work, nothing to onerous, to get Shoutcast set up to send audio content from a PC. It’s easy to assemble audio that already resides on the PC, or you can hook the source into your sound card, so in theory you might be able to be broadcasting a microphone, an electric guitar, etc. For our recent Artists on the Green event, we had a multi-source of audio as we had panelists in the US calling into a telephone conference bridge plus a few in the U.K. who called into my colleague Rachel via Skype, and she did a SkypeOut call to bring those voices into the conference bridge.
But the next trick is getting the phone audio to the PC– a microphone into a phone speaker is the low end way to go; but we had a device, the Jk Audio telephone Patch, that did a smoother transfer of the telephone audio into a PC, and from the PC out to out content streaming see below).
The thing I was not able to figure out on a PC is how we could route the audio from a desktop application, say Skype, or something in a web browserm and pip that as input to WinAmp/Shoutcast.
However, on the Mac side of the house, there is a fabulous shareware app ($40) from Rouge Amoeba called Nice Cast that provides the same function as ShoutCast on a PC, but with a bit more under its easy to use hood. Out of the box, NiceCast has a built in internal server that could, in theory, let you stream audio from a Mac to anyone who knows the address (it generates a URl that can be fed into iTunes… again, the limit being that on broadband you might be able to support up to 4 streams before the bandwidth demands are too much. I have heard, some use it to say, stream their iTunes collection from home while they travel (not me, no I do not do that).
But NiceCast also has an easy to use Server window, that allows you to enter the coordinates to connect the audio to a streaming service. But what’s is Ã¼ber cool about NiceCast, is that you can select any application running, and send the audio output from that app to the net, be it iTunes, a web browser (I did some tests pumping the audio from a Breeze session), heck even Garage Band. Or you can have it send all of the audio from the system sound; so you could get someone on SKype or iChat A/V and broadcast you talking to them. It is drop dead easy to to:
So once I pick a source, so a playlist in iTunes, I can be broadcasting just be clicking the “Start Broadcasting” button:
And NiceCast has this Effects window, that also allows you to build up a whole complex series of audio mixers and sound effects (I’ve not figured out much here, but it is impressive):
Oh, and NiceCast can also be set to record an audio archive of whatever you broadcast. It’s an amazing little app and has some well done documentation.
So this is all to get us to a point where we can gather audio into a computer, channel it through some software, and send it out…. to a streaming service or content network. We’ve been work with Limelight Networks (they handle the audio netcasting for ITConversations, among others, plus they are even local here in Phoenix). We have a service set up with them that uses their high speed network to serve all of our static audio and video content (so it hits their network, not our servers, when you request a 200 Mb video), as well as a live audio streaming service.
So Limelight provides us a username, password, and server to send our audio streams to. We get a cryptic looking URL we can use to plug into iTunes to listen to a live stream, or attach in Second Life as an MP3 stream URL. To make it easier for people to connect, we embed this URL in a playlist file (a text files that simply lists URLs for MP3s or streams to play), so when we have a live event, we can push out a simpler URL (I would write one here, but you will click on it and hear nothing ;-)
I am just starting to poke around playlists, but they also provide a way to point a audio client (iTunes or Windows Media Player) to a specific static mp3 url. So we set up for our SecondLife project, what we call “Radio KNMC” which will point to some recent audio content we captured- so now if you go to http://www.nmc.org/sl/nmc.pls, you will hear the panel session from our August 12 art event, but later we can switch that URl to point elsewhere. Think of it as a desktop shortcut.
Back o August 12, we had almost 40 connections to the stream (all of these were individual avatars in Second Life who tuned in to the audio channel- each avatar is like a separate computer accessing a stream).
So now, we have audio into one computer, pushing it to Limelight, which than lots of folks can tap into to hear live or pre-recorded audio, and one of those clients can be our Second Life instance, where in world, this becomes available on the music channel.
And this gives us the ability to do almost any kind of live audio content streamed via LimeLight, not just going to Second Life.
It’s a fair number of steps, but at the 10,000 foot level, I am rather amazed that I can be my own radio station without too much in special equipment.