HIP Radio

What is HIP Radio ?

HIP Radio is the first and only MPEG radio station in the world. (That we know of, at least.) It can be received by anyone on the HIP network, provided you have a halfway decent OS, and a soundcard, of course. HIP Radio will be online for the duration of HIP'97.

How to tune in ?

First, get the source for the network client here. Precompiled versions are available for Solaris,Linux-x86 and Linux-Alpha. If you've got another compiled version you want to share, please let us know. A Perl version is also available.

Then, compile it using your favorite compiler, like this:

gcc -O2 -o hipclient hipclient.c

We're almost ready now. For decoding, you need an MPEG player, like mpg123. If you already have a decoder, check if it's able to read from 'stdin', or standard input. If it is, the command to listen to HIP Radio will look like this:

hipclient | mpg123 -y -

Try playing a little with the options of your MPEG player. For your system, it might be necessary to add buffering for audio output ('-b' option of mpg123), and you'll almost certainly need an option to recover from 'strange' frames ('-y' option of mpg123), because errors can and will occur. And you don't want to see your radio crashed.

MS Windows, Windows 95, Windows NT users:

You are out of luck, at the moment. Nobody has yet bothered to make the software you need for listening available for Windows. If you want to do the port, or have already done it, please let us know. There's a cruel justice in this :)

How does it work ?

HIP Radio uses an UDP broadcast to transmit MPEG I Layer 3 audio frames, more commonly known as mp3 files.

These frames are transmitted in the same pace your mp3 decoder reads them while playing. In fact, the server itself is a somewhat modified player. This way, the network load will remain completely acceptable (we've never seen it causing traffic over 15.5kb/sec), and no big buffers are needed.

Who do I blame for this cruft ?

HIP Radio is based on an idea by Remco van Mook, and was coded by Koos van den Hout and Remco van Mook. For the moment, we have no other plans with this after HIP. Maybe, in time, we will release a package that includes both a client and a server. We hardly dare to look at the code ourselves at the moment, so releasing it to the public probably wouldn't be a Good Idea.

Now that the project is over a year old, we decided to publish the server code anyway: hipradio-970807.tar.gz

Somewhere in time, in the preliminary stages of Hal2001 we dug up this project and converted it to use multicast to transmit MP3 over networks. We never got around to actually implementing it, but the code (modified mpg123 with halclient.c) is available as tarball: halradio2001.tar.gz


This page by Remco van Mook, 1997. Please send any comments/remarks/kudos to: remco@sateh.com