Skip to content
All guides

How to write for a synthetic voice

ViewMade ships 5 voiceover languages and 7 embedded caption styles per render, measured on 22 August 2026 from its pricing page and product documentation.

Last checked

ViewMade ships 5 voiceover languages and 7 embedded caption styles per render, measured on 22 August 2026 from its pricing page and product documentation. This page shows how to write a script that a synthetic voice can read without stumbling: five steps, each with a concrete output you can check before you send the script anywhere.

The short answer

A synthetic voice reads exactly what is on the page, so write for the ear, not the eye. Keep every sentence short enough to say in one breath. Replace punctuation the listener cannot hear, such as parentheses and dashes, with full stops. Spell out abbreviations, numbers, dates and units in words, because the voice will not guess them. Delete words that only make sense visually, like "below" or "see above". Then read the script aloud yourself; wherever you stumble, the voice will stumble too.

The steps

1. Write sentences that can be said in one breath

A synthetic voice does not breathe where you would. It pauses at punctuation and nowhere else, so a sentence with three clauses becomes one long, flat stream of words. Aim for one idea per sentence and roughly fifteen words or fewer. If you need a second idea, start a new sentence instead of joining them with "and" or "but". Short sentences also give the voice natural places to reset its pacing, which keeps the delivery from sounding mechanical by the middle of the script. When you draft, count the words in each line as you go; anything over twenty gets split.

The output of this step is a draft where no single sentence carries more than one idea.

2. Replace punctuation you cannot hear

Parentheses, em dashes, semicolons and slashes are silent on the page but confusing to a text-to-speech engine. Some engines pause oddly at them, some skip them entirely, and a few read the enclosed text as if it were part of the previous clause. Rewrite every parenthetical as its own sentence, or fold it into the main sentence without brackets. Turn dash-separated pairs into two sentences joined by meaning rather than by a mark. A semicolon becomes a full stop. If a slash separates alternatives, write "or". The listener only ever hears pauses, so give them real ones.

The output of this step is a script with no silent punctuation marks left in it.

3. Spell out what the reader would guess and the voice will not

A human reader sees "WW2" and says "World War Two" automatically. A synthetic voice may say "double-you-two" or spell out each letter, depending on the engine. Write abbreviations out in full: "NASA" can stay if your engine handles it well, but "est." becomes "established" and "approx." becomes "about". Write numbers the way they should be said: a year spoken aloud differs from a quantity being counted, so write both forms as words rather than digits. Write dates as words: "the sixth of June", not "six slash six". Write units with names, not symbols: "kilometres", not "km".

The output of this step is a script where every abbreviation, number, date and unit appears exactly as it should be spoken.

4. Remove the words that only work on the page

Scripts written for reading carry navigation language that means nothing aloud: "as shown below", "in the table above", "see figure 3", "click here". A listener has no below, no above and nothing to click. Replace visual references with spoken ones: name the thing directly instead of pointing at it. "The table below lists the three causes" becomes "There are three causes." If the script accompanies visuals, describe what the viewer is seeing in words: "The footage here shows the harbour." When a tool generates both narration and captions, as ViewMade does with its word-for-word subtitles, whatever you leave in the script ends up both heard and read, so page-only phrasing fails twice.

The output of this step is a script that stands on its own with no visual references in it.

5. Read your script aloud yourself before you send it

This is the cheapest quality check available and most writers skip it. Read the whole script out loud, at normal speed, without stopping to fix things mid-sentence. Mark every place where your tongue trips, where you run out of breath, or where you instinctively pause but see no punctuation. Those marks are exactly where the synthetic voice will fail, because it has less tolerance than you do. Fix each marked spot using the first four steps: split the sentence, replace the punctuation, spell out the term, delete the pointer. Then read it again once. Two passes are usually enough.

The output of this step is a final script you have already heard fail once and survive the second read.

What this will not fix

These steps make a script readable. They do not make it good. A synthetic voice will deliver a vague sentence just as smoothly as a precise one, and it will announce weak structure with the same confidence as strong structure. If your argument wanders, the voice will wander with it, and the polished delivery makes the wandering harder for a listener to forgive because nothing else signals effort. Editing for speech also cannot repair facts: wrong figures stay wrong, and a confident voice saying a wrong number sounds more authoritative than text does. Do the thinking first, then apply these steps to the writing.

Where to go next

If you have not picked a voice yet, /guides/how-to-choose-a-voice-for-your-niche covers how tone and pace should match the subject matter, which matters as much as the script itself. For the terminology around engines, voices and rendering, /glossary/ai-voiceover defines the terms used across these guides.

<!-- faq -->

Frequently asked questions

Should I write numbers as digits or as words?

As words whenever the digit form could be read more than one way. Years usually survive as digits in most engines, but quantities may come out read digit by digit or in full, which is correct but slow. Write the number as you want it heard: "nearly two thousand people", not the digit form. Dates, prices and measurements are safest fully spelled out. Test any number you are unsure about with your specific engine, because handling differs between them.

Does punctuation still matter if the voice ignores it?

Yes, differently. Commas and full stops control pacing, so they matter more, not less. What changes is which marks are useful: brackets, dashes and semicolons produce either silence or odd pauses, while commas and periods produce deliberate ones. Treat punctuation as a timing instruction set. A comma tells the voice to breathe briefly, a period tells it to stop and reset.

How do I handle foreign names and place names?

Spell them phonetically in the script if your engine mispronounces them, even if the spelling looks wrong on the page. The script exists for the voice, not for the reader. Alternatively, many engines let you add pronunciation hints or a custom lexicon. Check how your tool treats the specific names in your script before recording, because a mangled place name breaks trust faster than any other error.

Can I use contractions in a script for a synthetic voice?

Usually yes, and often you should. "Don't" and "it's" sound more natural than "do not" and "it is" in most modern engines, which are trained on conversational speech. The exception is emphasis: if a sentence needs a formal register, the expanded form reads more deliberately. Match the contraction density to the tone you chose, then confirm the engine renders your specific contractions cleanly.

How long should each sentence be for captions to stay readable?

Short enough that the caption fits on screen in one glance. Since the captions are generated from the same script, every sentence you shorten improves both the narration rhythm and the caption length at once. Sentences of roughly fifteen words or fewer, which step one already targets, tend to produce captions that hold about one line of readable text per phrase. If a caption lingers over dense text, the underlying sentence is usually too long.