Разговариваем с компьютером
Автор: Евгений aka f2065
Опубликовано: 13 сентября 2005 года
Источник: "Компьютерра"
Все, наверное, видели, что в фильмах персонажи вовсю разговаривают с компьютером и, более того, он им осмысленно отвечает. Сейчас программный прогресс сделал всё это доступным каждому пользователю. При наличии процессора от 1 ГГц и микрофона можно обучить Windows выполнять различные голосовые команды, причём в любых приложениях. Допустим, можно сделать команды, имитирующие нажатие клавиш, а затем использовать эту "фичу" в игрушках: допустим, на фразу "Выбрать нож" нажимать "1", на фразу "Выбрать пистолет" - "2".
Итак, начнём. Сначала разберёмся с микрофоном. Отмечу, что для использования в игрушках удобнее микрофон, который крепится к голове - такая связка более чётко работает, и ей не мешают различные шумы. А для управления компьютером, очевидно, лучше настольный микрофон, чтобы можно было отдавать команды не подходя к компьютеру.
Для обладателей популярной Creative SBLive! 24bit отмечу тот факт, что микрофонный вход там более интеллектуальный, чем на других звуковых картах. Если вы используете простой конденсаторный микрофон (имеющий всего два провода), и он у вас не работает, то в его разъёме следует контакт L соединить с контактом R (если у него разъём "моно" - его необходимо предварительно перепаять на "стерео"). Иначе, микрофонный вход работает в режиме низкой чувствительности. Доработанный таким образом микрофон использовать с некоторыми другими картами нельзя - у других карт на R-контакте бывает выведено питание для электретных микрофонов.
Если у вас есть две звуковых карты, например, обычная PCI и интегрированная на материнской плате, то будет рациональнее использовать интегрированную звуковую карту для микрофона. Поскольку на основной карте микшер может периодически перенастраиваться для других целей (к примеру, для записи радиопередач с тюнера). А дополнительную карту можно выделить в монопольное владение программе голосового управления.
Микрофон надо настроить сначала в Windows. Дважды щёлкаем по значку микшера в трее, появляется микшер. Микшеров для каждой звуковой карты в Windows два - один для воспроизведения, другой для записи. Нам необходимо настроить тот, который для записи. Для этого следуем в "Параметры -> Свойства" и выбираем там меню "Настройка записи".
Разрешаем показ регулятора "Микрофон". Затем в параметрах главного окна микшера ставим галку на "Дополнительные параметры".
Под регулятором микрофона появится дополнительная кнопка "Настройка", идём туда.
Обычно там есть опция дополнительного усиления микрофонного сигнала, например, "+20dB Boost" или "Booster"1. Её следует активировать, если вы используете настольный микрофон, а не крепящийся к наушникам.
Теперь займёмся основной программой. Итак, использовать мы будем Game Commander 2. Несмотря на игровое название, это весьма развитая программа и с игрушками не связанная. Скачиваем, устанавливаем2.
Идём в настройки (для этого нажимаем кнопку с подсказкой "Edit").
В настройках уже есть много предустановок для разных игрушек, но нам они не нужны, так как используют побуквенное распознавание английского голоса. Их всех можно поудалять. Затем проходим в настройки микрофона "Tools -> Microphone level".
Тут придется подобрать положение регулятора Volume так, чтобы на все произносимые фразы вверху писалось "Speech detected". Если микрофон настольный, то, скорее всего, надо установить регулятор в положение "High". Однако, потом при реальном использовании и слишком высоком уровне чувствительности Game Commander может начать путать команды, делая ложные срабатывания. В таком случае следует уменьшить уровень Volume для микрофона. Закрываем настройки микрофона.
Теперь будем создавать обрабатываемые программой фразы.
Программа имеет два типа действий - Global Commands и для конкретных программ. Действия (точнее, имитация нажатия клавиш) из списка Global Commands делается в любом активном окне, как если бы вы прямо в этот момент нажали клавишу. В большинстве случаев это неудобно и не нужно. А действия для заданной программы выполняются, только если эта программа запущена и её окно активно.
Для начала потренируемся на Блокноте. Сначала запускаем Блокнот, затем в настройках Game Commander идём в "Add -> Command File..." и выбираем среди списка процессов notepad.exe.
Затем в дереве настроек обнаруживаем новую ветку Notepad, разворачиваем её и в Command Set добавляем Command.
На появившейся справа вкладке General выбираем в Voice input режим Voice Training.
Появится предложение продиктовать ключевое слово команды.
Надо нажать Start и, следя за отсчётом, продиктовать команду три раза.
Затем снова на вкладке General в поле Insert keystroke into action list ввести одну или несколько клавиш, нажатие которых надо будет имитировать.
Готово. Теперь можно аналогично добавить в Command Set ещё несколько команд для реакции на другие сказанные слова.
На вкладке Feedback у отдельно выбранной команды можно ввести звуковые файлы, которые будут воспроизведены до и после выполнения команды. Можно, например, записать в них фразы "команду принял" и "команду выполнил".
А на вкладке Feedback у всего профиля настроек можно указать звуковые файлы, которые будут воспроизводиться при распознавании или нераспознавании команды.
На вкладке Audio Devices можно выбрать, с какой звуковой карты использовать микрофон - это позволяет использовать его не на основной карте, а, допустим, на дополнительной. Опция Check audio setup позволяет восстанавливать настройки микшера, если они изменились какой-то другой программой или игрой.
Всё, настроив, сохраняем изменения и закрываем окно настроек. Теперь приступим к изучению главного окна Game Commander.
Первая кнопка - Listen - глобально разрешает программе слушать и выполнять команды. Вторая кнопка - Audible Feedback - позволяет приложению отвечать (заранее заданными звуковыми файлами) на ваши команды. Третья кнопка - Global Commands - разрешает выполнение команд из глобального списка.
Включаем Listen, запускаем Блокнот. Произносим ранее заданную команду. Обратите внимание, что Game Commander воспримет (и выполнит) команду только в том случае, если окно Блокнота было активным. Если же он пишет Not recognized - это не всегда значит, что он не распознал команду. Это говорит о том, что он ничего не выполнил, например, потому что не было активным окно, для которого была произнесённая команда. А вот команды из списка Global Commands будут выполнены в любом активном окне, если, конечно, нажата кнопка исполнения Global Commands.
Глобальные команды можно использовать для общего управления компьютером, к примеру: переключить задачи, выключить компьютер, запустить веб-браузер. Game Commander не умеет сам запускать программы, он может только имитировать нажатия клавиш. Но эту проблему можно решить при помощи MediaKey. Сначала в Game Commander настраиваем имитацию нажатия, например, LShift+LCtrl+A, а потом прописываем эту же комбинацию в MediaKey и там назначаем на неё запуск файла.
Команды, связанные с программами, как и было задумано авторами, наибольшее применение могут найти в играх3. Множество разных действий можно назначить на голосовые команды: выбор того или иного оружия, показ карты, перезарядка, ремонт и многое другое (в современных игрушках, как правило, каждая клавиша на клавиатуре что-нибудь исполняет).
Теперь, поняв принципы использования Game Commander, вы сможете найти ей применение.
1. Для Creative SBLive! 24bit (и, очевидно, некоторых других звуковых карт) из-за ошибки в драйвере усилитель можно включить только в настройках микрофона в микшере воспроизведения, но он при этом влияет и на работу микшера записи. [вернуться]
2. Напомним, что в бесплатном режиме он имеет существенные ограничения: нельзя имитировать нажатия подряд нескольких клавиш и нельзя "нажимать" клавиши глобально (можно только в заранее указанных программах). [вернуться]
3. Подчеркнем тот факт, что программный и технический прогресс давно уже позволяет сделать голосовое интерактивное управление компьютером везде, но требуется направленная поддержка со стороны прикладных программ. Например, представим такой диалог:
- Компьютер: получена новая почта.
- Человек: прочитай.
- Компьютер: (читает).
Уже давно такие популярные программы, как TheBat!, ICQ, Miranda могут так или иначе голосом сообщать о получении почты и при желании способны её читать (при помощи сторонних плагинов). Однако не могут делать это по какому-то дополнительному событию (как, например, команда человека в представленном диалоге) и если читают, то читают немедленно при получении. [вернуться]