Text to speech (TTS): the complete guide for creators
What text to speech is, how modern TTS voices got so good, and how to turn your writing into audio people actually want to hear.
Text to speech is software that reads written text aloud. That definition has been stable for thirty years; what changed recently is that it stopped sounding like software. If your mental model of TTS is a satnav from 2011, it's worth updating — the gap between then and now is the difference between a novelty and something you'd put on your own site.
How it got good
Old TTS was concatenative: record a voice actor reading thousands of fragments, then stitch fragments together to form new sentences. It worked, and it always sounded stitched, because the joins carried mismatched pitch and pace.
Modern systems are neural. A model trained on speech learns the relationship between text and sound directly, then generates a waveform end to end. Nothing is being glued together, so prosody — the rise and fall that makes speech sound intentional — is produced as part of the whole utterance.
The practical result is that neural TTS handles the things concatenative systems failed at: questions that actually rise at the end, commas that produce real pauses, emphasis that lands on the right word.
What it still gets wrong
Being honest about this saves you from publishing something embarrassing:
Proper nouns. Names, places, and brands are guesswork. Check any that matter.
Homographs. "Read", "live", "lead", "bass", "wound" — the model picks from context and sometimes picks wrong.
Acronyms. Whether it says "NASA" or "N-A-S-A" is a coin toss.
Long numbers and dates. Usually fine, occasionally read digit by digit.
Sarcasm and jokes. Delivery that depends on a knowing tone will land flat. Write for the ear if you want it to work.
None of these are fatal. All of them are why you listen to the first thirty seconds before publishing.
Choosing a voice
The main decision isn't male or female, it's neutral versus expressive.
A neutral, natural voice is a calm narrator. It doesn't editorialise, it doesn't get tired, and it disappears behind the words — which is what you want for explanatory writing, documentation, or anything long.
An expressive voice performs. It varies pace and emphasis, and for storytelling or opinion writing that's an asset. Over a 2,000-word technical explainer it becomes exhausting.
ButterReader includes both: Chirp 3 HD for natural narration and Gemini Flash for expressive delivery. The full comparison is here, and it's worth two minutes before you commit to a house voice.
Writing so it reads well aloud
Text optimised for scanning and text optimised for listening aren't the same thing.
- Short sentences survive. A sentence with three subordinate clauses is fine on the page and impossible to follow by ear.
- Headings become signposts. They're read aloud, so make them say something.
- Bulleted fragments sound abrupt. Full clauses read better.
- Parentheses vanish. The listener has no visual cue that you've stepped aside. Use commas or a separate sentence.
- "See the table below" is meaningless in audio. Describe the point instead.
- Spell out what matters. If a term must be pronounced correctly, write it phonetically.
Where it's genuinely useful
Blog posts. The obvious one, and the one with the clearest return — see why blogs need an audio version.
Documentation. People follow instructions with their hands busy.
Accessibility. Readers with visual impairments or dyslexia get a version of your content they can actually use. That's not a nice-to-have; in many jurisdictions it's an obligation.
Anyone multitasking. Commuting, cooking, walking. That's a substantial share of the time your audience has available, and text can't reach any of it.
Doing it on your own site
The fully manual route is: export text, run it through a TTS service, download the file, host it, embed a player, repeat forever. It works, and nobody sustains it past a handful of posts.
The maintainable route is a player that reads the page and generates audio itself:
<script src="https://butter-reader.web.app/widget/AudioPlayerWidget.bundle.js"
data-player-id="YOUR_PLAYER_ID"></script>
One snippet, on every post. The widget finds the article on the page, narrates it, and renders a styled player. No files to manage, and new posts get audio without you doing anything. Works on WordPress, Wix, Webflow, and hand-built sites alike.
Cost
Managed TTS is cheap enough that per-article cost is rarely the deciding factor — ButterReader's free tier covers a small blog without an API key. What actually costs you is the manual pipeline: the export-convert-upload loop is the expensive part, measured in your time.
Start here
Pick your best-performing post, add a player, and listen to the first paragraph. You'll know within thirty seconds whether the voice suits your writing. If you want the shortest possible path, try the free converter.
Part of
Keep reading
Make your own posts listenable
Turn this kind of article into audio in minutes — free to start.
Try ButterReader →