Microsoft.Speech.Recognition - несколько слов - C#

Узнай цену своей работы

Формулировка задачи:

Всем доброго времени. Делаю программу с голосовым распознаванием команд. Сабж. Покопался на форуме, нашел коды для распознавания, но решение именно такой проблемы не нашел.

Что получилось сделать:

Создать словарь с несколькими словами из Choices. То есть: я говорю: открой блокнот - прога распознает команду "открой " из словаря и выбирает "блокнот" из списка Choices. То бишь: открой /закрой(команды) и к ним слова на выбор "блокнот, опера и т.д. и т.п. сколько угодно".

Что нужно сделать:

Нужно чтобы было не два слова (команда+объект), а как минимум три (команда+объект+еще что-то). На примере умного дома: Включи свет (это я понял как сделать), а нужно: Включи свет на кухне. Как это реализовать? Не понимаю. Microsoft.Speech не поддерживает диктовку, но в моем случае это даже не диктовка - это три слова, которые заранее описаны в словаре/-ях.

Решение задачи: «Microsoft.Speech.Recognition - несколько слов»

textual
Листинг программы
<?xml version="1.0" encoding="UTF-8" ?>
<grammar version="1.0" xml:lang="ru-RU" xmlns="http://www.w3.org/2001/06/grammar" tag-format="semantics/1.0" root="Main">
 
  <rule id="Main">
    <item>
      <ruleref uri="#actions"/>
      <ruleref uri="#objects"/>
      <ruleref uri="#places"/>
    </item>
    <tag>
      out.action=rules.actions;
      out.place=rules.places;
      out.object=rules.objects;
    </tag>
  </rule>
 
  <rule id="actions" scope="public">
    <one-of>
      <item>включить<tag>out="turnon"</tag></item>
      <item>выключить<tag>out="turnoff"</tag></item>
    </one-of>
  </rule>
 
  <rule id="places" scope="public">
    <one-of>
      <item></item>
      <item>в ванной<tag>out="bathroom"</tag></item>
      <item>на кухне<tag>out="kitchen"</tag></item>
      <item>в комнате<tag>out="room"</tag></item>
      <item>в коридоре<tag>out="hallway"</tag></item>
    </one-of>
  </rule>
 
  <rule id="objects" scope="public">
    <one-of>
      <item>свет<tag>out="light"</tag></item>
      <item>воду<tag>out="water"</tag></item>
    </one-of>
  </rule>
</grammar>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.071 из 5