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 구글은 자신의 단어 라이브러리에서 사용할 수있는 단어
친절하게 해 주셔서 감사합니다 :) 잘못 문법을 구성하기 때문에 하나 개의 단어를 인식