SpeechRecognitionEngine.EmulateRecognize Methode

Definitie

Emulatie van invoer voor de spraakherkenning, waarbij tekst wordt gebruikt in plaats van audio voor synchrone spraakherkenning.

Overloads

Name Description
EmulateRecognize(String)

Emulatie van invoer van een woordgroep aan de spraakherkenning, met behulp van tekst in plaats van audio voor synchrone spraakherkenning.

EmulateRecognize(RecognizedWordUnit[], CompareOptions)

Emuleert invoer van specifieke woorden aan de spraakherkenning, waarbij tekst wordt gebruikt in plaats van audio voor synchrone spraakherkenning en geeft aan hoe de recognizer Unicode-vergelijking tussen de woorden en de geladen grammatica's voor spraakherkenning verwerkt.

EmulateRecognize(String, CompareOptions)

Emulatiet de invoer van een woordgroep voor de spraakherkenning, waarbij tekst wordt gebruikt in plaats van audio voor synchrone spraakherkenning en geeft aan hoe de recognizer Unicode-vergelijking tussen de woordgroep en de geladen grammatica voor spraakherkenning verwerkt.

Opmerkingen

Deze methoden slaan de audio-invoer van het systeem over en bieden tekst aan de recognizer als String objecten of als een matrix van RecognizedWordUnit objecten. Dit kan handig zijn bij het testen of opsporen van fouten in een toepassing of grammatica. U kunt emulatie bijvoorbeeld gebruiken om te bepalen of een woord in een grammatica staat en welke semantiek wordt geretourneerd wanneer het woord wordt herkend. Gebruik de SetInputToNull methode om audio-invoer uit te schakelen naar de spraakherkenningsengine tijdens emulatiebewerkingen.

De spraakherkenning verhoogt de SpeechDetected, SpeechHypothesizeden SpeechRecognitionRejectedSpeechRecognized gebeurtenissen alsof de herkenningsbewerking niet wordt geëmuleerd. De recognizer negeert nieuwe regels en extra witruimte en behandelt interpunctie als letterlijke invoer.

Note

Het RecognitionResult object dat is gegenereerd door de spraakherkenning als reactie op geëmuleerde invoer, heeft een waarde voor null de Audio eigenschap.

Gebruik de EmulateRecognizeAsync methode om asynchrone herkenning te emuleren.

EmulateRecognize(String)

Emulatie van invoer van een woordgroep aan de spraakherkenning, met behulp van tekst in plaats van audio voor synchrone spraakherkenning.

public:
 System::Speech::Recognition::RecognitionResult ^ EmulateRecognize(System::String ^ inputText);
public System.Speech.Recognition.RecognitionResult EmulateRecognize(string inputText);
member this.EmulateRecognize : string -> System.Speech.Recognition.RecognitionResult
Public Function EmulateRecognize (inputText As String) As RecognitionResult

Parameters

inputText
String

De invoer voor de herkenningsbewerking.

Retouren

Het resultaat voor de herkenningsbewerking of null als de bewerking niet is geslaagd of als de recognizer niet is ingeschakeld.

Uitzonderingen

De recognizer heeft geen grammatica's voor spraakherkenning geladen.

inputText is null.

inputText is de lege tekenreeks ("").

Voorbeelden

Het onderstaande codevoorbeeld maakt deel uit van een consoletoepassing die geëmuleerde invoer, de bijbehorende herkenningsresultaten en de bijbehorende gebeurtenissen laat zien die door de spraakherkenning worden gegenereerd. In het voorbeeld wordt de volgende uitvoer gegenereerd.

TestRecognize("Smith")...
 SpeechDetected event raised.
 SpeechRecognized event raised.
  Grammar = Smith; Text = Smith
...Recognition result text = Smith

TestRecognize("Jones")...
 SpeechDetected event raised.
 SpeechRecognized event raised.
  Grammar = Jones; Text = Jones
...Recognition result text = Jones

TestRecognize("Mister")...
 SpeechDetected event raised.
 SpeechHypothesized event raised.
  Grammar = Smith; Text = mister
 SpeechRecognitionRejected event raised.
  Grammar = <not available>; Text =
...No recognition result.

TestRecognize("Mister Smith")...
 SpeechDetected event raised.
 SpeechRecognized event raised.
  Grammar = Smith; Text = mister Smith
...Recognition result text = mister Smith

