Modifying the pace of audiobooks

I’ve recently started listening to audiobooks.  They’re a convenient way to enjoy books on your way to work or while driving.  After listening to Mika Waltari’s The Egyptian, I took on The Hunger Games, read by Carolyn McCormick.

Like many who have reviewed the audiobook, I had an immediate disliking of the narration.  It was not so much her voice, but her pacing.  She does not give time for the words sink in.  It was a constant, mild irritation  the book could be so much better if the reader took just a little more pauses.  Rather than giving up on the book, I started coding.

I wrote a Ruby script, Audiobook Pacer, that can change the pace of reading of an audiobook.  (I first tried writing a LADSPA plugin, but it seems they cannot modify the length of the audio.)  The script works by adjusting the length of pauses the reader takes between sentences and paragraphs.  All pauses longer than a specified time are lengthened or shortened by a set percentage.  Breaks between words shouldn’t be modified, as this may break the flow of the sentence.

In the case of The Hunger Games, I increased by 25% the length of all pauses longer than 0.6 seconds.  The change is subtle, but it makes all the difference between constant irritation and enjoyment.

Update:  After listening to the Games for a few hours, I started getting irritated by the narration once more.  It turned out I had converted only half of the files.  After modifying the pace of the rest of the files enjoyment prevailed.

Advertisements
This entry was posted in Coding, Ruby and tagged , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s