Методика применения программы "Перпетуум М" для управления различными приложениями с помощью голосовых команд

2010 г.

       Здесь рассмотрено использование программы "Перпетуум М" для управления редактором Photoshop 8.0 с русскоязычным интерфейсом. Этот метод применим не только к Photoshop, но и к любым другим приложениям, которыми можно управлять при помощи клавиатуры.

На главную страницу | Назад

Многие из нас не раз сталкивались с необходимостью выполнять большое количество однообразных действий в какой-либо программе. Такая работа отнимает много времени, а при большом объёме способна вызвать не только усталость, но и раздражение, потому что вынуждает человека превращаться в продолжение машины. Возьмём простой пример. Вы отдохнули в очень красивых местах и сделали множество отличных фотоснимков. Вернувшись домой, вы решили их немного обработать с помощью редактора Photoshop. Предположим, что вся обработка сводится лишь к тому, чтобы некоторые из снимков, лежащие "на боку", повернуть на 90 градусов по часовой или против часовой стрелки для более удобного последующего просмотра. Если снимков очень много, такая простая процедура может превратиться в длительное монотонное щёлканье мышкой (или клавиатурой - кто как привык) по меню Photoshop. Например, чтобы повернуть изображение на 90 градусов по часовой стрелке, нужно трижды щёлкнуть мышкой в определённые места экрана, и не промахнуться при этом ни разу. Сначала нужно щёлкнуть по слову "Изображение" в главном меню, затем в появившемся меню - "Повернуть холст", и, наконец, "90 по часовой стрелке". Если вы используете клавиатуру, то действий получится больше: потребуется последовательно нажать клавиши [Alt] [и] [о] [Enter] [9]. А теперь представьте, что вместо всех этих манипуляций достаточно лишь сказать: "поверни по часовой".

Привычка - сильная штука. Бывает, человек до последнего не верит, что иной способ выполнения привычных действий намного удобнее, но когда всё же решается попробовать, испытывает чувство, близкое к потрясению и непередаваемую лёгкость в общении с машиной. В какой-то степени меняется даже отношение к компьютеру: невольно машина начинает восприниматься как одушевлённый объект. Кто испытал это хотя бы раз, уже никогда не откажется от возможности речевого управления. После этого старые ручные методы кажутся безнадёжно устаревшими и даже не совсем цивилизованными. Впрочем, здесь необходимо сделать одну оговорку. Не все действия следует переводить на исполнение голосовыми командами. Есть и такие, которые проще выполнить вручную. В нашем примере открыть файл проще всего путём его перетаскивания из проводника в окно редактора Photoshop. Это делается одним движением мыши, удобно и наглядно. Вряд ли кто-то предпочтёт словами объяснять, какой файл нужно открыть и где он находится.

Конечно, в речевом управлении могут быть и сбои. Это нормально, ведь и человек не всегда понимает сказанное, и говорим мы не всегда одинаково чётко. Но даже если в одном случае из десяти команду придётся повторить, это существенно не отразится на удобстве сервиса. К тому же при использовании данной методики можно получить гораздо более редкое количество ошибок. Теперь по порядку рассмотрим, как это делается.

1.Составляем список команд

Для начала давайте решим, какие команды нам потребуются. Для этого мысленно "прокрутим" все необходимые действия в Photoshop и отметим те, которые должны выполняться при помощи устных команд. Сначала открываем файл с фотоснимком. Это мы будем делать, как уже сказано выше, перетаскиванием файла мышью. Команда пока не требуется. Далее смотрим снимок. Если он в нормальной ориентации, закрываем его без изменений (первая команда). Если нет - поворачиваем в нужную сторону (ещё две команды), сохраняем изменения и закрываем файл (четвёртая команда). Можете добавить любое количество других команд. Например, может пригодиться команда "шаг назад" (пятая команда), которая отменяет последнее действие. Каких-либо определённых ограничений на количество команд нет. Вряд ли вам потребуется их так много, что это сможет вызвать затруднения в работе программы. Так что можете ни в чём себе не отказывать. В нашем примере получаем такой список:

