Вы должны быть в состоянии использовать SpeechRecognitionEngine.EmulateRecognize , который принимает текстовый ввод вместо аудио для распознавания речи.
Я не уверен в предполагаемом использовании, но если это будет использоваться для чего-то вроде чат-бота, который автоматически взаимодействует с вводом текста через IM или SMS, я думаю, вы найдете грамматику очень громоздкой в обслуживании и ограничительной. Я бы порекомендовал что-то вроде Язык разметки искусственного интеллекта (AIML) для обработки текстовых ответов. Это легко учиться и очень мощный. Вместо использования кратких грамматик, которые требуются ASR, этот язык позволяет вам использовать подстановочные знаки, которые намного более удобны для ввода текста. Есть даже некоторые C # проекты с открытым исходным кодом , которые предоставляют библиотеки для работы с AIML и упрощают создание чат-ботов.