Good stuff for programming geeks
[ start | index | login or register ]
start > 2005-02-26 > 1

Start/2005-02-26/1

Created by tmoertel. Last edited by tmoertel 1252 days ago. Viewed 638 times. #2
[diff] [history] [edit] [rdf]
labels
attachments

Radio VCR + podcatching = NPR to go, anytime

A year ago I wrote (in My New Radio VCR) that I had written a bit of software to record all of my favorite NPR broadcasts and store them in a file-based archive. Thanks to that software, I now have over a year of NPR (about 16 GB) on one of my servers, and I can listen to it whenever I want.

To make my time-shifted listening more convenient, I decided to maintain a subset of the archive on my iPod. (Think of it as single-source, private >>podcasting.) To make it happen, I wrote some more software that –

  1. examines my NPR archive;
  2. selects a subset that is ideal for iPod listening;
  3. pushes this subset down to a server-based iPod "landing zone"; and
  4. synchronizes the landing zone with an "NPR" playlist on iTunes.

Steps 1–3 are performed by a shell script and a Perl script that together run as an hourly cron job on a burly server. The shell script reads a simple configuration file that contains rules like, keep the last 7 days worth of "Marketplace" on the iPod. The shell script then factors in some NPR-specific constant values and then invokes the general-purpose Perl script, podcast-archive.pl, which performs the heavy lifting. It searches the archive for desirable shows, converts the archive's >>Speex encoding into something more palatable to the iPod, and pushes the results into the landing zone.

The final step is handled by an AppleScript that runs on my iBook. It synchronizes the "NPR" playlist in iTunes with the contents of the landing zone. I kick off the script by hand just before I am about to leave the office. In a few seconds, it syncs up my iPod, and I am ready to roll with up-to-the hour recordings.

The iPod organizes the tracks automatically because of the way I set the ID3v2 tags on the files in the landing zone. For example, today's "Car Talk" is tagged like this:

=== TPE1 (Lead performer(s)/Soloist(s)): NPR
=== TALB (Album/Movie/Show title): Car Talk
=== TIT2 (Title/songname/content description): CT 2005-02-26 Sat
=== TYER (Year): 2005

When all of the tracks are loaded, they end up under the "NPR" hierarchy like so:

NPR (artist)
  Car Talk (album)
    CT 2005-01-29 Sat (track)
    CT 2005-02-05 Sat
    CT 2005-02-12 Sat
    CT 2005-02-19 Sat
    CT 2005-02-26 Sat
  Day to Day
    DTD 2005-02-21 Mon
    DTD 2005-02-22 Tue
    DTD 2005-02-23 Wed
    DTD 2005-02-24 Thu
    DTD 2005-02-25 Fri
  and so on

This makes iPod-based navigation a snap.

I enjoy my new NPR mobility. Now I can listen to any show I want, when I want, and where I want. It is so convenient that I can't help but wonder if this isn't the future of radio. I suspect that the folks at >>Odeo (think Blogger for audio) would like to think that it is.

no comments | post comment
community.moertel.com | Copyright © 2003–07 Moertel Consulting