Здравствуйте! Хотелось бы рассказать Вам об одной из своих старых разработок, менеджере голосовых команд Speecher

Возможности на текущий момент:

  1. Активация/дезактивация по команде
  2. Воспроизвести время
  3. Прочитать последние новости
  4. Рассказать анекдот
  5. Закрыть/свернуть активное окно
  6. Запуск файла*
  7. Открыть ссылку*
  8. Выполнить макрос*
  9. Прочитать текст на WEB странице*
  10. Прочитать текст из XML документа (RSS новости)*
  11. Прогноз погоды*

 *команды настраиваемые в редакторе словаря

 

Общее описание

Программа распознает голосовые команды (слова/фразы) и выполняет те или иные действие. Набор команд делиться на две категории: статичные и задаваемые в словаре. Команды задаваемые в словаре подгружаются из файла Dictionary.xml при запуске программы. Для работы программы необходимы следующие компоненты:

Редактор словаря

Редактор словаря служит для привязки команды (запроса) на выполнение определенного действия. Попробую описать функционал редактора словаря:

Запуск файла: Указываем путь к файлу который необходимо запустить. (программу, скрипт, файл или папку)

Файловая операция

Открыть сайт: Указываем ссылку на страницу которую необходимо открыть в браузере по-умолчанию.

Открыть сайт

Выполнить макрос: Здесь мы задаем какой макрос необходимо выполнить. Необходимо указать к файлу макроса. Макросы можно составить в программе Macros Effects, но сохранять нужно строго скрипт макроса.

Выполнить макрос

Парсинг GET: Воспроизвести текст со страницы в интернете. Указываем web-адрес страницы и сигнатуры для поиска (по желанию можете задать кодировку и длину строки).

Примеру попробуем извлечь из главной страницы моего сайта надпись Запись и выполнение макросов:

Адрес - http://gebekovas.ru/soft/

Начальная сигнатура - <h3 class="row-feature-title "><span>

Конечная сигнатура - </span>

WEB парсинг

Парсинг XML: По аналогии с парсингом с WEB страницы, дает возможность парсинга информации с XML документа (примеру RSS новости). Указываем адрес XML документа и фильтр отбора. Синтаксис фильтра:

/<имя ветки>/<имя ветки>/<имя ветки>:индекс ветки:индекс атрибута:значение атрибута
если индекс атрибута меньше 0, то значение проверяется всей ветки
пример (ссылка http://export.yandex.ru/weather-ng/forecasts/27612.xml) :
"day:1/day_part:1:1:2/image:1" -вернет значение первой ветки image,родитель, ветка day_part значение первого атрибута которой равен 2, родитель первая ветка day
"day:2/sunrise:1" - вернет значение первой ветки sunrise, родитель вторая ветка day

XML парсинг

Погода: Воспроизвести состояние погоды в городе. Задаем город и формат текста в котором необходимо воспроизвести результат. ($w-погода $t-температура)

Прогноз погоды

!Не забудьте закрыть Speecher при редактировании словаря

Запуск программы

При запуске программы менеджер будет в режиме сна. Чтобы "пробудить" его произнесите команду "компьютер проснись" (для перевода в режим сна "компьютер засыпай").

На этом все. Если будут вопросы пишите в комментариях.

Ссылка: https://yadi.sk/d/fyiGi4rvcbzhP

Видео-демонстрация применения данной программы в Dota 2.