Таб.1. Список команд
Закрыть файл без изменений
Повернуть снимок по часовой стрелке
Повернуть снимок против часовой стрелки
Сохранить изменения и закрыть файл
Шаг назад
Скачать программу 'Юный математик, подготовка к школе'
Щёлкнув по картинке, можно перейти на страницу с описанием программы "Юный математик, подготовка к школе", которая помогает детям освоить математику, общаясь с ними подобно человеку при помощи устной речи без использования мыши и клавиатуры. Программу можно скачать и испытать.

2.Описываем клавишные команды

Теперь для каждой команды необходимо составить последовательность нажатий клавиш. Сделать это несложно. Для этого нужно воспользоваться той программой, которой мы собираемся управлять, и "обкатать" на ней все команды сначала на реальной клавиатуре. В каждой программе могут быть свои особенности в реализации управления, но есть и общие правила, которых придерживается большинство программ. Для того, чтобы попасть в главное меню программы, обычно требуется нажать клавишу [Alt]. Откройте Photoshop и попробуйте это сделать. Вы увидите, как первый пункт главного меню выделится цветом, и при этом в каждом пункте окажется подчёркнутой одна из букв. Подчёркнутые буквы - это подсказка, с помощью которой можно узнать, какую теперь клавишу нужно нажать, чтобы попасть в следующее меню. Учтите, что при этом должна быть включена соответствующая кодировка клавиатуры. В нашем случае (для русифицированного Photoshop) - русская. И в будущем, используя голосовое управление, не забудьте про этот нюанс, иначе Photoshop не будет воспринимать команды.

Наблюдая за тем, какие буквы (а иногда и цифры) подчёркнуты, и выбирая следующий пункт меню, мы можем составить последовательность клавиш, нажатие которых приводит к выполнению той или иной команды. Пока мы это делаем вручную, но эти же комбинации позже будут воспроизводиться автоматически программой "Перпетуум М". Выше уже приводился пример последовательности нажатий клавиш для команды "Повернуть по часовой стрелке": [Alt] [и] [о] [Enter] [9]. Подобные комбинации необходимо создать для каждой команды.

Затем каждую команду нужно описать в соответствии с форматом клавишных команд. В конце этой страницы находится приложение (фрагмент инструкции по разработке сценариев, относящийся к описанию функции Sys.KeybSimulate), в котором подробно изложены правила составления клавишных команд. Руководствуясь этими правилами, вы можете составлять свои команды. В итоге для нашего примера получим:

Таб.2. Кодирование команд
Команда Код команды
Закрыть файл без изменений {Alt\/}фз
Повернуть снимок по часовой стрелке {Alt\/}ио{Enter\/}9
Повернуть снимок против часовой стрелки {Alt\/}ио{Enter\/}0
Сохранить изменения и закрыть файл {Alt\/}фс{Enter\/}{Alt\/}фз
Шаг назад {Alt\/}ра

Заметьте, команда "сохранить изменения и закрыть файл" содержит в себе два действия. Первое - "сохранить изменения" - описывается кодом {Alt\/}фс{Enter\/}, второе - "закрыть файл" - кодом {Alt\/}фз (что полностью совпадает с командой "закрыть без изменений"). В одну команду можно включить любое количество последовательно выполняемых действий. Но нужно убедиться, что такая последовательность корректна.

Если детально рассмотреть код {Alt\/}фс{Enter\/}, то его начало выглядит типично: нажимаем и отпускаем клавишу "Alt", чтобы попасть в главное меню, нажимаем "ф", чтобы попасть в меню "Файл", нажимаем "с" для выбора пункта "Сохранить", но для чего в конце этого кода введено нажатие клавиши [Enter]? Графические файлы разных типов сохраняются по-разному, и это необходимо учитывать. Если мы сохраняем изменения в файле JPG, то Photoshop запрашивает данные о том, с каким качеством мы собираемся сохранять файл. В этот момент можно просто нажать [Enter], и снимок по умолчанию будет сохранен с тем качеством, с каким был сохранён предыдущий снимок. Здесь ещё один важный момент: в дальнейшем перед использованием голосового управления один раз сохраняйте изменения в файле вручную и устанавливайте при этом требуемое качество. Тогда все последующие снимки будут сохраняться с этим же качеством. Если заранее не установить качество сохранения, то файлы, возможно, будут сохраняться в худшем качестве, чем нужно, или в неоправданно завышенном.

