By now you've heard about the changes for TV. All signals will be in digital instead of analog. There is an attempt to do the same thing in radio with HD radio. An FM radio station can fit 3 HD radio signals at the high end of their frequency. Supposedly HD radio will give AM stations FM quality and allow each FM subchannel to be CD quality. I don't know all the technical aspects of it. I do know there are some disputes over the quality and some people feel the signals aren't as clean and clear as claimed.
My interest in HD radio is because I'm working on a carputer, which is, as you may have guessed, a computer to go in my car. The one function I could not do with a carputer was to control a radio. I could use it to play a harddrive full of my own music, but I could not find any radio that the computer could control. I read about Radio Shark, but about half the reviews on that product said the reception was terrible.
HD radios, though, not only work by receiving a digital signal, but it looks like a number of them also communicate with controllers using a digital signal. I found a conversion cable at http://rush2112.net/ by someone who has written softare for Windows that can control some HD and satellite radios through the serial port.
But then again, I don't use Windows, as anyone who knows me will tell you.
I also found there was a demand to be able to use these radios with Linux based carputers. I looked around and found out nobody had written any source code for this, so guess who stuck his foot in his mouth and volunteered?
So, a few weeks later, here it is.
HD Radio Controller
The HD Radio Controller is a C++ library of routines and a sample command line program that will let anyone using Linux control a HD radio from their computer, as long as it uses the same protocols as I used in this program. (Thanks to Paul Cotter for providing the protocols!)
I plan, in the future, to add to it by making it have all the functions of a DVR for radio. While I'm not going to write software myself to capture the audio, if you hook one of these up to a serial port (or a USB port with a USB->RS232C adaptor) and hook the sound outputs on the radio to the inputs on your sound card, you could use any program of your own choosing to rip the incoming sound from the radio and store it on your hard drive in the format of your choice.
For now, it's one command line program to control the radio and a library of routines that only a C++ programmer will be interested in using.
For those intersted in using it, I have API docs (done by Doxygen) and a few text files explaining the basics of the library. It's licensed under GPL, V. 2.0.
Download It Here
Download the HD Radio Controller source code here.