2014-10-03 1 views
2

나는 사용자로부터 여러 단어를 인식하는 응용 프로그램을 만들고 있습니다. 따라서 인식 된 단어를 사용하여 문장을 구성합니다.C# Speech 여러 단어를 함께 인식합니까? (문장을 인식)

여기에 지금의로이 작업은 다음과 같습니다

namespace SentenceRecognitionFramework__v1_ 
{ 
    public partial class Form1 : Form 
    { 

     SpeechRecognitionEngine recog = new SpeechRecognitionEngine(); 
     SpeechSynthesizer sp = new SpeechSynthesizer(); 

     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void btnListen_Click(object sender, EventArgs e) 
     { 
      Choices sList = new Choices(); 
      sList.Add(new String[] { "what","is", "a", "car" }); 

      Grammar gr = new Grammar(new GrammarBuilder(sList)); 

      recog.RequestRecognizerUpdate(); 
      recog.LoadGrammar(gr); 
      recog.SpeechRecognized += sRecognize_SpeechRecognized; 
      recog.SetInputToDefaultAudioDevice(); 
      recog.RecognizeAsync(RecognizeMode.Multiple); 
      recog.SpeechRecognitionRejected += sRecognize_SpeechRecognitionRejected; 
     } 

     private void sRecognize_SpeechRecognitionRejected(object sender, SpeechRecognitionRejectedEventArgs e) 
     { 
      sentenceBox.Text = "Sorry, I couldn't recognize"; 
     } 

     private void sRecognize_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) 
     { 
      sentenceBox.Text = e.Result.Text.ToString(); 
     } 
    } 
} 

그러나,이 코드는 한 번에 하나 개의 단어를 인식합니다. 나는이 작업을 수행하려면 코드를 수정하더라도 :

private void sRecognize_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) 
     { 
      sentenceBox.Text = sentenceBox.Text + " " + e.Result.Text.ToString(); 
     } 

내가 말을 발언 할 때 지속적으로이 단어를 인식 할 수없는 응용 프로그램 지속적 내가 그들을 말할 때 휴식을하지 않고 "자동차는 무엇입니까."

나는 문장을 발언 할 때 연설을 중단해야 할 필요없이, 정의 된 단어를 사용하여 내장 전체 문장을 인식 할 수있는 프로그램의 순서를 만들 수 있습니다 어떤 변화가?

출력이 필요 : 나는 문장 발언

: 자동차

완벽한 예입니다 무엇 : 를 자동차를

응용 프로그램이 표시 무엇 : Google 음성 녹음 ognition 구글은 자신의 단어 라이브러리에서 사용할 수있는 단어

친절하게 해 주셔서 감사합니다 :) 잘못 문법을 구성하기 때문에 하나 개의 단어를 인식

답변

관련 문제