SpeechRecognitionEngine.EmulateRecognize 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
동기 음성 인식을 위한 오디오 대신 텍스트를 사용하여 공유 음성 인식기 입력을 모사합니다.
오버로드
EmulateRecognize(String) |
동기 음성 인식용 오디오 대신 텍스트를 사용하여 음성 인식기에 구 입력을 에뮬레이션합니다. |
EmulateRecognize(RecognizedWordUnit[], CompareOptions) |
동기 음성 인식용 오디오 대신 텍스트를 사용하여 음성 인식기에 특정 단어 입력을 에뮬레이션하고, 인식기가 단어와 로드된 음성 인식 문법 사이의 유니코드 비교를 처리할 방법을 지정합니다. |
EmulateRecognize(String, CompareOptions) |
동기 음성 인식용 오디오 대신 텍스트를 사용하여 음성 인식기에 구 입력을 에뮬레이션하고, 인식기가 구와 로드된 음성 인식 문법 사이의 유니코드 비교를 처리할 방법을 지정합니다. |
설명
이러한 메서드는 시스템 오디오 입력을 무시하고 인식기 String 에서 개체 또는 개체 배열 RecognizedWordUnit 로 텍스트를 제공합니다. 이 기능은 테스트 하거나 애플리케이션 또는 문법 디버깅 하는 경우에 유용할 수 있습니다. 예를 들어 에뮬레이션을 사용하여 단어가 문법에 있는지 여부와 단어가 인식될 때 반환되는 의미 체계를 확인할 수 있습니다. 메서드를 SetInputToNull 사용하여 에뮬레이션 작업 중에 음성 인식 엔진에 대한 오디오 입력을 사용하지 않도록 설정합니다.
음성 인식기는 인식 작업이 에뮬레이트되지 않은 것처럼 , SpeechHypothesized, SpeechRecognitionRejected및 SpeechRecognized 이벤트를 발생SpeechDetected합니다. 인식기 새 줄 및 추가 공백을 무시 하 고 리터럴 입력으로 문장 부호를 처리 합니다.
참고
RecognitionResult 에뮬레이트된 입력에 대한 응답으로 음성 인식기에서 생성된 개체의 속성 값 null
Audio 은 입니다.
비동기 인식의 에뮬레이션 하기 위해 사용 된 EmulateRecognizeAsync 메서드.
EmulateRecognize(String)
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
동기 음성 인식용 오디오 대신 텍스트를 사용하여 음성 인식기에 구 입력을 에뮬레이션합니다.
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
매개 변수
- inputText
- String
인식 작업에 필요한 입력입니다.
반환
인식 작업의 결과이거나, 작업이 성공적으로 수행되지 않았거나 인식기를 사용할 수 없는 경우 null
입니다.
예외
인식기에는 음성 인식 문법이 로드되지 않았습니다.
inputText
이(가) null
인 경우
inputText
가 빈 문자열("")입니다.
예제
아래 코드 예제는 에뮬레이트된 입력과 연결 된 인식 결과, 음성 인식기에 의해 발생 하는 연결 된 이벤트를 보여 주는 콘솔 애플리케이션의 일부입니다. 이 예제에서는 다음 출력을 생성합니다.
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.");
}
}
}
}
설명
음성 인식기는 인식 작업이 에뮬레이트되지 않은 것처럼 , SpeechHypothesized, SpeechRecognitionRejected및 SpeechRecognized 이벤트를 발생SpeechDetected합니다.
인식기 Vista 및 Windows 7을 사용 하 여 제공 되는 대/소문자 무시 및 문자 너비 입력된 구를 문법 규칙을 적용 합니다. 이 유형의 비교에 대 한 자세한 내용은 참조는 CompareOptions 열거형 값 OrdinalIgnoreCase 및 IgnoreWidth합니다. 또한 인식자 새 줄 및 추가 공백을 무시 하 고 문장 부호 리터럴 입력으로 처리 합니다.
추가 정보
- EmulateRecognizeAsync(String)
- Recognize()
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
적용 대상
EmulateRecognize(RecognizedWordUnit[], CompareOptions)
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
동기 음성 인식용 오디오 대신 텍스트를 사용하여 음성 인식기에 특정 단어 입력을 에뮬레이션하고, 인식기가 단어와 로드된 음성 인식 문법 사이의 유니코드 비교를 처리할 방법을 지정합니다.
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
매개 변수
- wordUnits
- RecognizedWordUnit[]
인식 작업에 필요한 입력을 포함하는 단어 단위의 배열입니다.
- compareOptions
- CompareOptions
에뮬레이트된 인식 작업에 사용할 비교 형식을 설명하는 열거형 값의 비트 조합입니다.
반환
인식 작업의 결과이거나, 작업이 성공적으로 수행되지 않았거나 인식기를 사용할 수 없는 경우 null
입니다.
예외
인식기에는 음성 인식 문법이 로드되지 않았습니다.
wordUnits
이(가) null
인 경우
wordUnits
에는 하나 이상의 null
요소가 포함됩니다.
compareOptions
에는 IgnoreNonSpace, IgnoreSymbols 또는 StringSort 플래그가 포함됩니다.
설명
음성 인식기는 인식 작업이 에뮬레이트되지 않은 것처럼 , SpeechHypothesized, SpeechRecognitionRejected및 SpeechRecognized 이벤트를 발생SpeechDetected합니다.
인식기가 입력 구에 문법 규칙을 적용할 때 를 사용합니다 compareOptions
. 인식기 Vista 및 Windows 7을 사용 하 여 제공 되는 경우 대/소문자를 무시 합니다 OrdinalIgnoreCase 또는 IgnoreCase 값이 있음. 인식기가 항상 문자 너비를 무시하고 Kana 형식을 무시하지 않습니다. 또한 인식기에서는 새 줄과 추가 공백을 무시하고 문장 부호를 리터럴 입력으로 처리합니다. 문자 너비 및 일본어가 나 형식에 대 한 자세한 내용은 참조는 CompareOptions 열거형입니다.
추가 정보
- EmulateRecognizeAsync(String)
- Recognize()
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
적용 대상
EmulateRecognize(String, CompareOptions)
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
동기 음성 인식용 오디오 대신 텍스트를 사용하여 음성 인식기에 구 입력을 에뮬레이션하고, 인식기가 구와 로드된 음성 인식 문법 사이의 유니코드 비교를 처리할 방법을 지정합니다.
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
매개 변수
- inputText
- String
인식 작업에 필요한 입력 구입니다.
- compareOptions
- CompareOptions
에뮬레이트된 인식 작업에 사용할 비교 형식을 설명하는 열거형 값의 비트 조합입니다.
반환
인식 작업의 결과이거나, 작업이 성공적으로 수행되지 않았거나 인식기를 사용할 수 없는 경우 null
입니다.
예외
인식기에는 음성 인식 문법이 로드되지 않았습니다.
inputText
이(가) null
인 경우
inputText
가 빈 문자열("")입니다.
compareOptions
에는 IgnoreNonSpace, IgnoreSymbols 또는 StringSort 플래그가 포함됩니다.
설명
음성 인식기는 인식 작업이 에뮬레이트되지 않은 것처럼 , SpeechHypothesized, SpeechRecognitionRejected및 SpeechRecognized 이벤트를 발생SpeechDetected합니다.
인식기가 입력 구에 문법 규칙을 적용할 때 를 사용합니다 compareOptions
. 인식기 Vista 및 Windows 7을 사용 하 여 제공 되는 경우 대/소문자를 무시 합니다 OrdinalIgnoreCase 또는 IgnoreCase 값이 있음. 인식기가 항상 문자 너비를 무시하고 Kana 형식을 무시하지 않습니다. 또한 인식기에서는 새 줄과 추가 공백을 무시하고 문장 부호를 리터럴 입력으로 처리합니다. 문자 너비 및 일본어가 나 형식에 대 한 자세한 내용은 참조는 CompareOptions 열거형입니다.
추가 정보
- EmulateRecognizeAsync(String)
- Recognize()
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
적용 대상
.NET