StartParagraph Method (CultureInfo)

Microsoft Speech Platform SDK 11

Collapse imageExpand ImageCopy imageCopyHover image

Specifies the start of a paragraph in the specified culture in the PromptBuilder object.

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

Syntax

Visual Basic (Declaration)
Public Sub StartParagraph ( _
	culture As CultureInfo _
)
Visual Basic (Usage)
Dim instance As PromptBuilder
Dim culture As CultureInfo

instance.StartParagraph(culture)
C#
public void StartParagraph(
	CultureInfo culture
)

Parameters

culture
Type: System.Globalization..::..CultureInfo

Provides information about a specific culture, such as the language, the name of the culture, the writing system, the calendar used, and how to format dates and sort strings.

Remarks

The culture parameter for a paragraph can be different than the Culture property of the PromptBuilder object that contains it.

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.

NoteNote

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 to ten; beginning in English, then in French, and finishing in German. Correct pronunciation of all the numbers will only be achieved if language packs for English, French, and German have been installed. The SpeechSynthesizer object automatically selects and uses the default voice for the language specified in the culture parameter of each StartParagraph(CultureInfo) constructor. If no language is specified in a prompt, or if the specified language is not installed, SpeechSynthesizer object uses the default language for the host system.

 Copy imageCopy 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();
        
        // Count in English.
        cultures.StartParagraph(
          new System.Globalization.CultureInfo("en-US"));
        cultures.AppendText("one, two, three");
        cultures.EndParagraph();

        // Count in French.
        cultures.StartParagraph(
          new System.Globalization.CultureInfo("fr-FR"));
        cultures.AppendText("quatre, cinq, six");
        cultures.EndParagraph();

        // Count in German.
        cultures.StartParagraph(
          new System.Globalization.CultureInfo("de-DE"));
        cultures.AppendText("sieben, acht, neun, zehn");
        cultures.EndParagraph();

        // 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