Podcast script TTS optimizer
Raw writing and AI-voice-ready text are not the same thing. A run-on sentence makes a synthetic voice rush; an ambiguous homograph like read or lead gets mispronounced; an unusual proper noun comes out garbled. This optimizer cleans your script for TTS — normalizing punctuation for natural pauses, flagging homographs, splitting long sentences, and listing names that may need pronunciation hints.
How it works
The optimizer runs non-destructive passes over your text:
- Punctuation normalization — collapses doubled spaces, fixes spacing around punctuation, and ensures sentence-ending marks create clean pause points.
- Long-sentence detection — flags sentences over a threshold and suggests clause-level break points, since long runs blur a voice’s cadence.
- Homograph flags — scans for common heteronyms (read, lead, tear, bow, live, wind, close) so you can disambiguate before generating.
- Proper-noun list — collects mid-sentence capitalized words as candidates for phonetic spelling or SSML phoneme hints.
Your words are never rewritten — the tool only cleans formatting and surfaces warnings for you to act on.
The homograph problem in depth
A homograph is a word with one spelling but two pronunciations and meanings. TTS engines guess the correct pronunciation from surrounding context and sometimes get it wrong, especially with short surrounding context:
| Homograph | Pronunciations | TTS risk |
|---|---|---|
| read | ”reed” (present) / “red” (past) | High — past-tense use often misread |
| lead | ”leed” (verb) / “led” (metal) | High — especially near technical context |
| tear | ”teer” (cry) / “tair” (rip) | Medium |
| wound | ”woond” (past of wind) / “woond” (injury) | Medium |
| live | ”liv” (verb) / “lyve” (adjective) | Medium |
| close | ”klohz” (verb) / “klohs” (adjective) | Low but common |
| bow | ”boh” (ribbon) / “bow” (bend) | Medium |
The safest fix is disambiguation in the plain text: replace “read the report” with “reads the report” if present-tense is intended, or rephrase “led the meeting” so lead is unambiguous. Phonetic respellings inside angle brackets work with many TTS engines but are non-portable.
Writing numbers for TTS
Numeric strings are a common source of unexpected readings:
- Years: “2024” is often read as “two thousand twenty-four” correctly, but “2,024” may be read as a dollar amount in some engines. Spell out ambiguous cases: “twenty twenty-four.”
- Phone numbers: Always use the spoken form: “oh-seven-nine-eight…” rather than a digit string.
- Fractions: “1/3” reads as “one third” in most engines but “one slash three” in some. Spell out “one third” to be safe.
- Percentages: “45%” usually reads as “forty-five percent” correctly.
- Currency: “$50” usually reads correctly; “£50” or “€50” may be mispronounced by engines not trained on those symbols — spell out “fifty pounds” or “fifty euros.”
Tips for clean AI narration
- Spell tricky names phonetically. An unusual place name or brand name may need a respelling or an SSML phoneme tag.
- One idea per sentence. Short, complete sentences give the voice clear breathing room and reduce rushed delivery.
- Write numbers as words when ambiguous. Spell it out where it matters.
- Layer SSML last. Get the plain text clean here, then add explicit breaks and emphasis with an SSML builder for fine control.
- Test with a short sample first. Generate a 30-second test clip before producing a full episode — a single mispronounced proper noun is easier to catch and fix before 40 minutes of audio are committed.