SpeechSynthesizer::GetInstalledVoices Method ()
.NET Framework (current version)
Returns all of the installed speech synthesis (text-to-speech) voices.
Assembly: System.Speech (in System.Speech.dll)
Return Value
Type: System.Collections.ObjectModel::ReadOnlyCollection<InstalledVoice^>^Returns a read-only collection of the voices currently installed on the system.
A voice is an engine for speech synthesis (text-to-speech or TTS) that is installed on the system.
The following example is part of a console application that initializes a SpeechSynthesizer object and outputs to the console a list of the installed voices (engines for speech synthesis) and demonstrates the information that is available for each voice.
using System; 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()) { // Output information about all of the installed voices. Console.WriteLine("Installed voices -"); foreach (InstalledVoice voice in synth.GetInstalledVoices()) { VoiceInfo info = voice.VoiceInfo; string AudioFormats = ""; foreach (SpeechAudioFormatInfo fmt in info.SupportedAudioFormats) { AudioFormats += String.Format("{0}\n", fmt.EncodingFormat.ToString()); } Console.WriteLine(" Name: " + info.Name); Console.WriteLine(" Culture: " + info.Culture); Console.WriteLine(" Age: " + info.Age); Console.WriteLine(" Gender: " + info.Gender); Console.WriteLine(" Description: " + info.Description); Console.WriteLine(" ID: " + info.Id); Console.WriteLine(" Enabled: " + voice.Enabled); if (info.SupportedAudioFormats.Count != 0) { Console.WriteLine( " Audio formats: " + AudioFormats); } else { Console.WriteLine(" No supported audio formats found"); } string AdditionalInfo = ""; foreach (string key in info.AdditionalInfo.Keys) { AdditionalInfo += String.Format(" {0}: {1}\n", key, info.AdditionalInfo[key]); } Console.WriteLine(" Additional Info - " + AdditionalInfo); Console.WriteLine(); } } Console.WriteLine("Press any key to exit..."); Console.ReadKey(); } } }
.NET Framework
Available since 3.0
Available since 3.0
Show: