1. Overview.

Here's a few remarks about Internet radio in general and descriptions of some related FOSS programs.

This document was written originally for a Mac OS X user but these points are applicable to Linux and MS-Windows as well as Mac OS X.

Note: If you're interested in the subject and notice inaccuracies, drop me a line.

2. Traditional radio stations.

These days, many traditional radio stations broadcast both over the air (as they've done since around 1920) and through the Internet.

No special hardware is needed to receive Internet radio broadcasts; it's handled entirely in software.

Additionally, there are usually no geographic limitations for broadcasts of this type. For license-related reasons, some stations limit reception to specific countries or areas. However, as a rule, anybody with an Internet connection that's fast enough can listen to a variety of broadcasts from anywhere in the world.

Note: Depending on the nature of a broadcast, Internet radio may work fine even with slow connections.

And, in general, there are no fees required. In most cases, it's as legal to listen to Internet radio for free as it is to listen to “over the air” radio for free.

3. Internet stations and podcasts.

There are very few barriers to entry into Internet radio broadcasting aside from issues related to the licensing of content. So, numerous Internet-only radio stations have started to appear.

The current state of affairs, where many stations make dual broadcasts, may be temporary. “Over the air” broadcasts are useful in some respects, so they'll continue to exist, but it's likely that they'll dwindle in number and Internet-only broadcasts will eventually dominate the radio world.

In some cases, Internet-only stations operate much like “over the air” stations; they broadcast audio continuously and users simply tune in to listen.

In other cases, individual audio programs are provided as downloadable files. Users download the files and listen to them “offline” using ordinary computer media software or a pocket device such as an iPod. In this case, the process as a whole is called “podcasting” and individual radio programs are referred to as “podcasts.”

Some radio stations (both traditional stations and Internet-only) do both broadcasts and podcasts.

Internet TV is a separate subject, but it should be noted that the podcast-style distribution of TV programs is known as “vodcasting” and TV programs distributed this way are referred to as “vodcasts”.

One interesting development related to Internet-only broadcasts (or podcasts) is an associated increase in content (music, news, discussions, etc.) that is distributed under open licenses. In short, a growing amount of content is free at every level.

Open licenses have significant implications for traditional content providers and the associated business models. In the long run, the companies involved may not be able to compete with free content.

4. Internet Radio software.

While working on a Linux distro, I've looked at various FOSS packages that can play Internet radio programs (either broadcasts or podcasts). I'll discuss a few of these packages below.

4.1. VLC.

4.1.1. VLC is the software I'd recommend to most people interested in Internet radio.

VLC supports radio broadcasts, audio podcasts, and video vodcasts. Additionally, the program is both free and well-supported. It runs under Linux, MS-Windows, and Mac OS X.

For the Linux version, see the appropriate distro repository. For an MS-Windows version, click here. The Mac OS X version is located here.

4.1.2. Here's a screenshot of Linux VLC tuned to a traditional radio station named WTOP-FM:


VLC playing a radio broadcast

To make this work, I passed the radio station's broadcast link to VLC on the Linux command line. People accustomed to GUI programs would proceed as follows:

Determine the appropriate broadcast link. Run VLC. Do Media -> Open Network Stream. Enter (or paste) the link into the box that pops up.

4.1.3. Here's a screenshot of VLC displaying a list of podcasts distributed by the same radio station (WTOP-FM):


VLC showing a podcast directory

To make this work, I added the radio station's podcast link to the appropriate place in VLC. To do this, I used the following procedure:

Determine appropriate podcast link. Run VLC. Do View -> Playlist. On the left side, under Media Browser, look for Internet. Open that and look for Podcasts. Click on the “plus” sign to the right of Podcasts. Enter (or paste) the link in the box that pops up.

4.1.4. For the preceding examples, the broadcast link used was:


and the podcast link used was:


These links were valid as of November 2011 but they may have broken since then.

4.2. GPodder.

GPodder is a multimedia program that's designed specifically to download, organize, and play podcasts and vodcasts. It runs under Linux, MS-Windows, Mac OS X, and on some portable devices.

Here's a screenshot of the program showing the same WTOP-FM podcast list that was used in the preceding VLC examples:


GPodder showing a podcast list

The podcast list looks different here because the order is reversed relative to the preceding example.

For more information about GPodder, click here.

4.3. Rhythmbox.

Rhythmbox is a promising Linux multimedia player that supports both broadcasts and podcasts. The program is intended to be similar to iTunes® and supports iPods to some extent.

However, Rhythmbox isn't reliable at this time. In particular, it doesn't understand some links that VLC is able to handle without difficulties.

For more information about the program, visit this link. Here's a screenshot:


Typical Rhythmbox screen

4.4. Streamtuner.

Streamtuner is obsolete. However, it's of interest from a historical perspective. This was a Linux program of the early 2000s that was able to play a wide range of broadcasts, accessed both through catalogs sorted by category and through a search box.

Here's a screenshot:


Typical Streamtuner screen

Around 2004, the project fell victim to a common problem with FOSS software: the project was abandoned (or “orphaned”) by its original developers.

The problem with this was that websites change over time. So programs related to websites, including FOSS radio programs, need to be maintained.

Unfortunately, Streamtuner didn't reach a point that I think of as “critical mass” before it was orphaned. Critical mass, for a FOSS project, is the point where a reasonable number of people outside the core group of developers are interested in working on the project.

An orphaned FOSS project that hasn't reached critical mass has a good chance of becoming obsolete and that's what eventually happened to Streamtuner.

4.5. Streamtuner2.

Streamtuner2 is worth mentioning because of its connection to Streamtuner.

After Streamtuner was abandoned, a group of developers started a separate project named Streamtuner2 that was intended to replace the older program.

This sounded promising. However, as of March 2012, there hadn't been a release for about 18 months and, more importantly, there were no signs of active development. The Streamtuner2 project seemed to be headed for orphan status. If the situation has changed since then, the program may be worth a look.

5. Rhythmbox utility script.

This section is for developers.

Release 2.95 of Rhythmbox was an improvement over previous versions due to a switch from Gtk2 libraries to Gtk3. But the upstream developers removed a useful feature: the ability to start Xorg with the program loaded in the system tray.

Subsequently, a downstream developer wrote a “tray icon” add-on for Rhythmbox that could be used to replace the system-tray startup feature. However, the add-on didn't work correctly for me (possibly due to incompatibilities with newer releases of the Gtk+ libraries).

As an alternative to the original system-tray feature and the tray-icon add-on, I wrote a Perl script named rhythmbox-start-minimized that implements a similar feature.

The script can be used to launch Rhythmbox in minimized mode (as opposed to tray mode) when Xorg starts up. The script can also be used after Xorg startup to re-launch and/or re-minimize the program.

In theory, there are other ways to start Rhythmbox in minimized mode. In practice, the script was the only approach that worked well for me. So I'll share the code here.

Usage is simple. Add the following command at the appropriate place in a given user's $HOME/.xinitrc file:

rhythmbox-start-minimized  --run  &

This should take care of the initial “launch and minimize” step. The same command may be used at a later point if re-launch and/or re-minimize steps are needed.

To browse an HTML version of the source code, click here. To download a ZIP file containing the script, click here instead.

There are three external dependencies, aside from Perl and Rhythmbox; CLI programs named ps, wmctrl, and xwit:

  1. ps is included in almost all Linux distros.

  2. wmctrl should be available in most major Linux repositories.

  3. xwit can be built using the source tarball at this link. Note: The tarball contains the sources for xwit 3.4 with some Debian patches applied.

If any of the dependencies are missing, the script will have no effect on Rhythmbox.

Hosting provided by Zymic.

For acknowledgments related to CSS and other code used, click here.

Linked or embedded works (software, books, articles, etc.) are presented under their own licenses.

Other unique content on this page, excluding screenshots, is distributed under the following license: C.C. Attribution NonCommercial ShareAlike 3.0. In some cases, screenshots are distributed under the same license. In other cases, the associated program's license applies.

image Valid XHTML 1.0