How to play audiobooks in Overcast

This post was originally published on my personal blog, Lawgier.net. If you liked it, you can find more of them there. You can also follow me on Twitter.

Like many people, I want to read more books that I do.

Many times while browsing the internet, I find myself exposed to books highly recommended by people I deeply admire, or people I just know being successful, but I always end up reading the first chapter and then forgetting to check them out, or catching myself daydreaming every two minutes while reading them. At the end of the day, the only kind of books where I can deeply immerse myself in are fiction books, like the new translation of The Lord Of The Rings (that I highly recommend to french people, it’s just pure awesomeness), not books like Robert Caro’s biographies or Robert Greene’s Mastery.

But if there is a medium that I love, it’s podcasts. I listen to a lot of podcast during my longs commutes to college, and I don’t really have trouble to keep myself focused while listening to them. So, that’s why, enjoying a promotion for Audible’s subscription, I bought Ashlee Vance’s latest audiobook, Elon Musk.

What I liked the most in this medium is that you have to follow the pace imposed by the narrator, preventing you to drift into your thoughts and only read 10 pages in an hour. After finishing the audiobook however, I realized something: the Audible iOS app is not as good as it could be. And this is mainly because I was spoiled with one feature: Overcast’s Smart Speed.

Overcast’s Smart Speed works by speeding up the playback during silent breaks, allowing to hear more, while not having to distort the audio like by simply speeding up the playback. And while it’s a great feature to have in a podcast, it’s a killer one when it comes to audiobooks.

So, I spent some time looking on the internet how get Overcast to play my Audiobooks (until Audible calls Marco Arment, and just licence his damn implementation!), and I found two different solutions, each having its own avantages and drawbacks. Here we go!

The easy one : Overcast “Upload“ feature

Arment’s announcement of this feature was for me both an exiting one, and a watershed. 2 days before, I was finishing to implement my own solution (more below) after spending quite some time to tweak it and making it work. Having him solving my initial problem right after I managed to tackle it was bad luck.

Anyways, the Upload feature have some avantages, but it’s not the perfect solution for audiobooks. It’s very simple to use and directly implemented in Overcast, but you are limited to 2 GB of storage, 250 MB files and you have to be a paid customer (2,99$ for 3 months, it’s well worth it) to be able to use it.

First, you’ll have to enable the feature in the iOS app:

Then, go to https://overcast.fm/uploads and log in. There, you’ll find a list of all your previous uploads and an upload button, where you can… upload your audiobook.

You can then find your file directly on the app, under the Upload section.

The most customizable : The self-hosted solution

If you find the native solution not customizable enough, or too limited, you can use Podcast Generator to host and publish your audiobooks directly to Overcast, or any podcast player that you want.

This solution works great, but suffers from few drawbacks:

  • You’ll need a remote server or a NAS to use Podcast Generator ;
  • The feed is publicly available, which can be problematic due to copyright rules ;
  • It’s not the simplest solution.

If you don’t already have a server, I recommend using the cheapest service that you’ll could find. Podcast Generator is not a ressource heavy program, so the hardware won’t matter much. The most important thing here will be the storage space. Scaleway looks quite good, but is on an invite-list only for now. But something like Digital Ocean or anything else can work.

If you think that the avantages are worth the trouble, here’s how you can implement it.

  1. Download and extract directly the Podcast Generator archive on your server. You can use FTP or wget via SSH. If you use a server on Debian or Ubuntu, the folder with the archive’s content should be placed on the /var/www/ directory.
  2. To get Podcast Generator to recognize .m4b files, you’ll first have to modify the supported_media.xml, located in the components/supported_media folder. Add <mediaFile>
     <extension>m4b</extension>
     <mimetype>audio/mp4a-latm</mimetype>
    </mediaFile>

     between the `<PodcastGenerator>` tag.
  3. Go to the location where the files where uploaded on your browser (for example : http://youripaddress/podcastgen), and follow the instructions.
  4. If your audiobook comes in multiple pieces, you can merge them using Audiobook Builder, which will give you a .m4b file with chapters in it.
  5. Upload the file via FTP to the media folder.
  6. Go to your Podcast Generator admin panel and choose the “FTP Feature (Auto Indexing)” option to add the file to the directory. After the files are properly indexed, you can modify the metadata directly on the panel.
  7. When everything is done, you can add your feed (http://youripaddress/podcastgen/feed.xml) to Overcast, who will fetch the files.