Developers

SSML Explained: How to Control Pauses, Emphasis, and Pronunciation in TTS

Plain text gets you 90% of the way to great speech. SSML gets you the last 10% — the pauses, emphasis, and pronunciation fixes that turn a good AI voice into a natural one. Here is a friendly introduction with copy-paste examples.

Audio mixing console representing fine control over sound

When you paste text into a text-to-speech engine, it makes its best guess about how to say it: where to pause, which words to stress, how to read a number or a date. Usually that guess is good. But sometimes you need more control — a dramatic pause, the correct pronunciation of a brand name, or a phone number read digit by digit. That is exactly what SSML is for.

What Is SSML?

SSML stands for Speech Synthesis Markup Language. It is a small, XML-based language — a set of tags you wrap around your text — that tells the TTS engine precisely how to speak. If you have ever written HTML, SSML will feel familiar: you mark up text with tags, and each tag changes how the enclosed words are rendered as audio instead of as visuals.

A minimal SSML document looks like this:

<speak>
  Hello, and welcome to eidosSpeech.
</speak>

Everything you add lives inside that <speak> wrapper. Let's look at the tags you will actually use.

Adding Pauses With <break>

The single most useful SSML tag is <break>. It inserts a pause of a length you choose — perfect for pacing, suspense, or separating ideas:

<speak>
  Let me think about that<break time="800ms"/> yes, absolutely.
</speak>

You can specify the pause in milliseconds (time="500ms") or seconds (time="1s"). Use short breaks between clauses and longer ones between sections. A well-placed pause is often the difference between speech that feels rushed and speech that feels considered.

Controlling Rate, Pitch, and Volume With <prosody>

The <prosody> tag adjusts the delivery of whatever it wraps. You can change three things:

<speak>
  <prosody rate="90%" pitch="+1st">
    This part is a little slower and slightly higher.
  </prosody>
</speak>

Prosody is powerful for tone: slow the rate slightly for serious announcements, or raise the pitch a touch for friendly, upbeat lines.

Stressing Words With <emphasis>

To make a word stand out, wrap it in <emphasis>. Levels are reduced, moderate, and strong:

<speak>
  This is <emphasis level="strong">completely</emphasis> free.
</speak>

Use emphasis sparingly. Just like writing in all caps, stressing every other word makes nothing stand out.

Reading Numbers and Dates With <say-as>

By default the engine interprets ambiguous strings on its own — and sometimes gets it wrong. The <say-as> tag removes the guesswork by declaring what a value is:

<speak>
  Call <say-as interpret-as="telephone">1800123456</say-as>.
  The event is on <say-as interpret-as="date" format="dmy">28-06-2026</say-as>.
</speak>

Common interpret-as values include telephone, date, time, cardinal, ordinal, and characters (which spells out each letter). This is essential for anything with codes, IDs, or phone numbers.

Fixing Pronunciation

Brand names, acronyms, and foreign words are frequent trouble spots. There are two common fixes. The simplest is a "spell-it-how-it-sounds" substitution using <sub>:

<speak>
  Welcome to <sub alias="eye-doss-speech">eidosSpeech</sub>.
</speak>

For precise control, the <phoneme> tag lets you specify the exact pronunciation using a phonetic alphabet such as IPA. That is more advanced, but invaluable when a name absolutely must be said correctly.

Putting It All Together

Real scripts combine these tags. Here is a short, natural-sounding welcome message:

<speak>
  <prosody rate="95%">
    Hi there<break time="300ms"/> and welcome.
    Today we'll cover <emphasis level="moderate">three</emphasis> simple steps.
  </prosody>
  <break time="600ms"/>
  Let's begin.
</speak>

A Few Practical Tips

Try It Yourself

The best way to learn SSML is to hear the difference. Try it now in our free SSML Playground — write a sentence, add a <break> and some <prosody>, and hear the result instantly. You can also experiment in the eidosSpeech app or through the API. New to text-to-speech entirely? Start with our beginner's guide, then come back here to fine-tune your voices.

e
eidosSpeech Team
Building free tools for developers and creators

Related Articles