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.

32 Comments

  1. I like > 90% of the setup – nice job. However, I don't think I'd pay for a dedicated app (especially with a monthly fee) to build the unattended/automated stream since it's pretty easy to set up a playlist in something like WinAmp to have station IDs and PSAs at certain intervals (many college radio stations have such a solution). This is all assuming you have your music content local and don't pull your format from another stream. 🙂

  2. @Anonymous: Licensing of the music is not the scope of this article. Of course, each piece broadcast has to be properly licensed, but this varies from country to country. In this particular case my friend is dealing with this issue, I only participate in the technical part.

  3. @Mr.Non-Descript: Just to clarify there is no monthly fee for the application that creates the playlist, just the purchase price. Second, you are right in that there are other (even free) applications that would do the job, but after trying many of them – my friend was testing them for months – he found this solution the most comfortable. This might change in the future, of course. And yes, we have the content locally.
    Thanks for your input!

  4. Wow..this was exactly what i was looking for..i currently run http://www.tm101radio.com but currently all we have is music 24/7 and I have been getting alot of request from listeners to do a show on the AIR so I have been racking my brain to come up with a setup and this is a great starting point for me…I cant thank u enough for this..by the way I was just wondering if you can clear up the whole Phone Call portion of the station…I see you have skype but you also mention a phone to sound converter..Can you elaborate on how this works??

    AGAIN THANK YOU SO MUCH …

  5. Zer0Nu11

    Awesome article. I was considering starting an internet radio station. How about a list of the hardware components that you use such as the mixer, CDs, and so forth? That would be great. Thank you!

  6. @Eliment: I'm glad you find this article useful. To be able to mix in the callers from a real telephone (not voip) you need an adapter that goes between the phone line and the mixer (or sound input of your system). I experimented with some different options, including building my own phone line to audio adapter, but nothing seemed to work as well as a one dollar gadget I found on eBay. 🙂 You can also make use of an old voice modem (which is a modem of any data speed with voice capabilities – I can elaborate on this if you need), but I didn't have one at hand. If you have any further questions don't hesitate to ask me!

  7. @Zer0Nu11: There is a list of the hardware used in the article. Do you mean the exact model number for each item? I can look them up for you, but it is not important to have the same pieces for your station.

  8. For anyone interested check out Rivendell for Open Source Radio Automation. There are also a lot of freeware, abandoned and open source options.

    For Mixers look at Behringer or Tapscan. You can get them with USB interfaces to eliminate the need for need for extra soundcards.

    Behringer, Samson and Audio Technica make nice sounding low cost microphones.

    For phone coupling you can try a few things, although modding a Skype Phone, interfacing a Bluetooth adapter or modding a speaker phone are the low cost options.

    BSWUSA.com is a good source to see what is around there, although you can probably source the equipment from Ebay to save some money.

  9. @Chuck Reisinger: Thanks for the input! I just checked out Rivendell and it does sound something worth considering next time. Although it has to be mentioned it is Linux based.

    Having sound equipment that have USB does make life easier, I forgot to mention this in the article. Our mixer and the DJ console in fact have USB connection.

  10. Anonymous

    As a radio engineer working in a major market in the US, here's a run down of what we use here, we also stream on the web with this equipment. Just to compare vs. your setup:

    For audio editing / production Adobe audition is the gold standard. Protools is a distant second only because most of the production staff work with stereo projects. Having a second machine for production is a standard practice. Audacity is a decent piece of freeware also. Our editing machines are nothing special, HP intel duo core with 2gb ram, echo mia cards.
    http://www.bswusa.com/proditem.asp?item=MIAMIDI

    For microphones 90% of the time you would use an Electro voice RE20 / RE27 or a Shure sm7b. We like the sm7B because it has a built in wind screen / plosive preventer. They run about $400 each but are worth it.
    http://www.bswusa.com/proditem.asp?item=RE20PKG
    http://www.bswusa.com/proditem.asp?item=SM7B-PKG

    The only thing your setup is missing, unless you failed to show it in the photographs is processing for your microphones. It's a must have when working with vocals. We use symmetrix 528e 1ru line/mic processors. These have built in preamps, eq, and compressor circuits which level out your mics so it doesn't distort when you go live. You could also get away with a dbx 266xl (stereo after the mixer)
    http://www.bswusa.com/proditem.asp?item=528E

    Also, you will want to normalize all of the audio you playback on your stream so it's at one constant level. Most audio software will do this with a quick plugin, but this is to ensure that your listeners don't have to turn their volume up/down depending on what songs are playing.

    Last couple of things, a decent freeware automation system is campcaster which is linux based and pretty heavy duty for free.

    For phone calls on a regular pots line you will need to invest in a phone hybrid, these range from $150 for a single line and go up from there. They level out your phone caller audio for broadcast.

  11. I've actually set up my own internet radio station in order to play the music of local artists in pittsburgh called Pittsburgh Local Underground Radio or plur.fm. I focused more on software than hardware, as I didn't have the requirement of people calling in. the preferred way for my listeners to interact with each other is through the chat that will soon be up on the website, as this allows them to express themselves without interrupting the music on the station. I have approximately weekly live shows streamed from anywhere in the world through a laptop I bring around and a soundcard to input, which then streams to my server running shoutcast transcoder, DNAS, and icecast.

    feel free to email me through the site if you'd like to talk about it more, I love chatting with others doing the same thing as I am

  12. @Anonymous: Thanks for the detailed comment!!!
    Unfortunately, Adobe Audition is way too expensive for my friend and he doesn't really produce content. For minor tasks he uses Audacity and found it very useful.
    Out microphones go directly to the mixer which has 2 input specifically for studio microphones. I played around with them and I just love their sound.
    Thanks again for your input – I am sorry about the delay for it to get published, for some reason, Google thinks it's spam. I fixed this now.

  13. @Zehn: Your post was also considered as spam – I apologize for it. I just found and restored it.
    Can you please elaborate on how you manage to remotely switch from automation to live, remote show? (Without remotely logging on to your server, I assume, otherwise it's not difficult 🙂 ) This seems like an interesting feature I might add to our station too.

  14. Very nice I have a similar setup but the only difference I used 2 Linux based pc's instead of Windows 7. both of them basically work the same one running Skype while the other broadcasts the audio from the mixer> I would love to show you and have you come and listen to the quality of this system I have setup, and even better all of the software was totally free so this might be something you and your friend might be interested in. Send me an email and I would be more than happy to give you a very easy setup that even your friend could set up if he needed to under extreme circumstances. Come listen to it at http://blade1.sytes.net:8081 or at http://www.crashradiowaco.com click on the Center player.

    Happy DJing

  15. Anonymous

    hi
    thanks very much very technical but explanatory and understanable.i have a similar project to work on actually my first time.i was a bit shaken but now with these insightful tutorial and vey confident once again thanks for your good work
    reuben.

  16. reuben

    hi vitya nice piece very helpful. i am a wed designer i have a similar project to work on, i will grateful you can send me your mail address for some advices(any other person interested to with some information is welcome and will be much appreciated

  17. Vitya, You are THE MAN! 😉 After numerous discussions with "those who know" and reading various posts on the subject YOU have finallly explained it in a way I can understand. My requirements are very similar to your friends, so this article will be extremely helpful as I finish my station.

    Thanks again and if you are ever in Arizona USA please let me know. I wish you were here NOW so I could hire you to help me! 😉

    Oh, I am a lifelong broadcaster (air talent and program director) so if you have programming questions shoot me a note.

    Bobby Rich
    (Bobby@) BobbyRich.com
    facebook.com/bobby.rich
    BobbysB-100.com

  18. @Bobby Rich:
    Sorry about the delay in replying – I was out of town, then Google was broken down for a couple of days.

    I'm glad you found this article useful.
    I'll let you know if/when I will go to Arizona!
    Although, I'm half a globe away, I can still help you if you want through e-mail/skype etc. if you like.
    Just send me a privat mail (info@viktak.com) to start.

  19. TimW

    Hello Vitya,

    First of all my compliments for your article, very detailed !

    I am curious though about an explanation of a setup with only one pc. I'm planning on becoming a DJ on an internet station and I'm not expecting any live guests, so 1 mic will do for now.

    For the setup with 1 pc, I can only assume you'd need at least one extra external soundcard, additional to the built-in one. My idea for the set-up so far is having my pc connected to an external studio-mixer, with a pre-amped condenser microphone on one channel, music and jingles (through VirtualDJ for instance) in second channel and if possible skype on a third channel.

    My questions are:
    -How can you both broadcast and monitor the sound on 1 pc?
    -How would you integrate a skype-conversation through the mixer in the broadcast with only 1 pc, if this is even possible? And would the caller hear music and jingles?

    If you could describe how to hook this up I'd be very grateful, I would finally be able to start DJ'ing! Thanks in advance.

  20. @TimW: Thanks for your kind words.
    As I mention in the article it is possible to accomplish all the goals with a single PC.
    These days USB sound cards as cheap as a few bucks each (remember, you don't need anything fancy since you're streaming over the internet), so you can use as many as you like.
    To use the external mixer as the main mixer you need to output all the different channels from the PC to it. To do this you need as many sound card as channels.
    Then you need an extra card to receive the output of the main mixer.
    You can set up Windows (what you want to hear) and your streaming application (what you want to stream) in a way to listen to the same stream as the one that is broadcast to the streaming server. I think this answers the first one of your questions.
    Mixing Skype in is also easy, you can use the built-in Windows mixer for that. The only thing to watch out for is that you may want to redirect all the system sounds to a device you are not streaming to avoid the listeners hearing some Windows beeps here and there.

  21. Anonymous

    Hello Vitya,

    I enjoyed reading your post. I plan to built a online radio station as part of my study course. It will be streamed within my university network. Could you kindly guide on the technical aspects for building it + I plan to stream it from computer only. What softwares etc will be needed… + I don't have any knowledge about the audio equipments as u mentioned on ur post..
    Will be required?

  22. Software and hardware requirements depend on what features you would like to have. The minimum requirement is a basic computer with a built in sound card and a piece of software for streaming, it can be VLC. If you have specific questions I will try to answer them.

  23. Excellent advice, and well done! What I wouldn't give for that studio! Would you build it for a Klondike Bar? LOL…. Maybe you can simply tell me when when I open my mic, and have a tune playing at the same time I get echo! Can't seem to find a direct answer anywhere in the world!I use Win 7 on an HP Pavilion dual-core A4-3400, 6GB, with beats audio!

  24. I would build it for anyone! :-)))
    It's difficult to diagnose the problem you described without looking at(or rather listening to) the system. My first guess is that music is picked up by the mic, so its content can be heard again.

  25. Rat

    I have everything to build it just have one question. I have everything and a server rack with its own dedicated Ip and I want the whole thing on a dedicated server of my own. What is the best software to use?

  26. Hi Vitya,
    I just read your wonderful and very informative article and what you have done for your friend and outlined is exactly what I want to do in terms of setting up a small Internet jazz station. I'm all the way in Jamaica and would love your help in setting up something similar as I'm not technically minded myself. Continue the good work and I look forward to hearing from you. My email address is gw_jazz@hotmail.com just in case.
    Warm regards
    Gordon Wedderburn

  27. Hi There, i Use a software calld VAC (virtual Audio Cable) this along with sam broadcaster, and you are all set for an online station.
    Sam broadcaster has the streaming component, the mic component, and the playing and mixing of music too. And if you use Virtual Audio Cable, you can make youre skype come over youre mic so that you can have a guest on the air with you.

  28. Melani

    Hello, congratulations on a great project.
    I’m getting a compilation error:

    In file included from src/main.cpp:3:0:
    include/includes.h:48:29: fatal error: TimeChangeRules.h: No such file or directory

    What is the reason for this error ??
    Greetings

Leave a Reply to ElimentCancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.