Although there are a few good free sources of shorter audio stories, they're limited, so one quickly starts looking for commercial offerings. The best one I've found so far is Audible.com, or rather, Audible.de. I now have a monthly subscription to Audible, and have bought about ten audiobooks from them.
My car stereo can play CD's and .mp3 files (on usb key or cd-rom), which poses a challenge, since Audible's books are delivered in a proprietary format not handled by most audio devices. Fortunately, The Man has not yet tightened his grip enough to make it impossible to convert from the fully closed proprietary .aax format to a more open one like .mp3.
While there are probably simpler methods out there, the method I'm using is as follows.
#!/bin/sh # Parameters - change these to match your book NAME=percy2 LEN_HR=5 LEN_MIN=11 # Approximate length in minutes you want it split into pieces of # Anything shorter than 20 yields way too many pieces for big books TRACK_MIN=20 # find the output channel to record from MONITOR=$(pactl list | grep -A2 '^Source #' | grep 'Name: .*\.monitor$' | awk '{print $NF}' | tail -n1) # record from it, save result in file $NAME.pcm parec --device="$MONITOR" --verbose $NAME.pcm & # let the recording go for the desired length pid2=$! len=`expr '(' $LEN_HR '*' 60 + $LEN_MIN ')' '*' 60` sleep $len kill $pid2 # convert from .pcm format to .wav format sox -t raw -r 44100 -sLb 16 -c 2 - $NAME.wav < $NAME.pcm # convert from .wav format to .mp3 format NAME=percy2 lame $NAME.wav $NAME.mp3 # Split into tracks, adjusting length slightly for silence # (If this were music, with good track breaks, you would # use something other than -t -a here.) mp3splt -t $TRACK_MIN.00 -a $NAME.mp3
My car stereo can't fast forward or reverse in .mp3 files, so I chop the recordings up into 20 minute segments with mp3splt
I also play on an ipod; that required building eyeD3 0.6.18 (the version that comes with Ubuntu is 0.6.17, which is too old) and using -n %d -N %d to set the track number, and -d 1 -D 1 to set the disc number; without those settings, the ipod will play in random order rather than track order. e.g.
for i in `seq 1 16` do /usr/local/bin/eyeD3 -n $i -N 16 -d 1 -D 1 percy2_$i.mp3 done
Annoyingly, none of the tools on Ubuntu 11.10 seem to be able to initialize or sync to my 3rd gen 4gb ipod shuffle. I had to use iTunes on Windows for that.
Even more annoyingly, iTunes doesn't come with a signed driver, and win 7 64 bits refuses to load unsigned drivers. TS1369 is the appropriate Apple support page, and says "Note: During installation, if a message appears stating that the software you are installing 'has not passed Windows Logo testing' click Continue Anyway to continue installing the drivers." That no longer works; Windows refuses to load the driver. Apple, you .
http://www.freeotfe.org/docs/Main/impact_of_kernel_driver_signing.htm describes one's options; the only one that works is pressing F8 at reboot time and selecting "Disable Driver Signature Enforcement". With that, iTunes was able to recognize the iPod.