SpeechRecognition - .Net 3.0

martinpriebe

Erfahrenes Mitglied
Hi,

hat jdm von euch Erfahrung mit der SpeechRecognitionEngine ?

Ich nutze VS2005 mit C# und bin gerade dabei das auszuprobieren.
Funktioniert auch ganz gut.

Nur wenn ich die Spracheingabe bekomme kann man auch per Confidence Level die Näherung prüfen.

Nur ich bekomme jedes mal -1.

Wie stelle ich das an ?

hier ein bischen Code:

..
recognizer_engine = new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en"));

Grammar customGrammar = CreateCustomGrammar();

recognizer_engine.UnloadAllGrammars();
recognizer_engine.LoadGrammar(customGrammar);
recognizer_engine.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
recognizer_engine.SpeechHypothesized += new EventHandler<SpeechHypothesizedEventArgs>(recognizer_SpeechHypothesized);

Thread t1 = new Thread(delegate()
{
recognizer_engine.SetInputToDefaultAudioDevice();

});
t1.Start();
t1.Join();

recognizer_engine.RecognizeAsync(RecognizeMode.Multiple);
..


private Grammar CreateCustomGrammar()
{
GrammarBuilder grammarBuilder = new GrammarBuilder();
System.Globalization.CultureInfo info = new System.Globalization.CultureInfo("en");
grammarBuilder.Culture = info;
grammarBuilder.Append(new Choices("test", "start", "end"));

return new Grammar(grammarBuilder);
}


private void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
MessageBox.Show(e.Result.Text + " - " + e.Result.Confidence.ToString());
//immer -1 ?
}



danke im vorraus
Martin