I dug up an old radio and threw this together tonight. It's been done before, but the scripts out there seemed overly complex and didn't use alsa. Here's how I did it:

  • radiorecord is a shell script to record a given number of minutes from the radio to an ogg file.
  • crontab to schedule when to record shows

Of course, this assumes that the station doesn't move shows around and that the times are in sync. To do this really right, I'd need a radio programming data source, and some post-processing to identify exactly where the gaps are between programs.