Share via


Note

Please see Azure Cognitive Services for Speech documentation for the latest supported speech solutions.

SpeechSynthesizer.SelectVoiceByHints Method (VoiceGender)

Selects a voice with a specific gender.

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

Syntax

'Declaration
Public Sub SelectVoiceByHints ( _
    gender As VoiceGender _
)
'Usage
Dim instance As SpeechSynthesizer
Dim gender As VoiceGender

instance.SelectVoiceByHints(gender)
public void SelectVoiceByHints(
    VoiceGender gender
)

Parameters

Remarks

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.

Examples

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.  
      synth.SelectVoiceByHints(VoiceGender.Female);

      // Configure the audio output. 
      synth.SetOutputToWaveFile(@"C:\test\Gender.wav");

      // 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?");
      m_SoundPlayer.Play();

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

See Also

Reference

SpeechSynthesizer Class

SpeechSynthesizer Members

SelectVoiceByHints Overload

Microsoft.Speech.Synthesis Namespace