При работе с другими форматами файлов редактор может запрашивать другие параметры при сохранении. Это нужно учитывать при кодировании команд.

Стоит ещё отметить, что код {Alt\/}фс действует так же как {Ctrl\}s{Ctrl/} (горячая клавиша Ctrl+S), но во втором случае во время работы в Photoshop должна быть включена латинская кодировка клавиатуры, а так как не у всех пунктов меню есть подобные коды, то предпочтительнее код {Alt\/}фс и русская клавиатура.

3.Придумываем слова для вызова команд

Теперь для каждой команды нужно придумать слова, произнося которые мы будем активировать её выполнение. На этом этапе действуют следующие правила.

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

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

3.Если для активации команды используется словосочетание или фраза, то нужно помнить, что произносить все слова данной фразы или словосочетания нужно обязательно слитно, как если бы это было одно слово. Никаких пауз и перемен в интонации на стыке слов быть не должно! Варианты распознавания (о них читайте ниже) в таких случаях тоже записываются слитно, как одно слово.

4.Если какое-то слово (фраза) распознаётся ненадёжно, его можно заменить другим словом (фразой).

При выборе слов и фраз, активирующих выполнение команд, следует исходить из соображений удобства и собственных предпочтений. В большинстве случаев можно получить достаточно надёжное распознавание выбранного слова (фразы). Но при необходимости можно воспользоваться четвёртым правилом из приведённого выше списка, и выбрать другое слово. В нашем случае для команды "Закрыть файл без изменений" зададим слова: "отмена", "сойдёт и так". Для команды "Повернуть снимок по часовой стрелке" - "поверни по часовой". Для команды "Повернуть снимок против часовой стрелки" - "поверни против часовой". Для команды "Сохранить изменения и закрыть файл" - "сохрани", "закрой". Для команды "Шаг назад" - "шаг назад". Теперь мы знаем, что будем говорить для выполнения той или иной команды, но нужно, чтобы это узнала и программа "Перпетуум М". Мы можем ввести придуманные слова (фразы) в программу в привычном для нас виде - в соответствии с правописанием. И скорее всего программа будет неплохо работать с таким списком слов (фраз). Но всё-таки лучше все слова (фразы) преобразовать в соответствии с их звучанием. Это существенно повысит надёжность их распознавания. В результате мы должны получить варианты распознавания - адаптированные слова, которые на самом деле и будут распознаваться программой. Делается это очень просто: слова нужно записывать согласно принципу "что слышим, то и пишем". При этом необходимо учитывать, что фраза звучит как одно слово. Например, фраза "сойдёт и так" запишется в таком виде: "садётытак". Проделав это со всеми словами, получаем такую таблицу:

Таб.3. Варианты распознавания
Команда Код команды Сопоставленные слова Варианты распознавания
Закрыть файл без изменений {Alt\/}фз отмена, сойдёт и так атмена, садётытак
Повернуть снимок по часовой стрелке {Alt\/}ио{Enter\/}9 поверни по часовой павирнипачисавой
Повернуть снимок против часовой стрелки {Alt\/}ио{Enter\/}0 поверни против часовой павирнипротифчисавой
Сохранить изменения и закрыть файл {Alt\/}фс{Enter\/}{Alt\/}фз сохрани, закрой сахрани, закрой, закой
Шаг назад {Alt\/}ра шаг назад шакназат
Скачать программу Перпетуум М
Щёлкнув по картинке, можно перейти на страницу с описанием программы "Перпетуум М", которая содержит алгоритм распознавания речи, интерпретатор скриптов и еще ряд полезных возможностей. Программу можно скачать и испытать.

4.Вводим команды в словарь "Перпетуум М"

