2017-03-22 2 views
1
SpeechRecognitionEngine sre = new SpeechRecognitionEngine(); 
Choices clist = new Choices(); 
// just assume I have added words in clist not shown here 
Grammar gr = new Grammar(new GrammarBuilder(clist)); 

sre.RequestRecognizerUpdate(); 
sre.LoadGrammar(gr); 
sre.SpeechRecognized += sre_SpeechRecognized; 
sre.SetInputToDefaultAudioDevice(); 
sre.RecognizeAsync(RecognizeMode.Multiple); 

void sre_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) 
{ 
//This only outputs words present in grammar 
    Console.WriteLine(e.Result.Text); 
} 

왜 우리는 음성 인식에 문법이 필요한가? 문법이 필요하면 요점은 무엇입니까? 인식기가 문법에있는 문자열과 일치해야한다면 왜 음성 인식자가 문법없이 인식 한 결과를 출력 할 수 없습니까?왜 음성 인식에서 문법이 필요한가 C#

내가 잘못한 곳을 고맙게 여기며 친절하게 고쳐주세요.

+0

가능한 [문법 C#없는 음성 인식 API] (http://stackoverflow.com/questions/9229187/speech-recognition-api-without-grammar-c-sharp)의 가능한 복제본 –

답변

3

우리는 문법을 사용하여 운이 맞는 단어의 컨텍스트 또는 단어의 발음 방법을 변경합니다. hello와 yellow의 예. link에 샘플과 함께 좋은 설명이 있습니다. 안녕하세요는 인사말 문법과 관련이 있으며 노란색은 색 문법과 관련이 있습니다. 이 은 인식의 효율성/정확도를 향상시킵니다. 시스템이 특정 상태로 이동하면

문법 규칙이나 문법의 내부 그룹이 영리한 경우

, 개발자는 시나리오를 활성화하고 비활성화 할 수 있습니다. 시스템이 듣고있는 문맥에 대해 문맥을 알 수 있고 경우에 따라 더 정확하게 의 정확성을 부여 할 수 있습니다.

Purpose of Grammars에 대한 자세한 내용은 MSDN 링크를 참조하십시오.

그것은 어휘제한과 같은 기능을 제공하는 코드를하는 데 도움이, 는 인식식별 규칙 결과 필터, 어휘 사용자 정의합니다.

+0

다음 두 가지를 볼 수 있습니다. 질문. 문법을 사용하지 못하게하고 쓰기 나 잘못으로 인식되는 것을 출력 할 수 있습니까? 2 - 가능하지 않다면 안드로이드에서 SMS 내레이터 앱을 만들 때 speechRecognizer 클래스를 방치하고 해당 함수 및 이벤트를 사용했기 때문에 오프라인 Google API를 사용하기 때문에 C#에서 안드로이드 음성 인식 클래스를 포함 할 수 있습니까? 필자는 안드로이드 SDK의 구글 API 문법에 내장 된 문법을 만들 필요가 없었습니다. 내가 그것을 사용할 수 있다면 좋을 것이다. –

+0

@ Ahmed.J, 1. 가능합니다. 2. 나는 안드로이드 음성 인식에 대해 확신하지 못한다. –

관련 문제