SpeechSynthesizer.SelectVoiceByHints Method (VoiceGender)

Selects a voice with a specific gender.

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

public void SelectVoiceByHints(
	VoiceGender gender


Type: Microsoft.Speech.Synthesis.VoiceGender
The gender of the voice to select.

Use the GetInstalledVoices method and VoiceInfo class to obtain the names of installed text-to-speech (TTS) voices that you can select. The SpeechSynthesizer object selects the first installed voice whose Gender property matches the gender parameter.

When an application calls GetInstalledVoices(), the method verifies that each of the voices it finds in the registry meets certain minimum criteria. For any voice that fails verification, GetInstalledVoices() sets its Enabled property to False. An application cannot select a voice whose Enabled property is False. Typically, applications will not set a voice’s Enabled property.

To select a voice based on other characteristics, see the other SelectVoiceByHints methods.

To select a voice by name, use the SelectVoice(String) method.

The following example selects a speaking voice that has the characteristic "female". If a voice with this characteristic is not installed, the default voice will be used.

using System;
using Microsoft.Speech.Synthesis;

namespace SampleSynthesis
  class Program

    static void Main(string[] args)

      // Initialize a new instance of the SpeechSynthesizer.
      SpeechSynthesizer synth = new SpeechSynthesizer();

      // Select a voice that matches a specific gender and age.  

      // Configure the audio output. 

      // Create a SoundPlayer instance to play the output audio file.
      System.Media.SoundPlayer m_SoundPlayer =
        new System.Media.SoundPlayer(@"C:\test\Gender.wav");

      // Speak the prompt and play the output file.
      synth.Speak("What is your favorite color?");

      Console.WriteLine("\nPress any key to exit...");