Теперь из всего, что мы подготовили, нужно ввести в программу "Перпетуум М" коды команд и варианты распознавания. Используя эти данные, программа сможет идентифицировать команды и выполнять их. Для ввода таких данных в программе предусмотрен редактор словаря. Найти его можно, щёлкнув мышкой по надписи "словарь" в верхней части окна программы, при условии, что вы вошли в программу без сценария. Если же при входе в программу появилось меню сценариев (а оно обязательно появляется, если присутствует хотя бы один сценарий), нажмите "Отменить". В редакторе словаря нам потребуется таблица "Состав словаря" и окно "Варианты распознавания для слова". Вы можете предварительно стереть все строки в таблице "Состав словаря" и ввести новые команды в пустую таблицу, а можете добавить новые команды к тем, которые там уже есть. Всё зависит от того, нужно ли вам, чтобы новые команды работали вместе со старыми. Если вы ещё ничего не меняли в словаре, значит, словарь имеет стандартные настройки, с которыми поставляется программа. Можете о них не беспокоиться. Если вы их сотрёте, а позже пожелаете к ним вернуться, достаточно будет удалить файл perpetuum.dct, в котором и сохраняются все пользовательские настройки словаря. Если вы уже вносили изменения в словарь и хотели бы их сохранить, но сейчас они вам не нужны, сохраните файл perpetuum.dct. Позже, вернув его, вы вернёте и настройки.

Коды команд должны быть введены во вторую колонку таблицы "Состав словаря". В первую колонку вводить ничего не нужно. Варианты распознавания вводятся в окно, расположенное правее таблицы "Состав словаря". Учтите, что в этом окне отображаются варианты распознавания только для одной (выделенной в данный момент) строки таблицы "Состав словаря". Закончив ввод данных, обязательно нажмите кнопку "Сохранить изменения", расположенную под окном вариантов распознавания. При этом все изменения сохранятся в файле perpetuum.dct. Если вам интересно, как выглядит этот файл изнутри, можете перетащить его мышкой из проводника в окно "блокнота". Там вы увидите вот что:

Таб.4. Пример содержимого файла perpetuum.dct
{Alt\/}фс{Enter\/}{Alt\/}фз~закой,закрой,сахрани
{Alt\/}ио{Enter\/}0~павирнипротифчисавой
{Alt\/}ио{Enter\/}9~павирнипачисавой
{Alt\/}фз~атмена,садётытак
{Alt\/}ра~шакназат

Если запутаетесь с вводом данных, скачайте уже готовый файл perpetuum.dct, расположенный в архиве Commands.rar (208 байт, пришлось упаковать, чтобы файл скачивался, а не открывался), и распакуйте его в ту папку, где у вас находится программа perpetuum.exe. Данные этого файла вступят в силу при следующем входе в программу. Теперь все готово, можно начинать.

5.Начинаем!

Общие вопросы использования программы "Перпетуум М" здесь рассматривать не будем. Информации на эту тему много в описании программы и на сайте. Будем исходить из того, что у вас уже подключен микрофон, выполнены настройки звука в системе, проверено качество звукового сигнала. Теперь войдите в программу "Перпетуум М" (без сценария), поставьте галочку напротив надписи "Словарь / команды" в верхней части главного окна, а напротив надписи "Произвольная речь" галочку уберите. Нажмите кнопку "СТАРТ" и попробуйте диктовать команды. В текстовом окне программы при этом должны появляться коды соответствующих команд. Можете немного потренироваться. Нажмите кнопку "СТОП", чтобы остановить распознавание, но программу не закрывайте. Подготовьте всё необходимое для работы - откройте Photoshop, откройте проводник и найдите в нём папку с фотографиями. Теперь снова перейдите в программу "Перпетуум М", поставьте галочку напротив надписи "Направить текст в...", нажмите кнопку "СТАРТ" и начинайте обработку фотографий. Первый снимок желательно сохранить вручную, как уже было сказано выше. Далее перетаскивайте мышкой из проводника в окно Photoshop файлы со снимками, поворачивайте их при необходимости устными командами, сохраняйте или просто закрывайте, не касаясь при этом ни мыши, ни клавиатуры. Не забудьте, что в Photoshop должна быть включена русская кодировка клавиатуры. Имейте в виду так же и то, что окно Photoshop во время произнесения команды должно быть в фокусе, то есть не должно быть закрыто другими окнами, чтобы иметь возможность получать события от клавиатуры.

