This documentation is archived and is not being maintained.

SpeechSynthesizer.SpeakSsml Method

Synchronously speaks a String that contains SSML markup.

Namespace:  System.Speech.Synthesis
Assembly:  System.Speech (in System.Speech.dll)

public void SpeakSsml(
	string textToSpeak


Type: System.String
The SSML string to speak.

The contents of the textToSpeak parameter must include a speak element and must conform to the Speech Synthesis Markup Language (SSML) Version 1.0. For more information, see Speech Synthesis Markup Language Reference.

To asynchronously speak a string that contains SSML markup, use the SpeakSsmlAsync(String) method. You can use Speak(String) to initiate the synchronous speaking of a string that does not contain SSML markup.

During a call to this method, the SpeechSynthesizer can raise the following events:

  • StateChanged. Raised when the speaking state of the synthesizer changes.

  • SpeakStarted. Raised when the synthesizer begins generating speech.

  • PhonemeReached. Raised each time the synthesizer reaches a letter or combination of letters that constitute a discreet sound of speech in a language.

  • SpeakProgress. Raised each time the synthesizer completes speaking a word.

  • VisemeReached. Raised each time spoken output requires a change in the position of the mouth or the facial muscles used to produce speech.

  • BookmarkReached. Raised when the synthesizer encounters a bookmark in a prompt.

  • VoiceChange. Raised when the speaking voice for the synthesizer changes.

The SpeechSynthesizer does not raise the SpeakCompleted event while processing the SpeakSsml(String) method.

The following example renders the date 1/29/2009 as a date, in month, day, year order.

SpeechSynthesizer synth = new SpeechSynthesizer();
string str = "<speak version=\"1.0\"";
str += " xmlns:ssml=\"\"";
str += " xml:lang=\"en-US\">";
str += "<say-as type=\"date:mdy\">1/29/2009</say-as>";
str += "</speak>";

.NET Framework

Supported in: 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.