Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Download Microsoft Edge
More info about Internet Explorer and Microsoft Edge
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Contains classes for initializing and configuring a speech synthesis engine, for creating prompts, for generating speech, for responding to events, and for modifying voice characteristics.
Initialize and Configure
The
SpeechSynthesizer
class provides access to the functionality of a speech synthesis engine that is installed on the host computer. Installed speech synthesis engines are represented by a voice, for example Microsoft Anna. A
SpeechSynthesizer
instance initializes to the default voice. To configure a
SpeechSynthesizer
instance to use one of the other installed voices, call the
SelectVoice
or
SelectVoiceByHints
methods. To get information about which voices are installed, use the
GetInstalledVoices
method.
You can route the output of the
SpeechSynthesizer
to a stream, a file, the default audio device, or to a null device by using one of the methods in the
SpeechSynthesizer
class whose name begins with "
SetOutputTo
".
Create Prompts
Use one the methods of the
PromptBuilder
class whose name begins with "
Append
" to build content for prompts from text, Speech Synthesis Markup Language (SSML), files containing text or SSML markup, or prerecorded audio files.
See
Constructing a Complex Prompt
in the
System Speech Programming Guide for .NET Framework
for more information and examples.
Generate Speech
To generate speech from a string or from a
Prompt
or
PromptBuilder
object, use the
Speak
or the
SpeakAsync
methods. To generate speech from SSML markup, use the
SpeakSsml
or the
SpeakSsmlAsync
methods. See
Speech Synthesis Markup Language Reference
for a guide to SSML markup.
You can guide the pronunciation of words by using the
AppendTextWithHint
or
AppendTextWithPronunciation
methods, and by adding or removing lexicons for a
SpeechSynthesizer
instance using the
AddLexicon
and
RemoveLexicon
methods.
Respond to Events
The
SpeechSynthesizer
class includes events that inform a speech application that the
SpeechSynthesizer
encountered a specific feature in a prompt, as reported by the
SpeakProgressEventArgs
,
BookmarkReachedEventArgs
,
PhonemeReachedEventArgs
, and
VisemeReachedEventArgs
classes.
To get information about the beginning and end of the speaking of a prompt by the
SpeechSynthesizer
, use the
SpeakStartedEventArgs
and
SpeakCompletedEventArgs
classes.
See
Using Speech Synthesis Events
in the
System Speech Programming Guide for .NET Framework
for more information and examples.
Modify Voice Characteristics
The
PromptStyle
class and
StartStyle
and
AppendText
methods let you modify characteristics of a
SpeechSynthesizer
voice using
Emphasis
,
Rate
, and
Volume
parameters. To modify characteristics of a voice such as culture, age, and gender, use one of the
StartVoice
methods of the
PromptBuilder
class or the
SelectVoiceByHints
methods of the
SpeechSynthesizer
class.
See
Controlling Voice Attributes
in the
System Speech Programming Guide for .NET Framework
for more information.
See also
System.Speech.AudioFormat
System.Speech.Recognition
System.Speech.Recognition.SrgsGrammar
System.Speech.Synthesis.TtsEngine
Constructing a Complex Prompt
Using Speech Synthesis Events
Controlling Voice Attributes