What is SSML?
- SSML
- SSML, or Speech Synthesis Markup Language, is a markup format that instructs a speech engine how to pronounce text, controlling pauses, emphasis, speed and the reading of numbers.
What SSML means in practice
Markup solves the problems plain text cannot express. A pause of exactly half a second, a phone number read in digit groups, a name spelled phonetically.
Numbers and dates are the common reason people reach for it. The string 1/2 could be a date, a fraction or part of an address.
Support varies between engines, which is the practical annoyance. Markup that works in one system is ignored in another.
It is a fix for specific lines rather than a way to write a whole script. Most sentences do better as plain, short, spoken English.
The clearest case for it is a line that has to be right every time, such as a clinic address containing a street name the engine keeps mispronouncing.
What people get wrong
Three tags on one clinic address
Say your clinic sits at 1204 Goethe Street and the phone number is 312 555 0142. Given plain text, an engine might say "one thousand two hundred four Goath Street". It might then run your phone number together as a single huge figure. Every caller who needs directions hears that mistake.
Markup fixes each part with its own tag. A substitution tag swaps in "twelve oh four" wherever your script says 1204. For the street name, a phoneme tag spells out the sounds, roughly "GUR-tuh". Next, a say-as tag marked as telephone reads the number digit by digit. Add a break tag of 300 milliseconds after the area code, and your caller has time to write the first three digits down before the rest arrive. That's four small edits on two lines, and the rest of your script stays plain English.
When markup earns its keep and when it doesn't
Markup pays off when a line is said on nearly every call and has to be right each time. Your address, your phone number and a doctor's surname all fit that test. For anything said once a week, it isn't worth your afternoon.
Try the cheap fix first. Writing "Gurta Street" in your script often works as well as a phoneme tag, and you can test it in a minute by calling your own line. Spelling a number out as words does the same job for a price or a suite number.
If you're comparing vendors that do accept markup, ask which tags their engine honors. The W3C standard is long and most engines support only part of it. A say-as value that works in one product can be read aloud as literal text in another. Ask for their supported tag list in writing, then test your one hard line against it before you sign.
How GreetKeeper handles it
GreetKeeper is written in plain language rather than markup. You type what the assistant should say.
Where a word is mispronounced, spelling it phonetically in the script is the fix that works without any markup at all.
Numbers and addresses are the cases worth testing before you go live, because they are where reading aloud goes wrong most often.
SSML questions
Do I need to learn it?
Not for GreetKeeper. You write plain sentences, and phonetic spelling covers the awkward words.
What does it fix best?
Pronunciation of names, the reading of phone numbers, and pauses that need to be a specific length. Those three cover most real uses.
Is it standard across vendors?
In principle, and not in practice. Engines support different subsets, so markup is rarely portable between them.
Related terms
Hear it take one of your calls
Two minutes, your own scenario, no card.