Speech Synthesis Markup Language (SSML)
Speech Synthesis Markup Language (SSML)
SSML is an XML-based markup language for controlling pitch, rate, pauses, emphasis, and emotion in synthesized speech. Wrap your content in a <speak> tag:
Escaping Characters
Transforming text into SSML requires escaping certain characters to ensure correct interpretation:
An attribute value we do not recognise is ignored, not refused: a misspelled emotion or level synthesizes as ordinary speech and still returns 200. Malformed XML is different - unbalanced tags or undeclared entities return 400. Check the spelling of an attribute value if a tag seems to have had no effect.
Supported SSML Tags
prosody
The prosody tag controls the expressiveness of synthesized speech by manipulating pitch, rate, and volume.
Parameters
Adjusts the pitch of speech delivery.
Values:
x-low,low,medium(alsodefault),high,x-high- Percentage adjustments:
-83%to+100%(e.g.,+20%,-30%)
Alters speech speed.
Values:
x-slow,slow,medium(alsodefault),fast,x-fast- Percentage adjustments:
-50%to+9900%(e.g.,+20%,-30%)
Controls speech loudness.
Values:
silent,x-soft,soft,medium(alsodefault),loud,x-loud- Decibel adjustments: Number with
dBsuffix (e.g.,-6dB) - Percentage adjustments:
-100%to+900%(e.g.,+20%,-30%)
break
The break tag controls pausing between words, following W3 specifications.
Parameters
Specifies pause strength.
Values:
none: 0msx-weak: 250msweak: 500msmedium: 750msstrong: 1000msx-strong: 1250ms
Specifies pause duration (0-10 seconds). A single break is capped at 10 seconds, and the total silence one document may insert is capped at 30 seconds - past that, further pauses are dropped rather than rejected.
Values:
- Milliseconds:
mssuffix (e.g.,100ms) - Seconds:
ssuffix (e.g.,1s)
emphasis
The emphasis tag adds or removes emphasis from text, modifying speech similarly to prosody but without setting individual attributes.
Parameters
Specifies emphasis level.
Values:
reducedmoderatestrong
sub
The sub tag replaces pronunciation for contained text, following W3 specifications.
Parameters
Specifies text to be spoken instead of enclosed text.
speechify:style
The speechify:style tag controls emotion of the voice. See Emotion Control for the full list of 13 supported emotions and best practices.
Parameters
Sets the voice emotion. Values: angry, cheerful, sad, terrified, relaxed, fearful, surprised, calm, assertive, energetic, warm, direct, bright.