Adventures in Audiobooks

By | February 22, 2011

Audio books are fun. Downloading them legally and using  them on your systems should be as fast and as painless as possible. But that’s not completely true when you buy  audio books from Borders and try to use/handle them on Linux:-(

Once you decide and buy your audio books, Borders adds links into your account which are only useful for a program called OverDrive Media Console which is not available from Linux:-( Or more precisely Linux on x86 PC’s. It seems to be available for Android;-)

OK, I have a VBox image for those cases when I really need to run some Windows software. But even after the download was successful, there is the next problem:-( You end up with MP3 files which represent the content of a complete audio CD. So that does not really help when you want to listen to those files with anything other than OMC:-( Car stereos, especially the ones which would understand MP3, would see the files as 65+ minute files without any borders were you could easily restart to listen:-(

But OMC somehow had chapters and boundaries.  So something was in the files, which helped OMC but was not normally useful for other programs. I looked for a program to check the MP3 meta data. One program which seemed to be useful was metaguru . It’s was not available for my x86-64 Ubuntu system but the compile was easy;-)

So running metaguru on one of the MP3 files showed one interesting tag:

TXXX {OverDrive MediaMarkers} = {<Markers><Marker><Name>Introduction</Name><Time>00:00.000</Time></Marker><Marker><Name>Chapter 1</Name><Time>00:33.000</Time></Marker><Marker><Name>\a0\a0\a0\a0\a0\a0Chapter 1 (05:11)</Name><Time>05:11.000</Time></Marker><Marker><Name>\a0\a0\a0\a0\a0\a0Chapter 1 (10:06)</Name><Time>10:06.000</Time></Marker><Marker><Name>\a0\a0\a0\a0\a0\a0Chapter 1 (15:06)</Name><Time>15:06.000</Time></Marker><Marker><Name>\a0\a0\a0\a0\a0\a0Chapter 1 (19:12)</Name><Time>19:12.000</Time></Marker><Marker><Name>Chapter 2</Name><Time>23:02.000</Time></Marker><Marker><Name>\a0\a0\a0\a0\a0\a0Chapter 2 (27:57)</Name><Time>27:57.000</Time></Marker><Marker><Name>\a0\a0\a0\a0\a0\a0Chapter 2 (32:46)</Name><Time>32:46.000</Time></Marker><Marker><Name>\a0\a0\a0\a0\a0\a0Chapter 2 (35:55)</Name><Time>35:55.000</Time></Marker><Marker><Name>\a0\a0\a0\a0\a0\a0Chapter 2 (39:18)</Name><Time>39:18.000</Time></Marker><Marker><Name>Chapter 3</Name><Time>43:20.000</Time></Marker><Marker><Name>\a0\a0\a0\a0\a0\a0Chapter 3 (48:13)</Name><Time>48:13.000</Time></Marker><Marker><Name>\a0\a0\a0\a0\a0\a0Chapter 3 (53:12)</Name><Time>53:12.000</Time></Marker><Marker><Name>\a0\a0\a0\a0\a0\a0Chapter 3 (58:07)</Name><Time>58:07.000</Time></Marker><Marker><Name>Chapter 3</Name><Time>01:02:52.000</Time></Marker><Marker><Name>\a0\a0\a0\a0\a0\a0Chapter 3 (01:07:28)</Name><Time>01:07:28.000</Time></Marker><Marker><Name>\a0\a0\a0\a0\a0\a0Chapter 3 (01:10:42)</Name><Time>01:10:42.000</Time></Marker></Markers>}

That was the way OMC was able to have boundaries. My first test was to try to use that info to create meta info ( a CUE file) to be used with the KDE CD burning application K3b. I wrote a little cue_creator.rb Ruby program to do just that.  That program creates a CUE file with the same base name as the MP3 file with the info from the OMC data. At least K3b seems to be happy and I think I could also use that to split the large MP3 into a couple of smaller files.

I don’t know if that’s useful for others, but maybe;-)

Have fun,

— Marco

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.