Creates a new instance of the PromptBuilder class and specifies a culture.
Namespace:
Microsoft.Speech.Synthesis
Assembly:
Microsoft.Speech (in Microsoft.Speech.dll)
Syntax
Visual Basic (Declaration) |
---|
Public Sub New ( _ culture As CultureInfo _ ) |
Visual Basic (Usage) |
---|
Dim culture As CultureInfo Dim instance As New PromptBuilder(culture) |
C# |
---|
public PromptBuilder( CultureInfo culture ) |
Parameters
- culture
- Type: System.Globalization..::..CultureInfo
Provides information about a specific culture, such as its language, the name of the culture, the writing system, the calendar used, and how to format dates and sort strings.
Remarks
This constructor sets the value for the Culture property. For a given language code specified in the culture parameter, a speech synthesis engine that supports that language code must be installed to correctly pronounce words in the specified language. Use the GetInstalledVoices()()()() methods and VoiceInfo class to obtain the names and attributes of installed text-to-speech (TTS) voices that you can select.
The Microsoft Speech Platform Runtime 11 and Microsoft Speech Platform SDK 11 do not include any engines for speech synthesis in a specific language. You must download a language pack (an engine for speech synthesis in a specific language) for each language in which you want to generate synthesized speech. See InstalledVoice for more information.
The Speech Platform SDK 11 accepts all valid language-country codes as values for culture. See Language Identifier Constants and Strings for a comprehensive list of language codes.
Note |
---|
Speech synthesis is often referred to as text-to-speech or TTS. An installed TTS engine is also referred to as a voice. A language pack for speech synthesis contains a TTS engine, or voice. |
Examples
The following example creates a PromptBuilder object that counts from one to four in French. The French speaking voice is specified by the culture parameter in the PromptBuilder(CultureInfo) constructor. The SpeechSynthesizer object automatically selects and uses the default voice for the language specified in the culture parameter. Correct pronunciation of the numbers will only be achieved if a language pack for French has been installed. If no language is specified or if the specified language is not installed, SpeechSynthesizer object uses the default language for the host system. Using a voice in a language other than French will speak the numbers, but will not pronounce them correctly.
Copy Code | |
---|---|
using System; using Microsoft.Speech.Synthesis; namespace SampleSynthesis { class Program { static void Main(string[] args) { // Initialize a new instance of the SpeechSynthesizer. using (SpeechSynthesizer synth = new SpeechSynthesizer()) { // Configure the audio output. synth.SetOutputToWaveFile(@"C:\test\cultures.wav"); // Create a SoundPlayer instance to play the output audio file. System.Media.SoundPlayer m_SoundPlayer = new System.Media.SoundPlayer(@"C:\test\cultures.wav"); PromptBuilder cultures = new PromptBuilder( new System.Globalization.CultureInfo("fr-FR")); // Count in French. cultures.AppendText("un, deux, trois, quatre"); // Speak the prompt and play back the output file. synth.Speak(cultures); m_SoundPlayer.Play(); } Console.WriteLine(); Console.WriteLine("Press any key to exit..."); Console.ReadKey(); } } } |