press any key to exit...
using System;
using System.Globalization;
using System.Speech.Recognition;

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

      // Create an in-process speech recognizer for the en-US locale.
      using (SpeechRecognitionEngine recognizer =
        new SpeechRecognitionEngine(new CultureInfo("en-US")))
      {

        // Load grammars.
        recognizer.LoadGrammar(CreateNameGrammar("Smith"));
        recognizer.LoadGrammar(CreateNameGrammar("Jones"));

        // Disable audio input to the recognizer.
        recognizer.SetInputToNull();

        // Add handlers for events raised by the EmulateRecognize method.
        recognizer.SpeechDetected +=
          new EventHandler<SpeechDetectedEventArgs>(
            SpeechDetectedHandler);
        recognizer.SpeechHypothesized +=
          new EventHandler<SpeechHypothesizedEventArgs>(
            SpeechHypothesizedHandler);
        recognizer.SpeechRecognitionRejected +=
          new EventHandler<SpeechRecognitionRejectedEventArgs>(
            SpeechRecognitionRejectedHandler);
        recognizer.SpeechRecognized +=
          new EventHandler<SpeechRecognizedEventArgs>(
            SpeechRecognizedHandler);

        // Start four synchronous emulated recognition operations.
        TestRecognize(recognizer, "Smith");
        TestRecognize(recognizer, "Jones");
        TestRecognize(recognizer, "Mister");
        TestRecognize(recognizer, "Mister Smith");
      }

      Console.WriteLine("press any key to exit...");
      Console.ReadKey(true);
    }

    // Create a simple name grammar.
    // Set the grammar name to the surname.
    private static Grammar CreateNameGrammar(string surname)
    {
      GrammarBuilder builder = new GrammarBuilder("mister", 0, 1);
      builder.Append(surname);

      Grammar nameGrammar = new Grammar(builder);
      nameGrammar.Name = surname;

      return nameGrammar;
    }

    // Send emulated input to the recognizer for synchronous recognition.
    private static void TestRecognize(
      SpeechRecognitionEngine recognizer, string input)
    {
      Console.WriteLine("TestRecognize(\"{0}\")...", input);
      RecognitionResult result =
        recognizer.EmulateRecognize(input,CompareOptions.IgnoreCase);
      if (result != null)
      {
        Console.WriteLine("...Recognition result text = {0}",
          result.Text ?? "<null>");
      }
      else
      {
        Console.WriteLine("...No recognition result.");
      }
      Console.WriteLine();
    }

    static void SpeechDetectedHandler(
      object sender, SpeechDetectedEventArgs e)
    {
      Console.WriteLine(" SpeechDetected event raised.");
    }

    // Handle events.
    static void SpeechHypothesizedHandler(
      object sender, SpeechHypothesizedEventArgs e)
    {
      Console.WriteLine(" SpeechHypothesized event raised.");
      if (e.Result != null)
      {
        Console.WriteLine("  Grammar = {0}; Text = {1}",
          e.Result.Grammar.Name ?? "<none>", e.Result.Text);
      }
      else
      {
        Console.WriteLine("  No recognition result available.");
      }
    }

    static void SpeechRecognitionRejectedHandler(
      object sender, SpeechRecognitionRejectedEventArgs e)
    {
      Console.WriteLine(" SpeechRecognitionRejected event raised.");
      if (e.Result != null)
      {
        string grammarName;
        if (e.Result.Grammar != null)
        {
          grammarName = e.Result.Grammar.Name ?? "<none>";
        }
        else
        {
          grammarName = "<not available>";
        }
        Console.WriteLine("  Grammar = {0}; Text = {1}",
          grammarName, e.Result.Text);
      }
      else
      {
        Console.WriteLine("  No recognition result available.");
      }
    }

    static void SpeechRecognizedHandler(
      object sender, SpeechRecognizedEventArgs e)
    {
      Console.WriteLine(" SpeechRecognized event raised.");
      if (e.Result != null)
      {
        Console.WriteLine("  Grammar = {0}; Text = {1}",
          e.Result.Grammar.Name ?? "<none>", e.Result.Text);
      }
      else
      {
        Console.WriteLine("  No recognition result available.");
      }
    }
  }
}

Opmerkingen

De spraakherkenning verhoogt de SpeechDetected, SpeechHypothesizeden SpeechRecognitionRejectedSpeechRecognized gebeurtenissen alsof de herkenningsbewerking niet wordt geëmuleerd.

De recognizers die worden verzonden met Vista en Windows 7 de breedte van hoofdletters en tekens negeren bij het toepassen van grammaticaregels op de invoerzin. Zie de CompareOptions opsommingswaarden OrdinalIgnoreCase en IgnoreWidthvoor meer informatie over dit type vergelijking. De recognizers negeren ook nieuwe regels en extra witruimte en behandelen interpunctie als letterlijke invoer.

Zie ook

Van toepassing op

EmulateRecognize(RecognizedWordUnit[], CompareOptions)

