SpeechSynthesizer.DefaultVoice Property
Definition
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.
Gets the default speech synthesis engine (voice).
public:
static property VoiceInformation ^ DefaultVoice { VoiceInformation ^ get(); };
static VoiceInformation DefaultVoice();
public static VoiceInformation DefaultVoice { get; }
var voiceInformation = SpeechSynthesizer.defaultVoice;
Public Shared ReadOnly Property DefaultVoice As VoiceInformation
Property Value
The default voice.
Examples
Here, we show how to select a gender for the voice (VoiceInformation.Gender) by using either the first female voice (VoiceGender) found, or just the default system voice (SpeechSynthesizer.DefaultVoice), if no female voice is found.
using (SpeechSynthesizer synthesizer = new SpeechSynthesizer())
{
VoiceInformation voiceInfo =
(
from voice in SpeechSynthesizer.AllVoices
where voice.Gender == VoiceGender.Female
select voice
).FirstOrDefault() ?? SpeechSynthesizer.DefaultVoice;
synthesizer.Voice = voiceInfo;
// Windows.Media.SpeechSynthesis.SpeechSynthesisStream
stream = await synthesizer.SynthesizeTextToStreamAsync(text);
}
Remarks
Only Microsoft-signed voices installed on the system can be used to generate speech with a SpeechSynthesizer. Each voice generates synthesized speech in a single language, as spoken in a specific country/region.
By default, a new SpeechSynthesizer object uses the current system voice (call DefaultVoice to find out what the default voice is).
To specify any of the other speech synthesis (text-to-speech) voices installed on the user's system, use the Voice method (to find out which voices are installed on the system, call AllVoices).
If you don't specify a language, the voice that most closely corresponds to the language selected in the Language control panel is loaded.