SpeechRecognitionEngine 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
프로세스에서 음성 인식 엔진을 관리 하 고 액세스할 수 있는 방법을 제공 합니다.
public ref class SpeechRecognitionEngine : IDisposable
public class SpeechRecognitionEngine : IDisposable
type SpeechRecognitionEngine = class
interface IDisposable
Public Class SpeechRecognitionEngine
Implements IDisposable
- 상속
-
SpeechRecognitionEngine
- 구현
예제
다음 예제에서는 기본 음성 인식 기능을 보여 주는 콘솔 애플리케이션 부분을 보여 줍니다. 이 예제에서는 메서드 모드를 사용 하기 때문에 Multiple
RecognizeAsync 콘솔 창을 닫거나 디버깅을 중지할 때까지 인식 기능을 수행 합니다.
using System;
using System.Speech.Recognition;
namespace SpeechRecognitionApp
{
class Program
{
static void Main(string[] args)
{
// Create an in-process speech recognizer for the en-US locale.
using (
SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine(
new System.Globalization.CultureInfo("en-US")))
{
// Create and load a dictation grammar.
recognizer.LoadGrammar(new DictationGrammar());
// Add a handler for the speech recognized event.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
// Configure input to the speech recognizer.
recognizer.SetInputToDefaultAudioDevice();
// Start asynchronous, continuous speech recognition.
recognizer.RecognizeAsync(RecognizeMode.Multiple);
// Keep the console window open.
while (true)
{
Console.ReadLine();
}
}
}
// Handle the SpeechRecognized event.
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine("Recognized text: " + e.Result.Text);
}
}
}
설명
설치 된 모든 음성 인식기에 대해이 클래스의 인스턴스를 만들 수 있습니다. 설치 된 인식기에 대 한 정보를 가져오려면 정적 메서드를 사용 InstalledRecognizers 합니다.
이 클래스는 in-process 음성 인식 엔진을 실행 하는 데 사용할 수 있으며 다음과 같이 음성 인식의 다양 한 측면을 제어할 수 있습니다.
In-process 음성 인식기를 만들려면 생성자 중 하나를 사용 SpeechRecognitionEngine 합니다.
음성 인식 문법을 관리 하려면 LoadGrammar ,, LoadGrammarAsync UnloadGrammar 및 UnloadAllGrammars 메서드 및 Grammars 속성을 사용 합니다.
인식기에 대 한 입력을 구성 하려면,, SetInputToAudioStream , SetInputToDefaultAudioDevice SetInputToNull 또는 메서드를 사용 SetInputToWaveFile SetInputToWaveStream 합니다.
음성 인식을 수행 하려면 Recognize 또는 메서드를 사용 RecognizeAsync 합니다.
인식이 침묵 또는 예기치 않은 입력을 처리 하는 방법을 수정 하려면 BabbleTimeout , InitialSilenceTimeout , 및 속성을 사용 EndSilenceTimeout EndSilenceTimeoutAmbiguous 합니다.
인식기에서 반환 하는 대체 횟수를 변경 하려면 속성을 사용 MaxAlternates 합니다. 인식기에서 인식 결과 반환 합니다.는 RecognitionResult 개체입니다.
인식기에 대 한 변경 내용을 동기화에 사용 된 RequestRecognizerUpdate 메서드. 인식기는 둘 이상의 스레드를 사용 하 여 작업을 수행 합니다.
인식기에 대 한 입력을 에뮬레이트 하려면 EmulateRecognize 및 메서드를 사용 EmulateRecognizeAsync 합니다.
개체는 SpeechRecognitionEngine 개체를 인스턴스화한 프로세스를 단독으로 사용 하기 위한 것입니다. 반면,는 SpeechRecognizer 사용 하려는 모든 애플리케이션을 사용 하 여 단일 인식기를 공유 합니다.
참고
항상 호출 Dispose 음성 인식기에 대 한 마지막 참조를 해제 하기 전에 합니다. 가비지 수집기는 인식기 개체를 호출할 때까지 사용 중인 리소스를 해제 되지 것입니다이 고, 그렇지 Finalize
메서드.
생성자
SpeechRecognitionEngine() |
시스템에 대한 기본 음성 인식기를 사용하여 SpeechRecognitionEngine 클래스의 새 인스턴스를 초기화합니다. |
SpeechRecognitionEngine(CultureInfo) |
지정된 로캘에 대한 기본 음성 인식기를 사용하여 SpeechRecognitionEngine 클래스의 새 인스턴스를 초기화합니다. |
SpeechRecognitionEngine(RecognizerInfo) |
사용할 인식기를 지정하기 위해 SpeechRecognitionEngine 개체의 정보를 사용하는 RecognizerInfo의 새 인스턴스를 초기화합니다. |
SpeechRecognitionEngine(String) |
사용할 인식기의 이름을 지정하는 문자열 매개 변수로 SpeechRecognitionEngine 클래스의 새 인스턴스를 초기화합니다. |
속성
AudioFormat |
SpeechRecognitionEngine이 수신하는 오디오의 형식을 가져옵니다. |
AudioLevel |
SpeechRecognitionEngine이 수신하는 오디오의 수준을 가져옵니다. |
AudioPosition |
SpeechRecognitionEngine에 입력을 공급하는 디바이스가 생성하고 있는 오디오 스트림에서 현재 위치를 가져옵니다. |
AudioState |
SpeechRecognitionEngine이 수신하는 오디오의 상태를 가져옵니다. |
BabbleTimeout |
인식을 완료하기 전에 SpeechRecognitionEngine에서 배경 잡음만 포함된 입력만 허용할 시간 간격을 가져오거나 설정합니다. |
EndSilenceTimeout |
인식 작업을 마치기 전에 SpeechRecognitionEngine이 모호하지 않은 입력의 끝에서 허용할 무음 간격을 가져오거나 설정합니다. |
EndSilenceTimeoutAmbiguous |
인식 작업을 마치기 전에 SpeechRecognitionEngine이 모호한 입력의 끝에서 허용할 무음 간격을 가져오거나 설정합니다. |
Grammars |
이 Grammar 인스턴스에 로드된 SpeechRecognitionEngine 개체의 컬렉션을 가져옵니다. |
InitialSilenceTimeout |
인식을 완료하기 전에 SpeechRecognitionEngine에서 무음만 포함된 입력만 허용할 시간 간격을 가져오거나 설정합니다. |
MaxAlternates |
각 인식 작업을 위해 SpeechRecognitionEngine에서 반환하는 대체 인식 결과의 최대 개수를 가져오거나 설정합니다. |
RecognizerAudioPosition |
처리하고 있는 오디오 입력 SpeechRecognitionEngine의 현재 위치를 가져옵니다. |
RecognizerInfo |
SpeechRecognitionEngine의 현재 인스턴스에 대한 정보를 가져옵니다. |
메서드
Dispose() |
SpeechRecognitionEngine 개체를 삭제합니다. |
Dispose(Boolean) |
SpeechRecognitionEngine 개체를 삭제하고 세션 중에 사용되는 리소스를 해제합니다. |
EmulateRecognize(RecognizedWordUnit[], CompareOptions) |
동기 음성 인식용 오디오 대신 텍스트를 사용하여 음성 인식기에 특정 단어 입력을 에뮬레이션하고, 인식기가 단어와 로드된 음성 인식 문법 사이의 유니코드 비교를 처리할 방법을 지정합니다. |
EmulateRecognize(String) |
동기 음성 인식용 오디오 대신 텍스트를 사용하여 음성 인식기에 구 입력을 에뮬레이션합니다. |
EmulateRecognize(String, CompareOptions) |
동기 음성 인식용 오디오 대신 텍스트를 사용하여 음성 인식기에 구 입력을 에뮬레이션하고, 인식기가 구와 로드된 음성 인식 문법 사이의 유니코드 비교를 처리할 방법을 지정합니다. |
EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions) |
비동기 음성 인식용 오디오 대신 RecognizedWordUnit 개체의 배열을 사용하여 음성 인식기에 특정 단어 입력을 에뮬레이션하고, 인식기가 단어와 로드된 음성 인식 문법 사이의 유니코드 비교를 처리할 방법을 지정합니다. |
EmulateRecognizeAsync(String) |
비동기 음성 인식용 오디오 대신 텍스트를 사용하여 음성 인식기에 구 입력을 에뮬레이션합니다. |
EmulateRecognizeAsync(String, CompareOptions) |
비동기 음성 인식용 오디오 대신 텍스트를 사용하여 음성 인식기에 구 입력을 에뮬레이션하고, 인식기가 구와 로드된 음성 인식 문법 사이의 유니코드 비교를 처리할 방법을 지정합니다. |
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
InstalledRecognizers() |
현재 시스템에 설치된 음성 인식기의 모든 정보를 반환합니다. |
LoadGrammar(Grammar) |
Grammar 개체를 동기적으로 로드합니다. |
LoadGrammarAsync(Grammar) |
음성 인식 문법을 비동기적으로 로드합니다. |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
QueryRecognizerSetting(String) |
인식기에 대한 설정의 값을 반환합니다. |
Recognize() |
동기 음성 인식 작업을 실행합니다. |
Recognize(TimeSpan) |
지정한 초기 대기 시간을 사용 하 여 동기 음성 인식 작업을 수행합니다. |
RecognizeAsync() |
단일 비동기 음성 인식 작업을 실행합니다. |
RecognizeAsync(RecognizeMode) |
비동기 음성 인식 작업을 실행합니다. |
RecognizeAsyncCancel() |
현재 인식 작업이 완료되기를 기다리지 않고 비동기 인식을 종료합니다. |
RecognizeAsyncStop() |
현재 인식 작업을 종료한 후 비동기 인식을 중지합니다. |
RequestRecognizerUpdate() |
인식기가 상태 업데이트를 멈출 것을 요청합니다. |
RequestRecognizerUpdate(Object) |
인식기가 상태를 업데이트하기 위해 일시 중지되고 관련된 이벤트에 대한 사용자 토큰을 제공하도록 요청합니다. |
RequestRecognizerUpdate(Object, TimeSpan) |
인식기가 상태를 업데이트하기 위해 일시 중지되고 관련된 이벤트에 대한 오프셋과 사용자 토큰을 제공하도록 요청합니다. |
SetInputToAudioStream(Stream, SpeechAudioFormatInfo) |
오디오 스트림에서 입력을 받도록 SpeechRecognitionEngine 개체를 구성합니다. |
SetInputToDefaultAudioDevice() |
기본 오디오 디바이스에서 입력을 받도록 SpeechRecognitionEngine 개체를 구성합니다. |
SetInputToNull() |
음성 인식기에서 입력을 사용할 수 없습니다. |
SetInputToWaveFile(String) |
Waveform 오디오 형식(.wav) 파일에서 입력을 받도록 SpeechRecognitionEngine 개체를 구성합니다. |
SetInputToWaveStream(Stream) |
Waveform 오디오 형식(.wav) 데이터가 포함된 스트림에서 입력을 받도록 SpeechRecognitionEngine 개체를 구성합니다. |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
UnloadAllGrammars() |
모든 Grammar 개체를 인식기에서 언로드합니다. |
UnloadGrammar(Grammar) |
지정된 Grammar 개체를 SpeechRecognitionEngine 인스턴스에서 언로드합니다. |
UpdateRecognizerSetting(String, Int32) |
SpeechRecognitionEngine에 지정된 설정을 지정된 정수 값으로 업데이트합니다. |
UpdateRecognizerSetting(String, String) |
지정된 음성 인식 엔진 설정을 지정된 문자열 값으로 업데이트합니다. |
이벤트
AudioLevelUpdated |
SpeechRecognitionEngine가 오디오 입력 수준을 보고할 때 발생했습니다. |
AudioSignalProblemOccurred |
SpeechRecognitionEngine가 오디오 신호에서 문제를 감지했을 때 발생했습니다. |
AudioStateChanged |
SpeechRecognitionEngine가 수신하는 오디오의 상태가 변경되었을 때 발생했습니다. |
EmulateRecognizeCompleted |
SpeechRecognitionEngine가 에뮬레이트된 입력에 대한 비동기 인식 작업을 종결할 때 발생했습니다. |
LoadGrammarCompleted |
SpeechRecognitionEngine가 Grammar 개체의 비동기 로딩을 완료했을 때 발생했습니다. |
RecognizeCompleted |
SpeechRecognitionEngine가 에뮬레이트된 입력에 대한 비동기 인식 작업을 종결할 때 발생했습니다. |
RecognizerUpdateReached |
실행이 SpeechRecognitionEngine 수정을 적용하기 위해 일시 중지될 때 발생했습니다. |
SpeechDetected |
SpeechRecognitionEngine가 음성으로 식별할 수 있는 입력을 감지할 때 발생했습니다. |
SpeechHypothesized |
SpeechRecognitionEngine에서 단어나 문법적으로 여러 구의 구성 요소가 될 수 있는 단어를 인식했을 때 발생 |
SpeechRecognitionRejected |
SpeechRecognitionEngine에서 로드하고 활성화한 어떤 Grammar 개체와도 일치하지 않는 입력을 받을 때 발생 |
SpeechRecognized |
SpeechRecognitionEngine에서 로드하고 활성화한 어떤 Grammar 개체와 일치하는 입력을 받을 때 발생 |