Recommendations
-
Pass natural, well-punctuated text. Full sentences with normal capitalization and punctuation produce the best pacing and intonation. End each transcript with terminal punctuation (
.,?,!). -
Send complete phrases. Full sentences sound more natural than isolated fragments or single words. Don’t send a number, code, or spell tag on its own — include the surrounding sentence, e.g.
Your confirmation code is <spell>ABC123</spell>. -
Use normal casing. Reserve all-caps for acronyms you want read out letter by letter (e.g.
USA). Other all-caps words may be misread as initialisms (e.g.NASA). Avoid using capitalization for emphasis or to indicate shouting. -
Pass numbers, currency, dates, and common acronyms in conventional written form. Sonic maps these patterns to natural speech for most inputs:
- Large numbers like
1,234,567 - Currency like
$19.99 - US phone numbers:
(415) 555-1212 - Street addresses like
123 Main St - Email addresses:
user@example.com - Dates in
MM/DD/YYYY:04/20/2025 - Times with a space before AM/PM:
7:00 PM,7 PM,7:00 P.M. - Common acronyms (
NASA) and initialisms (USA)
@reads asat(email addresses),()is silent (for US phone numbers). When an LLM writes the transcript, see Voice agents (LLM-authored text). - Large numbers like
- Match the voice to the language. Each voice has a primary language it works best with. Use the Playground to audition voices for a given language.
- Keep prompts in their natural written form. Heavy preprocessing (stripping punctuation, forcing casing) generally hurts output quality.
Pre-normalization
Sonic 3.5 automatically covers the common cases above for most inputs. If you hit an unusual case or a bug where something is still misread, you may consider pre-normalizing your text as a fallback. Have your LLM write the transcript fully spelled out, the way it would be spoken.
Pre-normalizing is a fallback for edge cases. Well-punctuated text in conventional form is read correctly in the large majority of cases.
Controlling pacing and spelling
When you need character-by-character read-out (confirmation codes, order IDs, serial numbers, spelled-out names) or fine-grained pacing, use one of the following:- Spell tags (recommended). Wrap the string in
<spell>...</spell>. Most reliable option, works for letters, digits, and mixed alphanumerics in all supported languages. - Space-delimited characters. Alternatively, you can achieve the same result by separating characters with single spaces for a natural spelling pace.
- Comma-delimited characters. If your use case requires longer pauses, you can add a comma and a space after each character.
- Semantic grouping. For more natural pacing, use spaces and add commas where a human would naturally pause.
Migrating from Sonic 3? The recommended delimiter format has changed in Sonic 3.5. Separate characters with spaces or commas and put a comma between groups. Don’t put periods between characters or mix commas and periods, this format still works on
sonic-3 snapshots but is not recommended for Sonic 3.5.Voice agents (LLM-authored text)
Starter system prompt. Baseline you can paste and trim for your product. If your stack does not pass<spell> or other tags through to Sonic, omit the tag lines and use the delimiter fallback in section 4.
Inserting pauses
Use natural punctuation for pauses — a comma or period usually produces the right pause in context. For an explicit, fixed-duration silence, use a break tag. Break tags split the generation, so they can sound less natural; avoid placing several in quick succession, which can cause hallucinations. Each tag counts as a single character and doesn’t need surrounding whitespace.Disfluencies
In-transcript disfluencies work best on Sonic 3.6.
uh, um, and hmm). Sonic 3.6 handles disfluencies written into the transcript with natural pacing and intonation, drawing out sounds and slowing down the way a person does when thinking.
- Write disfluencies in their standard written form, set off with commas:
uh,um,hmm. Non-standard spellings likeSoooooorummmmwill not sound natural. - Use them sparingly. Filler words sound natural when they express genuine hesitation or uncertainty, for example before a retrieved fact or a number (
Your balance is, uh, four hundred and twelve dollars.) or at the start of a turn that follows a hard question (Well, so, that depends on when you filed.). - Sonic only speaks what’s in the transcript; it never inserts disfluencies on its own.