SpeechSynthesizer.Speak Method


Generates speech output synchronously from a string, a Prompt object, or a PromptBuilder object.

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


Synchronously speaks the contents of a Prompt object.


Synchronously speaks the contents of a PromptBuilder object.


Synchronously speaks the contents of a string.

The Speak methods generate speech synchronously. The methods do not return until the content of the Speak instance has been completely spoken. This is the simplest way to generate speech. However, if your application needs to perform tasks while speaking, for example highlight text, paint animation, monitor controls, or other tasks, use the SpeakAsync methods or the SpeakSsmlAsync method to generate speech asynchronously.

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 SpeechSynthesizerdoes not raise the SpeakCompleted event while processing any of the Speak methods.

Return to top