Emuleert invoer van specifieke woorden aan de spraakherkenning, waarbij tekst wordt gebruikt in plaats van audio voor synchrone spraakherkenning en geeft aan hoe de recognizer Unicode-vergelijking tussen de woorden en de geladen grammatica's voor spraakherkenning verwerkt.

public:
 System::Speech::Recognition::RecognitionResult ^ EmulateRecognize(cli::array <System::Speech::Recognition::RecognizedWordUnit ^> ^ wordUnits, System::Globalization::CompareOptions compareOptions);
public System.Speech.Recognition.RecognitionResult EmulateRecognize(System.Speech.Recognition.RecognizedWordUnit[] wordUnits, System.Globalization.CompareOptions compareOptions);
member this.EmulateRecognize : System.Speech.Recognition.RecognizedWordUnit[] * System.Globalization.CompareOptions -> System.Speech.Recognition.RecognitionResult
Public Function EmulateRecognize (wordUnits As RecognizedWordUnit(), compareOptions As CompareOptions) As RecognitionResult

Parameters

wordUnits
RecognizedWordUnit[]

Een matrix van woordeenheden die de invoer voor de herkenningsbewerking bevat.

compareOptions
CompareOptions

Een bitsgewijze combinatie van de opsommingswaarden die het type vergelijking beschrijven dat moet worden gebruikt voor de geëmuleerde herkenningsbewerking.

Retouren

Het resultaat voor de herkenningsbewerking of null als de bewerking niet is geslaagd of als de recognizer niet is ingeschakeld.

Uitzonderingen

De recognizer heeft geen grammatica's voor spraakherkenning geladen.

wordUnits is null.

wordUnits bevat een of meer null elementen.

Opmerkingen

De spraakherkenning verhoogt de SpeechDetected, SpeechHypothesizeden SpeechRecognitionRejectedSpeechRecognized gebeurtenissen alsof de herkenningsbewerking niet wordt geëmuleerd.

De recognizer gebruikt compareOptions wanneer grammaticaregels worden toegepast op de invoerzin. De recognizers die worden verzonden met Vista en Windows 7 negeren hoofdletters als de waarde OrdinalIgnoreCase of IgnoreCase aanwezig is. De recognizer negeert altijd de tekenbreedte en negeert nooit het Kana-type. De recognizer negeert ook nieuwe regels en extra witruimte en behandelt interpunctie als letterlijke invoer. Zie de opsomming voor meer informatie over de tekenbreedte en het CompareOptions Kana-type.

Zie ook

Van toepassing op

EmulateRecognize(String, CompareOptions)

Emulatiet de invoer van een woordgroep voor de spraakherkenning, waarbij tekst wordt gebruikt in plaats van audio voor synchrone spraakherkenning en geeft aan hoe de recognizer Unicode-vergelijking tussen de woordgroep en de geladen grammatica voor spraakherkenning verwerkt.

public:
 System::Speech::Recognition::RecognitionResult ^ EmulateRecognize(System::String ^ inputText, System::Globalization::CompareOptions compareOptions);
public System.Speech.Recognition.RecognitionResult EmulateRecognize(string inputText, System.Globalization.CompareOptions compareOptions);
member this.EmulateRecognize : string * System.Globalization.CompareOptions -> System.Speech.Recognition.RecognitionResult
Public Function EmulateRecognize (inputText As String, compareOptions As CompareOptions) As RecognitionResult

Parameters

inputText
String

De invoerterm voor de herkenningsbewerking.

compareOptions
CompareOptions

Een bitsgewijze combinatie van de opsommingswaarden die het type vergelijking beschrijven dat moet worden gebruikt voor de geëmuleerde herkenningsbewerking.

Retouren

Het resultaat voor de herkenningsbewerking of null als de bewerking niet is geslaagd of als de recognizer niet is ingeschakeld.

Uitzonderingen

De recognizer heeft geen grammatica's voor spraakherkenning geladen.

inputText is null.

inputText is de lege tekenreeks ("").

Opmerkingen

De spraakherkenning verhoogt de SpeechDetected, SpeechHypothesizeden SpeechRecognitionRejectedSpeechRecognized gebeurtenissen alsof de herkenningsbewerking niet wordt geëmuleerd.

De recognizer gebruikt compareOptions wanneer grammaticaregels worden toegepast op de invoerzin. De recognizers die worden verzonden met Vista en Windows 7 negeren hoofdletters als de waarde OrdinalIgnoreCase of IgnoreCase aanwezig is. De recognizer negeert altijd de tekenbreedte en negeert nooit het Kana-type. De recognizer negeert ook nieuwe regels en extra witruimte en behandelt interpunctie als letterlijke invoer. Zie de opsomming voor meer informatie over de tekenbreedte en het CompareOptions Kana-type.

Zie ook

Van toepassing op