Aracılığıyla paylaş


SrgsToken.Pronunciation Özellik

Tanım

Belirtecin söylenişini tanımlayan dizeyi alır veya ayarlar.

public:
 property System::String ^ Pronunciation { System::String ^ get(); void set(System::String ^ value); };
public string Pronunciation { get; set; }
member this.Pronunciation : string with get, set
Public Property Pronunciation As String

Özellik Değeri

içinde PhoneticAlphabetbelirtilen fonetik alfabedeki telefonları içeren bir dize döndürür.

Özel durumlar

olarak ayarlamaya Pronunciationnullçalışılır.

öğesine boş bir dize atanmaya Pronunciationçalışılır.

Örnekler

Aşağıdaki örnekteki dil bilgisi argo sözcükler içerir ve ayrıca yaygın olmayan bir sözcük içerir: "whatchamacallit". sınıfının özelliğini kullanarak Pronunciation özel, satır içi söyleniş SrgsToken eklemek, hem "whatchamacallit" sözcüğü hem de onu içeren tümcecik için tanıma doğruluğunu iyileştirebilir. Örnek, özel söylenişleri tanımlamak için Microsoft Evrensel Telefon Kümesi'nden (UPS) telefonlar kullanır.

using System;
using System.Speech.Recognition;
using System.Speech.Recognition.SrgsGrammar;

namespace SampleRecognition
{
  class Program
  {
    static void Main(string[] args)

    // Initialize an instance of the in-process recognizer.
    {
      using (SpeechRecognitionEngine recognizer =
         new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US")))
      {

        // Build the SrgsOneOf objects with alternative choices for the slang phrase.
        SrgsOneOf gimme = new SrgsOneOf(
          new string[] { "give me", "gimme", "hand me", "ha'me" });
        SrgsOneOf the = new SrgsOneOf(new string[] { "the", "duh" });

        // Build the one-of element that contains the pronunciation.
        SrgsItem thing = new SrgsItem("thingamajig");
        SrgsItem whatcha = new SrgsItem();
        SrgsToken callit = new SrgsToken("whatchamacallit");
        callit.Pronunciation = "W AE T CH AE M AE K AA L IH T";
        whatcha.Add(callit);
        SrgsOneOf what = new SrgsOneOf(new SrgsItem[] {thing, whatcha});

        // Create the rule from the SrgsOneOf objects.
        SrgsRule slangRule = new SrgsRule("slang", gimme, the, what);

        // Build an SrgsDocument object from the rule and set the phonetic alphabet.
        SrgsDocument tokenPron = new SrgsDocument(slangRule);
        tokenPron.PhoneticAlphabet = SrgsPhoneticAlphabet.Ups;

        // Create a Grammar object from the SrgsDocument and load it to the recognizer.
        Grammar g_Slang = new Grammar(tokenPron);
        g_Slang.Name = ("Slang Pronunciation");
        recognizer.LoadGrammarAsync(g_Slang);

        // Configure recognizer input.
        recognizer.SetInputToDefaultAudioDevice();

        // Attach a handler for the SpeechRecognized event.
        recognizer.SpeechRecognized +=
          new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);

        // Start asynchronous recognition.
        recognizer.RecognizeAsync();
        Console.WriteLine("Starting asynchronous recognition...");

        // Keep the console window open.
        Console.ReadLine();
      }
    }

    // Handle the SpeechRecognized event.
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
    {
      Console.WriteLine("Recognized phrase: " + e.Result.Text);
      Console.WriteLine("Confidence: " + e.Result.Confidence);
      Console.WriteLine("  Word summary: ");
      foreach (RecognizedWordUnit word in e.Result.Words)
      {
        Console.WriteLine(
          "    Lexical form ({1})" +
          " Pronunciation ({0})" +
          " Confidence ({2})",
          word.Pronunciation, word.LexicalForm, word.Confidence);
      }
    }
  }
}

Açıklamalar

Telefonlar, konuşma seslerini açıklayan harfler veya simgelerdir. System.Speech, özel söylenişler belirtmek için üç fonetik alfabeyi destekler: Evrensel Telefon Kümesi (UPS), Konuşma API'si (SAPI) Telefon kümesi ve Uluslararası Fonetik Alfabesi (IPA). içinde belirtilen telefonlar içinde Pronunciation belirtilen PhoneticAlphabetfonetik alfabeyle eşleşmelidir. Daha fazla bilgi için bkz . Lexicons ve Fonetik Alfabeler .

içinde Pronunciation belirtilen telefonlar, içeriğinin Text başarılı tanıma için nasıl telaffuz edilmesi gerektiğini belirtir. Konuşma tanıma altyapısı, konuşma girişiyle eşleştirmek için içinde Pronunciation belirtilen söylenişi kullanır ve tanıma sonucunda öğesinin Text içerdiği dizeyi döndürür.

Telefonlar boşlukla sınırlandırılmamışsa veya belirtilen dize tanınmayan bir telefon içeriyorsa, tanıma altyapısı belirtilen telaffuzu tarafından Textbulunan sözcüğün geçerli bir söylenişi olarak tanımaz.

içinde Pronunciation belirtilen söylenişler, dil bilgisi veya tanıma altyapısıyla ilişkili sözcük sözcüklerinde belirtilen söylenişlere göre önceliklidir. Ayrıca, özelliğindeki söyleniş Pronunciation yalnızca sözcüğün Textveya tümceciği içeren tek oluşumu için geçerlidir.

Şunlara uygulanır

Ayrıca bkz.