2013-04-26 37 views
3

我正尝试在c#应用程序的命令和控制模式中使用Speech API 5.1。我正在使用它,并且在语法中只有两个命令。我面临的问题与检测这些命令的准确性有关。识别引擎不能正确识别命令。有时(而不是有时)它会被任何声音激活(不会接近命令的声音)。有没有什么技术可以让我更加严格地认识到我拥有的两条命令?如何使MS语音API在识别仅两个命令时更加准确

回答

4

您可以在SpeechRecognized事件中检查结果的Confidence属性。

void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) 
{ 
    if(e.Result.Confidence > THRESHOLD) 
    { 
     //matched 
    } 
    else 
    { 
     //not reliable enough, so consider it unmatched 
    } 
} 

对于THRESHOLD,您可以使用0.0到1.0之间的不同值。阈值越高,它就越“严格”(尽管如果你把它设得太高,你可能会开始失去认知)。尝试从的THRESHOLD值开始,然后从那里调整它。

+0

谢谢,它的工作。 – Novice 2013-04-26 16:27:07

+0

不客气:) – keyboardP 2013-04-26 16:27:32