What Is SSML?
Speech Synthesis Markup Language (SSML) is an XML-based standard that gives you fine-grained control over how text-to-speech engines produce audio. Instead of just typing plain text, you can embed special tags to tell the speech engine exactly how to pronounce words, where to pause, what to emphasize, and how fast or slow to speak.
Voice Forge supports a set of SSML tags that you can type directly into the text input area. The tags are included in your 500-character limit, so keep that in mind when composing longer passages with markup.
Supported SSML Tags
Below is a complete reference of the SSML tags you can use in Voice Forge. Type these directly into the text area when generating speech.
<break> – Add a Pause
Inserts a pause in the speech. You can control the length of the pause using the time attribute or the strength attribute.
Welcome to Voice Forge. <break time="500ms"/> Let's get started.Pauses for 500 milliseconds between the two sentences.
And the winner is <break time="1s"/> Voice Forge!A dramatic one-second pause before the reveal.
First point. <break strength="strong"/> Second point.The strength attribute accepts values like "none", "x-weak", "weak", "medium", "strong", and "x-strong".
<emphasis> – Stress a Word or Phrase
Adds emphasis to the enclosed text, changing how strongly the word or phrase is spoken. Use the level attribute to control the degree of emphasis.
This is <emphasis level="strong">very</emphasis> important.The word "very" is spoken with strong emphasis.
Please do <emphasis level="moderate">not</emphasis> forget.Accepted levels are "strong", "moderate", and "reduced".
<prosody> – Control Pitch, Rate, and Volume
Adjusts the pitch, speaking rate, or volume of the enclosed text. You can set one or more of these attributes at the same time.
<prosody rate="slow">Take your time reading this.</prosody>Speaks the text at a slower rate. Accepted rate values include "x-slow", "slow", "medium", "fast", and "x-fast".
<prosody pitch="high">Is that really true?</prosody>Raises the pitch. Accepted pitch values include "x-low", "low", "medium", "high", and "x-high".
<prosody volume="loud">Attention everyone!</prosody>Speaks louder. Accepted volume values include "silent", "x-soft", "soft", "medium", "loud", and "x-loud".
<prosody rate="fast" pitch="low">Breaking news just in.</prosody>You can combine multiple attributes in a single prosody tag.
<phoneme> – Specify Exact Pronunciation
Provides an explicit phonetic pronunciation for a word, overriding the engine's default pronunciation. Useful for proper nouns, technical terms, or words that the engine might mispronounce. Voice Forge uses Cepstral's phoneme set.
You say <phoneme ph='t ah0 m ey1 t ow0'>tomato</phoneme>, I say <phoneme ph='t ah0 m aa1 t ow0'>tomato</phoneme>Pronounces "tomato" two different ways by specifying different phoneme sequences.
For a complete list of all available phonemes, see the Cepstral Phoneme Table.
<sub> – Substitute Pronunciation
Replaces the enclosed text with a different spoken form. The written text is preserved but the engine speaks the substitute instead. Great for abbreviations and acronyms.
<sub alias="World Wide Web Consortium">W3C</sub> sets web standards.Displays "W3C" in text but speaks "World Wide Web Consortium".
<sub alias="doctor">Dr.</sub> Smith will see you now.Ensures "Dr." is spoken as "doctor" rather than being interpreted differently.
<p> and <s> – Paragraphs and Sentences
Mark paragraph and sentence boundaries explicitly. This helps the engine apply natural pauses and intonation patterns at the correct points in your text.
<p><s>This is the first sentence.</s> <s>This is the second.</s></p>Wrapping text in paragraph and sentence tags gives the engine clearer structural cues for natural-sounding delivery.
Combining Multiple Tags
You can nest and combine SSML tags to create more sophisticated speech output. Here are some practical examples:
Dramatic Announcement
<prosody rate="slow" volume="loud"><emphasis level="strong">Breaking news!</emphasis></prosody> <break time="800ms"/> The event has been postponed.Combines slow rate, loud volume, and strong emphasis for a dramatic effect, followed by a pause before the details.
Technical Narration
The <sub alias="application programming interface">API</sub> returns a <sub alias="JavaScript Object Notation">JSON</sub> response.Speaks both "API" and "JSON" as their full forms using substitution tags.
Character Limits
Voice Forge has a 500-character limit per text input. SSML tags count toward this limit, so keep your markup concise. For example, a simple <break time="500ms"/> tag uses 21 characters of your 500-character allowance.
To maximize your available text space when using SSML, use shorter attribute values where possible. For instance, "500ms" is shorter than "0.5s", and <break/> with no attributes inserts a default short pause using minimal characters.
Tips for Using SSML Effectively
- Start simple – Try adding a single
<break>or<emphasis>tag first to hear how it affects the output before layering on more tags. - Close your tags – SSML uses XML syntax, so every opening tag needs a matching closing tag. For example,
<emphasis>text</emphasis>. Self-closing tags like<break/>end with a slash before the closing bracket. - Preview before downloading – Use the built-in audio player to listen to how your SSML tags affect the speech before downloading. Small adjustments to pause lengths or emphasis levels can make a big difference.
- Use sub for abbreviations – If the engine mispronounces an acronym or abbreviation, wrap it in a
<sub>tag with the full spoken form in the alias attribute. - Budget your characters – SSML tags consume characters from your 500-character limit. Plan your text and markup together so you do not run out of space for the actual content you want spoken.
Quick Reference
| Tag | Purpose | Key Attributes |
|---|---|---|
| <break> | Insert a pause | time, strength |
| <emphasis> | Stress a word or phrase | level |
| <prosody> | Change pitch, rate, or volume | pitch, rate, volume |
| <phoneme> | Specify exact pronunciation | alphabet, ph |
| <sub> | Substitute spoken text | alias |
| <p> | Mark a paragraph | – |
| <s> | Mark a sentence | – |
Ready to Try SSML?
Sign in to Voice Forge and start adding SSML tags to your text to create precisely controlled speech output.