2013-04-26 2 views
3

Я пытаюсь использовать Speech API 5.1 в режиме управления и управления в приложении C#. Я использую его inProc и имею только две команды в грамматике. Проблема, с которой я сталкиваюсь, связана с точностью обнаружения этих команд. Механизм распознавания не распознает команды должным образом. Иногда (скорее, чем когда-либо) он просто активируется с любым голосом (не близко к звуку команд). Есть ли какой-либо метод, чтобы сделать его более строгим в распознавании только двух команд, которые у меня есть?Как сделать интерпретатор речи MS более точным при распознавании только двух команд

ответ

4

Вы можете проверить свой результат Confidence на своем SpeechRecognized.

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.7, а затем отрегулируйте его оттуда.

+0

Спасибо, это сработало. – Novice

+0

Добро пожаловать :) – keyboardP