Короче говоря: распознавание одной буквы действительно сложно.Просто представьте разницу между b, p и d.
Одна вещь, которую вы можете сделать, это установить для вашего KeywordRecognizer низкую достоверность
keywordRecognizer = new KeywordRecognizer(actions.Keys.Array(), ConfidenceLevel.low);
Но это не поможет вам, поскольку вы, скорее всего, будете иметьгораздо больше неправильных признаний потом.Кроме того, если вы хотите передать команды подряд, KeywordRecognizer все равно не даст вам результата, поскольку он обрабатывает первое ключевое слово и игнорирует те, которые произносятся во время задержки обработки.
Альтернативой может быть DictationRecognizer, который не прослушиваетконкретные ключевые слова, но переводит голос пользователя в текст, который вы могли бы затем сканировать на наличие ваших ключевых слов / букв.Очевидно, что это также имеет огромную задержку.
Итак, если у вас не может быть задержки, то я полагаю, что единственное правильное решение - переосмыслить, почему вам нужно распознавание букв, а не полные ключевые слова, такие как "альфа" вместоиз "а".