Thursday, March 10, 2011

Making of an Internet Radio Station

Introduction

A friend of mine who has been studying journalism asked me to create an internet radio station to complement his web site where he publishes his own and fellow students' articles. The radio station would be set up in his basement and would provide streaming radio 24/7. From time to time he would do live shows with interesting people invited to the studio and listeners calling the show for discussion.

My friend hosting a show

In this post I would like to describe all the various sound equipment, computer hardware and software elements, online services used and other tasks involved making this station fully functional from scratch.

This is not an afternoon project. Although putting together and connecting the actual hardware pieces could be done in a day or so, the planning (before it) and configuration (after it) certainly takes considerably longer.

Overview - This is where it all happens!

If you want to check out the results you can listen to the radio or visit the web site. He does live shows (almost) every Saturday and Sunday evening at around 8-10PM (Athens time). The rest of the time it's pure music.

The following will (hopefully) give you a good overview of what it takes to make a streaming radio station on an abstract level only. If I get enough requests in the comments I will post a more hands-on article on the details so that the not-so-technical-wanna-be-radio-broadcasters can also build a station from scratch.

The main mixer

Requirements

The following requirements were originally laid down:
  • Requirements for live shows
    • Ability to have a discussion with the host and up to 2 guests.
    • Ability to play songs from a variety of sources, e.g. CD player, vinyls, mp3 files, etc.
    • Ability to have a conversation on-air with a caller from a telephone line.
    • Ability to have a conversation on-air with a caller from an instant messaging application.
  • Requirements for automation
    • There should be some degree of automation in terms of music playback. Most of the time the radio station would be playing music. When there is no live show going on the station should not need any user interaction. It can be left for days without having to worry about it.
    • In case of a power break or internet connectivity problem the station should not stop broadcasting.
  • Generic requirements
    • In the initial period the station should be able to serve 100 listeners simultaneously, but later on it should be easy to scale up to more
    • Sound quality of the broadcast at the end listeners should be very good (stereo, 128kbs)
    • All the hardware and software components should be easily sourceable, i.e. no custom made or in any way unique parts should be used, so that if something breaks down it should be easy and fast to get a replacement.
    • The host (my friend in most of the time) should not have to fiddle with tiny controls with a mouse on a computer screen, but use real physical objects (controllers) to change the properties (e.g. mix the different sources) of the broadcast.
With all the switches, knobs and buttons and the accompanying software piece the DJ can really go crazy!

Sound hardware

Some of the equipment my friend had already had since creating a radio station has always been his dream and through years he managed to put his hand on some notable recording studio equipment.

On the hardware level the following sound sources are available to mix and broadcast:
  • 3 professional grade microphones (host and 2 guests)
  • computer with music automation software
  • 2 disc professional grade CD player
  • turntable
  • computer with jingles
  • computer with Skype or other instant messaging system
  • phone to sound converter
  • headsets for the host and the guests
  • any other future or temporary external sound sources will be connected to the external professional grade mixer


Head unit of a studio double CD player...

... and the actual player (at the top).
The bottom unit is a double CD recorder to record the live shows on the spot.
Both units are hidden under the desk.

Computers

Although, in theory, All the tasks required could be accomplished with a single PC with appropriate software installed we decided to use two PCs. The reasons include:
  • Easier to operate two separate systems for the host (my friend is not a computer guru, and is not comfortable with having many windows/programs open at a time and having to switch quickly between them).
  • In case of hardware failure on one computer we have a backup one which can quickly replace the faulty one minimizing downtime.
  • Many smaller configuration/software/practicality issues.
Note that the computers in this setup are of quite high specifications (8 cores, 8GB RAM, etc.). For the current state of the station this is not needed, in fact, way overkill. However, we decided to spend a bit more money on the hardware now rather than upgrading or adding new hardware as we find out new features are needed. For someone who just wants basic features an average computer with one or two sound cards is perfect. If one wants to edit jingles, shows, advertisements having a powerful computer can shorten production time of computation heavy tasks, like conversion between file formats, editing sound files, etc.

I personally picked all the components for both PCs and built them myself. I usually avoid buying a ready-made computer. This way I can make sure I get the parts I want and nothing else. It also works out a lot cheaper.

External services used

Since my friend's internet connection is not fast enough for many listeners, we had to use a 3rd party streaming service provider. After looking at and trying a number of them we finally settled with ShoutcastStreaming.us. We've been using them for a while now and all seem OK. According to my experiences so far, their customer service is very fast and helpful.

5+5 channel mixer

Hardware configuration

As I mentioned earlier, most of the time the station broadcasts music. This is accomplished by PC #1. This PC runs the automation software as well as the final mixing and broadcasting features (more details will follow on this later on).

The heart of all operations: a PC running Windows 7 with its UPS sitting on top
This PC has two sound cards: one that is integrated in the motherboard and an extra one. The automation is played back on one of the cards, and the output of that card goes to the external mixer. The output of the mixer is then fed back into the other sound card. The output of this latter sound card can be heard in the speakers locally and is also pushed to the broadcast server.

PC #2 has a number of roles:
  • It is used to create the playlist that the automation software on PC #1 can use.
  • Any VoIP callers calling the station call this PC. This way the ring tone cannot be heard in the stream.
  • Jingles and any pre-recorded and prepared audio files are created here.
The output of PC #2 is fed into the standalone mixer.

The whole setup is protected by a UPS system - when the power goes down the broadcasting PC shuts down. As soon as the streaming server notices there is no broadcast from our computer it automatically switches to a pre-defined and pre-uploaded set of songs, so the listeners are not left with an error. When the power is back the broadcasting computer starts and resumes the playlist where it left it off. When the streaming server notices that there is broadcast from our computer again it automatically switches back to it.
The whole process is automated, requires absolutely no user interaction.

Software

Both PCs run the 64 bit version of Windows 7 Professional. The various bits and pieces attached to the PCs were selected to work well with this operating system.

Deciding what music software package to use was not an easy task: There are many similar packages out there, but they all seem to have their shortcomings. Eventually we settled by a set of applications by StationPlaylist. The package we purchased consists of the following member applications:
  • StationPlaylist Studio: on-air broadcast automation software
  • StationPlaylist Creator: music scheduler software for creating playlist for the Studio
  • StationPlaylist Streamer: radio stream encoder
The licensing terms of this package allows installation of each bit of it on up to two PCs, which is ideal for our scenario.

Skype was chosen as our instant messaging application as it seems most our listeners have that.

Budget

There are two types of costs involved in making this radio station:
  • Once off costs: The current setup is around 5000 euro. This includes all the hardware and software components. This, however, doesn't mean that one couldn't make a streaming radio station with a smaller budget. The bulk of this amount was spent on special studio equipment which are pricey. If you are on a tighter budget you can still make a decent setup that has standard consumer players/mixers in it, or - if you want to make it on a shoestring - you can get by with a single PC of average specifications for around 500 euro. Surely, it will not have the same functionality or user friendliness as this one, but it will work.
  • Recurring charges: Streaming server rental, internet connection, power bill. These are all small amounts, but they can add up on the long term. One thing I noticed is that if you pay for a longer period of time of streaming you can get a significant amount of discount.

Conclusion

Although, the setup is pretty straightforward, a certain amount of thinking must be done upfront, mostly about practicalities, e.g. how many sound sources does one want, what kind and length of cables to get, physical arrangement of the various hardware elements, etc.

Should you decide to build your own radio station or you have already built one I would love to hear from it in the comments below!

Also, if you have any questions or suggestions for improvement, please drop me a line here in the comments.