Using Speech Synthesis in UCMA 3.0: Introduction (Part 1 of 4)

Summary:   Combine the capabilities of Microsoft Unified Communications Managed API (UCMA) 3.0 Core SDK with Microsoft Speech Platform SDK to make synthesized speech in your application more natural sounding. Use Speech Synthesis Markup Language (SSML) to insert pauses, increase or decrease the speech volume, expand abbreviations correctly, and pronounce words or phrases phonetically.

Applies to:   Microsoft Unified Communications Managed API (UCMA) 3.0 Core SDK | Microsoft Speech Platform SDK

Published:   August 2011 | Provided by:   Mark Parker, Microsoft | About the Author


Download code   Download code

This article is the first in a four-part series of articles on how to use speech synthesis in a Microsoft Unified Communications Managed API (UCMA) 3.0 application.

If you are writing a UCMA 3.0 application that presents synthesized speech to its users, consider using Speech Synthesis Markup Language (SSML) markup to provide finer control over pronunciation, pitch, volume, and speaking rate, and ensure that addresses, numbers, acronyms, and times are spoken correctly according to their contexts.

The SpeechSynthesisConnector class in UCMA 3.0 enables applications to take advantage of the speech synthesis capabilities of the SpeechSynthesizer class in the Microsoft.Speech.Synthesis namespace. This set of articles provides a detailed description of the necessary components in the UCMA 3.0 application, and presents SSML markup for the following examples.

  • Speaking a phone number.

  • Speaking a time or date.

  • Speaking a number as a fraction.

  • Speaking an address. These examples include the normalization of abbreviations such as “St.” to “Street” and “OH” to “Ohio.”

  • Expanding an acronym such as URL.

  • Adding emphasis to speech.

  • Speaking phonetically using phonemes.

Mark Parker is a programming writer at Microsoft whose current responsibility is the UCMA SDK documentation. Mark previously worked on the Microsoft Speech Server 2007 documentation.