Partager via


Note

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

PromptBuilder Constructor (CultureInfo)

Creates a new instance of the PromptBuilder class and specifies a culture.

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

Syntax

'Declaration
Public Sub New ( _
    culture As CultureInfo _
)
'Usage
Dim culture As CultureInfo

Dim instance As New PromptBuilder(culture)
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. The SpeechSynthesizer object will attempt to select an installed voice that supports the language specified by the culture parameter to process the prompt. If a voice with the specified culture is found, it will be used. If a voice with the specified culture cannot be found, the default voice will be used.

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.

To correctly pronounce words in the language specified by the culture parameter, a Runtime Language must be installed that supports the specified language. To get information about which voices are installed for a specific culture, use the GetInstalledVoices(CultureInfo) method.

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.

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 Runtime Language 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.

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();
    }
  }
}

See Also

Reference

PromptBuilder Class

PromptBuilder Members

PromptBuilder Overload

Microsoft.Speech.Synthesis Namespace