SpeechSynthesizer.Voice Property


Gets information about the current voice of the SpeechSynthesizer object.

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

public VoiceInfo Voice { get; }

Property Value

Type: System.Speech.Synthesis.VoiceInfo

Returns information about the current voice of the SpeechSynthesizer object.

When you initialize a new SpeechSynthesizer, it uses the default system voice. To configure the SpeechSynthesizer object to use one of the installed speech synthesis voices, use the SelectVoice or SelectVoiceByHints method. To get information about which voices are installed, use the GetInstalledVoices method and the VoiceInfo class.

The following example initializes an instance of SpeechSynthesizerand gets information about the current voice.

using System;
using System.IO;
using System.Speech.Synthesis;
using System.Speech.AudioFormat;

namespace SampleSynthesis
  class Program
    static void Main(string[] args)

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

        // Get information about supported audio formats.
        string AudioFormats = "";
        foreach (SpeechAudioFormatInfo fmt in synth.Voice.SupportedAudioFormats)
          AudioFormats += String.Format("{0}\n",

        // Write information about the voice to the console.
        Console.WriteLine(" Name:          " + synth.Voice.Name);
        Console.WriteLine(" Culture:       " + synth.Voice.Culture);
        Console.WriteLine(" Age:           " + synth.Voice.Age);
        Console.WriteLine(" Gender:        " + synth.Voice.Gender);
        Console.WriteLine(" Description:   " + synth.Voice.Description);
        Console.WriteLine(" ID:            " + synth.Voice.Id);
        if (synth.Voice.SupportedAudioFormats.Count != 0)
          Console.WriteLine(" Audio formats: " + AudioFormats);
          Console.WriteLine(" No supported audio formats found");

        // Get additional information about the voice.
        string AdditionalInfo = "";
        foreach (string key in synth.Voice.AdditionalInfo.Keys)
          AdditionalInfo += String.Format("  {0}: {1}\n",
            key, synth.Voice.AdditionalInfo[key]);

        Console.WriteLine(" Additional Info - " + AdditionalInfo);

      Console.WriteLine("Press any key to exit...");

.NET Framework
Available since 3.0
Return to top