преобразование речи в текст отключить автоматический обработчик Windows и написать то, что я говорю - PullRequest
2 голосов
/ 01 июля 2011

Я начал использовать .NET для преобразования текста в текст (SpeechRecognizer)

При поиске и поиске на этом сайте я нашел следующий пример кода:

var c = new Choices();
for (var i = 0; i <= 100; i++)
  c.Add(i.ToString());
var gb = new GrammarBuilder(c);
var g = new Grammar(gb);
rec.UnloadAllGrammars();
rec.LoadGrammar(g);
rec.Enabled = true;

Что помогло мне начать. Я изменил эти 2 строки

for (var i = 0; i <= 100; i++)
   c.Add(i.ToString());

на мою нужду

c.Add("Open");
c.Add("Close");

Но когда я говорю «Закрыть», распознаватель окон закрывает мое приложение!

Кроме того, есть ли лучший способ распознать речь, чем создать свой собственный словарь? Я хотел бы, чтобы пользователь сказал что-то вроде: «Напиши записку самому себе», а затем пользователь скажет, и я напишу.

Извините за то, что задали 2 вопроса на один и тот же вопрос, оба, похоже, имеют отношение к моей единственной проблеме.

Ответы [ 2 ]

1 голос
/ 19 ноября 2012

У меня есть лучший ответ ....

Попробуйте добавить грамматику диктовки в распознаватель ... кажется, что она отключает все встроенные команды, такие как выбор / удаление / закрытие и т. Д.

Затем вам нужно использовать событие распознавания речи и SendKeys для добавления текста на страницу.Мои выводы показывают, что вы не можете съесть свой торт SAPI и съесть его.

Я думаю, что решение, приведенное выше, должно работать для вас, если вы еще не решили (или перешли).

1 голос
/ 01 июля 2011

Вы используете общий распознаватель речи (SpeechRecognizer). Когда вы создаете экземпляр SpeechRecognizer вы получаете распознаватель, который может использоваться другими приложениями и обычно используется для создания приложений для управления окнами и приложениями, запущенными на рабочем столе.

Похоже, вы хотите использовать свой собственный механизм распознавания (SpeechRecognitionEngine). Поэтому создайте экземпляр SpeechRecognitionEngine.

см. SpeechRecognizer Class .

Отключить встроенные команды распознавания речи? может также иметь некоторую полезную информацию.

Настольные распознаватели Microsoft включают специальную грамматику, называемую грамматикой диктовки, которая может использоваться для расшифровки произвольных слов, произнесенных пользователем. Вы можете использовать грамматику диктовки для распознавания стиля транскрипции. См. Класс DictationGrammar и SAPI и Windows 7 Проблема

...