GUIDE

Substack text to speech: add a voiceover to your posts

Many Substack readers prefer to listen. The app can read posts aloud, and writers can attach a voiceover to any post, recorded or uploaded, even behind the paywall. The two are easy to confuse, and only one of them lets you choose the voice.

This guide explains how listening works on Substack, how to add a voiceover, and how to narrate posts with a natural AI voice, or your own, without recording every week.

How readers listen

In the Substack app many posts can be played aloud with an automatic voice. Substack staff have told writers in community threads that this is available on most but not all publications, that there is no choice of voice, and that a voiceover you upload takes priority over it. If you want a specific voice, upload your own.

Add a voiceover

According to Substack, open the post, tap the headphones icon and select Voiceover; you can record it right there or upload a pre-recorded file, also for posts published long ago. In email the player appears at the top of the post, and app users can keep listening while they browse.

Paywall options

Substack lets you paywall the voiceover while the text stays free, or keep both text and voiceover for paid subscribers. Some writers use audio as a perk for paid readers; others make every post listenable to grow the audience.

Narrate posts with SuperClonica

To upload a voiceover without recording, make the audio file: listen to narrator voices free on their pages with 30 to 100 characters, then install the free engine with python -m pip install superclonica-cpu and run superclonica --text-file post.txt --voice voice.json --lang en --output post.mp3. It runs offline with no character limit, so long essays cost nothing extra. For a voiceover in your own voice, train it once in the studio from a clean 5 to 10 second recording, and let it read every new post in any of 31 languages.

Tips for listenable posts

Spell out links and footnotes in the text you voice, describe images in a sentence, and split long posts at headings so the narration has natural pauses. Tell readers in the post that the voiceover is AI-generated if it is.