Note
Please see Azure Cognitive Services for Speech documentation for the latest supported speech solutions.
SpeechSynthesizer.GetInstalledVoices Method
Returns all of the installed speech synthesis (text-to-speech) voices.
Namespace: Microsoft.Speech.Synthesis
Assembly: Microsoft.Speech (in Microsoft.Speech.dll)
Syntax
'Declaration
Public Function GetInstalledVoices As ReadOnlyCollection(Of InstalledVoice)
'Usage
Dim instance As SpeechSynthesizer
Dim returnValue As ReadOnlyCollection(Of InstalledVoice)
returnValue = instance.GetInstalledVoices()
public ReadOnlyCollection<InstalledVoice> GetInstalledVoices()
Return Value
Type: System.Collections.ObjectModel.ReadOnlyCollection<InstalledVoice>
Returns a read-only collection of the voices currently installed on the system.
Remarks
A voice is an installed Runtime Language for speech synthesis (TTS, or text-to-speech). The Microsoft Speech Platform Runtime 11 and Microsoft Speech Platform SDK 11 do not include any Runtime Languages for speech synthesis. You must download and install a Runtime Language for each language in which you want to generate synthesized speech. A Runtime Language includes the language model, acoustic model, and other data necessary to provision a speech engine to perform speech synthesis in a particular language. See InstalledVoice for more information.
Examples
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 (listed in the registry as voice tokens) and demonstrates the information that is available for each voice.
using System;
using Microsoft.Speech.Synthesis;
using Microsoft.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();
}
}
}