Голосовое управление компьютером

Laitis — приложение для Windows, которое позволяет управлять компьютером голосом и диктовать текст.

Изначально оно создавалось для опытных пользователей, но на практике изменило жизнь многих людей с инвалидностью. С Laitis они могут полностью управлять компьютером голосом, играть и даже зарабатывать удалённой работой. За более чем 10 лет я получил тысячи благодарностей от людей с инвалидностью, и сегодня поддерживаю продукт только ради них.

Перейти на laitis.ru

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

История разработки

Идея появилась после статьи 2011 года «Использование голосового поиска Google в .NET-приложении».

В 2012 году я создал первый прототип. Он автоматически записывал голос с микрофона и через буфер обмена вставлял распознанный текст в любое текстовое поле.

В 2013 году прототип был опубликован на Пикабу. Помимо диктовки, он уже поддерживал простые голосовые команды.

В начале 2014 года прототип вошёл в состав BrutalPlayer и получил пользовательский интерфейс.

К концу 2014 года продукт стал самостоятельным и получил имя Laitis.

В 2015 году вышла стабильная версия 2.0 с новыми возможностями управления сайтами.

В 2016 году вышла версия 3.0: распознавание речи стало значительно быстрее, появилась возможность разговаривать с голосовым ботом.

В 2017 году версия 4 принесла управление сайтами через расширение браузера, новые типы действий и дополнительные сервисы распознавания и синтеза речи.

В середине 2017 года вышла версия 5.0. Она научилась находить элемент на экране по имени и перемещать к нему курсор. Это заметно расширило возможности и избавило от необходимости создавать множество дополнительных команд.

В 2018 году вышла версия 6 с поддержкой русского, украинского и английского языков. Алгоритмы записи и распознавания речи были значительно улучшены. Пост с демонстрацией диктовки вошёл в число самых сохраняемых за неделю на Пикабу.

Установка и обновления

Программа состоит из одного файла Laitis.exe размером около 1 МБ. Она сама устанавливает, обновляет и удаляет себя.

Обновления происходят автоматически, без запроса подтверждения.

Запись голоса

Laitis поддерживает несколько способов записи:

  • на компьютере пользователя при удержании заданной клавиши
  • адаптивная автоматическая запись при повышении уровня сигнала микрофона
  • запись с телефона через приложения удалённого микрофона, например WO Mic
  • запись и распознавание на другом устройстве с передачей результата в Laitis, например через Siri Shortcuts

Распознавание речи

Для распознавания речи требуется подключение к интернету.

По умолчанию используется Google Speech-to-Text.

Также поддерживаются сервисы Яндекса, Microsoft и установленные в Windows речевые пакеты с поддержкой диктовки.

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

Диктовка текста

Текст можно диктовать в любое текстовое поле. Есть два режима ввода:

  • вставка через буфер обмена сочетанием Ctrl+V
  • имитация набора на клавиатуре с поддержкой раскладок EN, RU и UK

По умолчанию включена автоматическая пунктуация: точки и запятые расставляются по длительности пауз в речи.

Можно добавлять собственные автозамены. Например, в общей коллекции для работы с текстом:

  • точка = .
  • вопросительный знак = ?
  • фигурная скобка = {

Синтез речи

Синтез речи используется для обратной связи в командах и голосовых разговоров.

Поддерживаются онлайн-сервисы Acapela, ISpeech, Microsoft, VoiceRSS и Яндекса.

Можно использовать и установленные в Windows движки, например Speech2Go+Ivona.

Режим разговора

В программе есть голосовой бот, которого можно обучать общению с помощью настраиваемых цепочек фраз.

В сообществе были две коллекции для общения: «Разговор» и «Разговор 18+».

Команды

Голосовая команда состоит из списка активирующих фраз и списка выполняемых действий.

Структура хранения команд:

  • язык, например ru-RU или en-US
  • название коллекции, например YouTube или Photoshop
  • группа, например «Общие» или «Управление окнами»
  • команды

Сразу после установки пользователю было доступно более 10 универсальных коллекций — достаточно для управления компьютером без клавиатуры и мыши.

Собственные команды можно создавать во встроенном редакторе и публиковать в сообществе для других пользователей.

Сообщество

В сообществе размещались коллекции команд, опубликованные пользователями и прошедшие модерацию.

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

Для участия требовалась регистрация в Laitis.

Доступные действия

Основные действия

  • Открыть файл или программу: Путь к файлу, Аргументы запуска
  • Завершить процесс: Тип закрытия, Имя процесса
  • Показать главное окно процесса: Имя процесса, Режим отображения
  • Отправить HTTP-запрос: HTTP-метод, URL
  • Выполнить скрипт .bat: Текст скрипта
  • Произнести: Текст
  • Воспроизвести аудио или звук: Путь к файлу
  • Вызвать команду по фразе: Фраза

Действия ввода

  • Нажать сочетание клавиш: Тип нажатия, Сочетание клавиш
  • Навести курсор: Цифры по умолчанию
  • Переместить курсор: Тип перемещения, X, Y
  • Найти элемент на экране и переместить к нему курсор: Имя элемента, Название действия
  • Нажать кнопку мыши: Кнопка мыши, Тип нажатия
  • Прокрутить колесо мыши: Тип прокрутки, Значение
  • Ввести текст: Вставка или набор, Текст

Действия на сайтах

  • Открыть ссылку: URL
  • Выполнить JavaScript: Текст скрипта
  • Нажать элемент страницы: CSS-селектор
  • Перевести фокус на элемент страницы: CSS-селектор
  • Перемещаться между элементами: CSS-селектор, Тип навигации, Номер элемента
  • Нажать текущий элемент навигации: CSS-селектор
  • Получить текст по CSS-селектору на текущей странице: CSS-селектор, Имя переменной
  • Открыть небольшое окно в углу экрана с частью сайта: URL, CSS-селектор
  • Получить строку по URL и CSS-селектору: URL, CSS-селектор, Имя переменной

Эти действия работают с браузером пользователя и требуют расширения Laitis.

Логические действия

  • Если приложение активно: Имя процесса
  • Если приложение запущено: Имя процесса
  • Если сайт открыт: Фрагмент URL
  • Если при навигации по сайту выбран элемент: CSS-селектор
  • Если значение переменной соответствует условию: Имя переменной, Тип сравнения, Значение
  • Начало блока случайного действия
  • Иначе
  • Конец
  • Цикл: Количество повторений
  • Прервать

Вспомогательные действия

  • Подождать: Миллисекунды
  • Дождаться следующей фразы пользователя: Имя переменной
  • Запланировать событие: Тип события, Дата или время
  • Изменить переменную: Имя переменной, Значение, Оператор, Операнд
  • Включить или выключить коллекцию: Название коллекции, Тип переключения
  • Показать уведомление: Тип уведомления, Текст, Длительность
  • Комментарий: Текст