Отключить встроенные команды распознавания речи?
Я пытаюсь создать программное обеспечение, которое интерпретирует различные текстовые команды, все по-своему. Я использую System.Speech.Recognition, и он работает на удивление хорошо, но я не могу понять, как обойти тот факт, что всякий раз, когда я говорю "Удалить", "Закрыть", "Исправить" и т. Д., Я получаю значение по умолчанию Windows (7) реализация. Есть ли способ обойти это с System.Speech.Recognition? Если нет, какую библиотеку C# .NET вы бы порекомендовали больше всего?
1 ответ
Решение
Используйте SpeechRecognitionEngine вместо SpeechRecognizer.
Попробуй это:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Speech.Recognition;
namespace speech
{
class Program
{
static void Main(string[] args)
{
SpeechRecognitionEngine mynizer = new SpeechRecognitionEngine();
GrammarBuilder builder = new GrammarBuilder();
builder.AppendDictation();
Grammar mygram = new Grammar(builder);
mynizer.SetInputToDefaultAudioDevice();
mynizer.LoadGrammar(mygram);
while (true)
{
Console.WriteLine(mynizer.Recognize().Text);
}
}
}
}