6.Советы

Если у вас возникнут затруднения, пишите на адрес адрес для писем или в гостевую книгу. Описанный здесь метод может быть использован применительно ко многим программам. Photoshop - это всего лишь пример. Действуя по аналогии, вы можете заставить и другие программы подчиняться вашим словам. При больших объёмах обрабатываемой информации можно получить и большой выигрыш в затратах времени, поэтому использование голосового управления - дело очень выгодное. Отказаться от такой возможности имеет смысл только, разве что, в том случае, когда помещение, где вы работаете, не подходит для работы со звуком. Например, если постоянно мимо вас ходят люди, разговаривают, хлопают дверями. Впрочем, даже в этом случае можно попробовать понизить уровень сигнала от микрофона в настройках микшера, расположить микрофон ближе ко рту (помня при этом, что струи воздуха не должны в него попадать!) и говорить громче. Всякий раз, закончив работу, не забывайте останавливать программу "Перпетуум М" кнопкой "СТОП".

ПРИЛОЖЕНИЕ

Правила составления клавишных команд

Имитация нажатий клавиш на клавиатуре позволяет вводить текст или управляющие команды в другое приложение. Во время использования режима имитации приложение-получатель должно быть активно (иметь фокус на рабочем столе). Кодировка клавиатуры (кириллица/латиница) в этом приложении должна быть включена в соответствии с передаваемым текстом. При несоблюдении этого условия результат будет таким же как и при наборе текста вручную в неправильной кодировке.

Управляющая команда в общем случае представляет собой строку, в которой могут содержаться как символы для текстовых клавиш, так и команды для клавиш управления. Для имитации нажатий текстовых клавиш соответствующие этим клавишам символы включаются в строку в явном виде.
Верхний/нижний регистр переключается автоматически, поэтому имитация нажатий клавиш Shift или CapsLock для получения больших/маленьких букв не требуется - просто введите буквы в нужном регистре.
Команды для клавиш управления описываются в формате, состоящем из 4-х обязательных элементов:

  1. открывающая фигурная скобка {
  2. наименование клавиши (Shift, Ctrl, Alt, PageUp, PageDown, End, Home, Left, Up, Right, Down, Insert, Delete, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, Enter, Back, Escape, Tab)
  3. последовательность действий (нажатий-отпусканий клавиши); каждое действие обозначается символом '\' (нажать) или '/' (отпустить); последовательность должна содержать не менее одного действия
  4. закрывающая фигурная скобка }

Пример сложной команды:
Имитация ввода с клавиатуры{Ctrl\}{Left\/}{Ctrl/}{Right\/\/\/}{Delete\/}
Если предыдущая строка введена в словарь программы "Перпетуум М", и на момент её активации на рабочем столе будет активно окно текстового редактора (например, блокнота), то сначала напечатаются слова "Имитация ввода с клавиатуры", затем будет "нажата" клавиша Ctrl и останется в "нажатом" состоянии, будет "нажата" и "отпущена" клавиша управления курсором "Влево", что приведет (с учетом нажатого Ctrl) к перемещению курсора в начало слова "клавиатуры", клавиша Ctrl будет "отпущена", трижды будет "нажата" клавиша управления курсором "Вправо", что вызовет смещение курсора на три буквы вправо, и, наконец, "нажатием" клавиши Delete будет удалена буква "в" в слове "клавиатуры".
ВНИМАНИЕ! Используйте режим имитации клавиатуры аккуратно, т.к. случайный ввод текста или команд в непредназначенное для этого окно может привести к непредсказуемым последствиям в результате случайных реакций со стороны активной в данный момент программы.

На главную страницу | Назад