Yesterday I interviewed Hugh McGuire about LibriVox for next week’s ITConversations podcast. In the course of our conversation I was reminded that LibriVox catalog pages — like this one for White Fang — include MP3s and Oggs for individual chapters, plus a zip file containing the whole book, but not an RSS feed suitable for automatic downloading into a podcatcher. And as Hugh and I discussed, a typical reaction to the zip file is: “Now what?”

So I’ve written a little script to produce RSS feeds. It seems useful to me, and I hope it’ll prove useful to the LibriVox community, but before I release it I’d like to check my assumptions.

Here are three sample feeds.

William Blake, Songs of Innocence and Experience

Arthur Conan Doyle, The Hound of the Baskervilles

Jack London, White Fang

I mostly use a Creative MuVo, and sometimes an iPod, so these are the two scenarios I’ve tested. For my purposes, the requirements in both cases are:

  • The files display and play in order in iTunes and Windows Media Player1
  • The files display and play in order on the player
  • Both the name and index of each file are easily legible on the player

The flash-memory-based MuVo seems to need the filenames shortened to 28 characters. And as I realized on a long bike ride last summer, when a book was playing out of order, it also seems to want the generated index numbers before, rather than after, the filenames. So I think the format should be:

01_hound-of-the-baskerv.mp3
02_hound-of-the-baskerv.mp3
...

I’m assuming this format will work for other flash-memory-based non-iPod players out there, but that’s something I’d like to check. If you have one of those players I’d be curious to know it handles these feeds.

For the iPod and iTunes, a different hack was required. A podcast feed is not the natural format for a multi-chapter book. The software expects to display and play items in reverse chronological order. I thought that if everything had the same pubDate the secondary sort would ascend by name, but that didn’t seem to work. So in these feeds, the (arbitrary) pubDate decrements by seconds as the index counter increments. You wind up with a format like this:

file: 01_hound-of-the-baskerv.mp3 pubdate: Sat, 14 Apr 2007 05:00:15 -0000
file: 02_hound-of-the-baskerv.mp3 pubdate: Sat, 14 Apr 2007 05:00:14 -0000
...

Kinda hokey, but it seems to work for me, see what you think. I’d like to be able to give something back to LibriVox. I haven’t gotten around to recording any chapters, but maybe this will help the cause.


1 Forgot WMP’s not a podcatcher yet, alas.