How to make a generated voice sound natural
The model reads what you wrote. Most of what people hear as “robotic” is written-register prose being read accurately — which is a writing problem with writing fixes.
7 min read · Updated
When generated audio sounds artificial, the instinct is to blame the model and go looking for a better one. Sometimes that is right. More often the model is reading exactly what was written, and what was written was never meant to be spoken.
These are the fixes in rough order of how much they change the result.
1. Write out loud
Say each sentence before you type it. If you would not say it that way to a person, do not write it that way.
This one change does more than every setting combined. Written prose uses subordinate clauses, formal connectives and a sentence length that nobody uses out loud, and a model reading it faithfully produces something that sounds like a document because it is one.
2. Shorten sentences, especially at the start
Long sentences flatten prosody: the model has to allocate intonation across a structure that has no natural landing points. Short sentences give it somewhere to put emphasis.
The opening thirty seconds matter disproportionately, because that is where a listener decides whether this is worth their attention.
3. Punctuate for breath, not for grammar
Punctuation is the main prosody control you have. A comma is a short pause, a full stop is a longer one, and a paragraph break is longer still. Where you want a beat, put a comma — even where a copy-editor would not.
- Em dashes and semicolons are read as pauses of ambiguous length. Prefer full stops.
- Ellipses produce a trailing hesitation, which is occasionally what you want and usually not.
- A question mark genuinely changes intonation. Use real questions rather than statements shaped like them.
4. Vary tempo between sections
Uniform pace across eight minutes is the most recognisable tell of generated narration, and it is trivially fixable: slow the tempo for explanation, leave it neutral for narration, nudge it faster for a recap or a list.
This is also the argument for generating section by section rather than as one block — you cannot vary tempo within a single generation.
5. Fix the reference clip, not the settings
A clone inherits everything about the read in your reference recording. If the reference was over-projected, careful, tired or performed, every script afterwards carries that.
The most common version of this: people record their reference as though auditioning, and then wonder why their narration sounds like an announcement. Record the reference the way you talk. Re-record it if it was wrong — it takes twenty seconds and it fixes everything downstream at once.
6. Write numbers and abbreviations the way they are said
“2026”, “₹2,500”, “Dr.” and “vs.” all have more than one correct reading, and the model picks one. Where the reading matters, write the words. This costs nothing and removes a whole category of retries.
7. Stop trying to make it perform
Generated speech does an excellent natural read and a poor performance. Shouting, laughing mid-sentence, comic timing, a deliberate crack in the voice — these are choices, and nothing in your text asks for them.
Scripts written to be performed sound worse generated than scripts written to be read, because the performance the writing implies never arrives. Write for a good natural read and you get one.
What none of this fixes
If you need a delivery that carries the scene — drama, character work, comedy where the timing is the joke — a human take is still clearly better, and no amount of script tuning closes that. Knowing which of the two jobs you have is more useful than any technique on this page.
