Программа для управления пк голосом. Простейшее управление компьютером при помощи голоса

Распознавание речи - это простой и многофункциональный инструмент Windows, с помощью которого можно управлять компьютером, используя голосовые команды.

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

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

К большому сожалению, этот инструмент, как и Кортана, в нашем регионе сильно ограничен.

Однако, вы можете изменить некоторые параметры компьютера. Для этого выполните следующие действия:


Важно! Чтобы все работало должным образом вы должны использовать не локальную учетную запись, а Microsoft! Если у вас установлена версия системы для одного языка (правый щелчок по «Этот компьютер», а затем «Свойства»), то вы не сможете использовать Кортану или полноценный инструмент распознавания речи!

Для удобства все действия переведены на русский язык и сопровождаются соответствующими скриншотами на английском. Более радикальный способ, если ничего не помогло, - установка Windows для США.

Выполните следующие действия:

  1. Откройте «Панель управления».

  2. Найдите «Специальные возможности».

  3. Щелкните по ссылке «Запуск распознавания речи».

    Важно! Здесь наши пользователи сталкиваются с проблемой, поэтому нажмите на ссылку слева «Преобразование текста в речь» и сразу перейдите в раздел этой статьи как изменить настройки распознавания речи. Если у вас английский интерфейс системы, тогда смело продолжайте выполнять действия в сопровождении скриншотов на английском.

  4. На странице настроек нажмите «Далее».
  5. Выберите тип микрофона, который будете использовать.

    Примечание! Настольные микрофоны не идеальны, поэтому Microsoft рекомендует задействовать внешний микрофон или специальную гарнитуру.

  6. Нажмите «Далее». Повторите действие.

  7. Чтобы проверить работоспособность инструмента прочитайте текст вслух. Нажмите «Далее». Повторите действие.

  8. Распознавание речи имеет доступ к документам и электронным письмам. Это необходимо для того, чтобы повысить точность распознавания на основе слов, которые вы используете. Выберите параметр «Включить просмотр документов» или отключите его, если имеете проблемы с конфиденциальностью. Нажмите «Далее».

  9. Выберите режим активации: используйте «Режим ручной активации» - распознавание речи отключает команду «Остановить прослушивание». Чтобы снова включить ее, вам нужно нажать кнопку микрофона или использовать комбинацию клавиш Ctrl + Win; или «Активация голосом». Инструмент распознавания переходит в спящий режим, когда не используется. Чтобы снова включить его вам нужно вызвать голосовую команду «Начать прослушивание». Нажмите «Далее».

  10. Чтобы узнать больше о голосовых командах, которые вы можете использовать, щелкните по кнопке просмотра справочной информации. Нажмите «Далее».

  11. По желанию вы можете выбрать опцию «Автоматического запуска функции распознавания речи». Нажмите «Далее».

  12. Чтобы получить доступ к учебному руководству Microsoft щелкните по кнопке «Начать обучение» или выберите «Пропустить». В итоге вы завершите настройку.

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

Примечание! Вы можете перетащить и подключить интерфейс распознавания речи в любом месте экрана.

Как обучить распознавание речи и повысить точность

После завершения тренировочного процесса инструмент распознавания речи должен лучше понимать ваш голос.

Как изменить настройки распознавания речи

Если вам необходимо изменить какие-нибудь параметры, выполните следующие действия:

Шаг 1. Откройте «Панель управления».

Шаг 2. Нажмите «Специальные возможности».

Шаг 3. Выберите «Распознавание речи».

Шаг 4. Щелкните на левой панели по текстовой ссылке дополнительных параметров речи.

Шаг 5. В окне свойств на вкладке «Распознавание речи» вы можете настроить различные компоненты функции, в том числе:

Шаг 6. На вкладке «Текст в речь» вы можете управлять настройками голоса, среди которых:

Шаг 7. Кроме того, вы всегда можете открыть с помощью правой кнопки мыши контекстное меню и получить доступ ко всем различным функциям и настройкам инструмента распознавания речи.

Как использовать распознавание речи в Windows 10

Несмотря на небольшой процесс обучения, распознавание речи использует четкие и легко запоминаемые команды. Например, «Пуск» открывает соответствующее меню, а «Показать рабочий стол» сворачивает все окна.

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

Запуск инструмента распознавания речи


Включение и выключение

Чтобы использовать эту функцию, в зависимости от конфигурации нажмите кнопку микрофона или скажите «Начать прослушивание».

Таким же образом вы можете отключить его, сказав «Стоп» или нажав кнопку микрофона.

Использование команд

Одними из наиболее часто используемых команд являются:

  • «Открыть» (Open) - запускает приложение после озвучивания слова «Open», за которым следует имя приложения. Например, «Open Mail» или «Open Firefox»;
  • «Переключиться на» (Switch to) - переход к другому запущенному приложению. Произнесите команду «Переключиться», за которой должно следовать имя приложения. Например, «Switch to Microsoft Edge»;
  • управление открытым окном. Чтобы управлять активным окном используйте команды «Свернуть», «Максимизировать» и «Восстановить» (Minimize, Maximize и Restore);
  • прокрутка (Scroll). Позволяет прокручивать страницу. Просто используйте команду «Scroll down» («Прокрутить вниз») или «Scroll up» («Прокрутить вверх»), «Scroll left» («Прокрутить влево») или «Scroll right» («Прокрутить вправо»). Также можно указать длинное прокручивание. Например, произнесите: «Scroll down two pages» («Прокрутить вниз две страницы»);
  • закрытие приложений (Close). Произнесите команду «Close» («Закрыть»), а затем имя запущенного приложения. Например, «Close Word» («Закрыть Word»);
  • клики (Click). Внутри приложения вы можете использовать команду «Click» («Щелчок»), за которой следует имя элемента. Например, в Word вы можете сказать «Click Layout» («Щелчок по макету»), и распознавание речи откроет вкладку «Макет». Аналогичным образом можно использовать команды «Double-click» («Двойной щелчок») или «Right-click» («Правый щелчок»);
  • нажатие (Press) . Эта команда запускает горячие клавиши. Например, чтобы открыть «Центр действий» произнесите «Press Windows A» («Нажать Windows A»).

Использование диктовки

Распознавание речи также включает в себя возможность преобразования голоса в текст с использованием функции диктовки, и работает автоматически.


Помощник Microsoft a.k.a Кортана (Cortana)

Чтобы оправдать ожидания пользователей и продемонстрировать конкурентоспособность в сравнении с такими компаниями, как Apple, Google или Amazon, Microsoft представила собственного умного помощника Кортана.

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

Надеемся, что со временем он улучшится. Кортана пригодится в том случае, если вы хотите запускать свой компьютер без каких-либо голосовых команд.

Вот как включить и настроить ее для последующего использования в Windows 10:

  1. Нажмите «Пуск» и откройте «Все приложения».

  2. Найдите Кортану и откройте ее.

  3. Снимите переключатель на «Использовать Кортану». Нажмите «Да» или «Нет, спасибо», в зависимости от того, хотите ли вы, чтобы голосовой помощник отслеживал ваши данные (так он лучше вас узнает) или нет.

  4. Теперь, когда вы включили Кортану, нажмите «Windows+S» или щелкните по шестеренке, находящейся слева.
  5. Включите «Эй, Кортана» и настройте свой микрофон. Вы можете разрешить помощнику реагировать, когда кто-нибудь скажет «Эй, Кортана» или заставить его отвечать только на ваши голосовые команды.

  6. Выйдите из настроек и попросите о чем-нибудь своего цифрового помощника.

  7. Поищите в Интернете список доступных команд и задач, которые может выполнять Кортана.

Видео — Как включить Microsoft Cortana в Windows 10

Коллекция сторонних программ

Помимо встроенного инструмента распознавания речи и голосового помощника Кортана, некоторые пользователи могут обратиться к сторонней альтернативе. Поскольку это категория программ находится в постоянном развитии, на рынке существуют различные продукты, совместимые с Windows 10. Единственный вопрос - это ваши потребности и пожелания.

Некоторые из программ, такие как:

  • Typle отличная программа для управления голосом на компьютере, простой русскоязычный интерфейс;
  • Dragon от производителя Nuance, специализируются на быстрой диктовке и в целом на преобразовании речи в текст;
  • Voice Attack, предназначены для голосового управления игровым процессом (да, вы можете перезагрузить оружие в Call of Duty с помощью голосовой команды);
  • еще одна неплохая утилита - VoxCommando. Чаще всего используется в мультимедийных программах, таких как Kodi или iTunes, но также может быть полезной при автоматизации домашних устройств.

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

  1. Скачайте программу и установите на компьютер, следуя инструкции установщика.

  2. Интерфейс программы простой и понятный. При приветствии в окне программы есть подсказки для пользователя. Для начала нажмите кнопку «Добавить».

  3. В открывшемся окне введите в поле свое имя, далее введите команду, затем нажмите на кнопку записи и произнесите команду голосом. Нажмите кнопку «Добавить».

  4. Нажмите кнопку «Добавить».

  5. Отметьте галочкой необходимый пункт. Выберите программу, нажмите красную кнопку и произнесите эту команду вслух. Затем нажмите «Добавить».

  6. Вы увидите созданную команду, для проверки нажмите «Начать говорить» и произнесите эту команду. Если все работает таким же образом добавляете остальные команды.

Попробуйте TalkTyper

Это онлайн-приложение, которое позволяет диктовать текст, а затем предлагает несколько базовых вариантов того, что с ним делать. Любителям минимализма оно точно понравится.


Вы можете скопировать начитанное в буфер обмена, отправить по электронной почте, напечатать, твитнуть и перевести на другой язык. Чтобы перевести текст просто нажмите кнопку, и выберите язык перевода. TalkTyper автоматически откроет в браузере новую вкладку с текстом, вставленным в переводчик Google.

Обратите внимание на Tazti

Tazti выделяется среди других программ двумя отличительными особенностями:

  • вы можете использовать приложение для управления компьютером и играми с помощью голосовых команд. И если у Tazti нет нужной вам команды, ее можно создать (и еще 299);
  • программа способна запускать установленные приложения, вебсайты, каталоги или использовать командную строку.

Настраивайте Tazti по своему усмотрению. Если вам не нужна команда, тогда отредактируйте ее или полностью удалите. Вы даже можете добавить команды «щелчок» и «двойной щелчок», чтобы избавиться от необходимости использования мыши.

Тем не менее у Tazti есть один большой недостаток - она не имеет функции диктовки текста, поэтому не способна распознавать голос. Разработчик Voice Tech Group признает, что другие продукты намного лучше справляются с диктовкой, поэтому компания решила сосредоточить все усилия на других особенностях своего детища.

Tazti больше ориентируется на геймеров, которые хотят использовать свой голос для отправки персонажей на битву или тех, кто предпочитает запускать программы, медиаплееры и просматривать веб-страницы без необходимости использования клавиатуры. Тот факт, что вы можете контролировать важные части Windows с помощью Tazti, делает его достойным противником вышеупомянутых приложений, даже если и не предлагает диктовку.

Важно! Программа имеет пробный 15-дневный период. После этого нужно заплатить 40 долларов.

Итак, если распознавание речи или Кортана не соответствуют вашим требованиям (или вы попросту не можете ими воспользоваться), тогда попробуйте вышеперечисленные утилиты.

Видео — Обзор программы Typle

Обзор программ для голосового управления компьютером

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

Горыныч

Наиболее испытанный и старый софт (программа) - Dragon NaturallySpeaking (далее Горыныч). Проверенная временем и максимально усовершенствованная за период своего существования программа Горыныч версии 2010 года обеспечивает точное распознавание речи, составляющее 99%. Очень простой и легкий в использовании софт, работает со всем пакетом офисных программ, способен помочь в создании и редактировании текстов, таблиц и баз данных. С программой можно осуществлять поиск в сети Интернет и компьютере (голосовые ярлыки), отправку e-mail и мгновенных писем/сообщений. Отличный помощник малого бизнеса. Умеет выполнять команды открытия и воспроизведение файлов и так далее. Но есть один нюанс, скачать программу Горыныч для голосового управления компьютером можно только платно и есть одно «но». После инсталляции программа использует немецкий язык, изменение которого на русский потребуют некоторых усилий со стороны пользователя.

Typle Premium

Есть не менее достойное на русском языке , его название звучит как Typle Premium . У этого софта более понятный и простой интерфейс. Ее преимущество главным образом заключается в возможности записывать массу голосовых команд. Распознавание голоса – 99%. К примеру, пользователь хочет еще раз просмотреть свой любимый фильм, его задача сводиться к тому, чтобы сделать запись в Typle Premium примерно такого характера «Воспроизвести фильм «***». Отлично совместимо это голосовое управление компьютером windows xp – операционная система.

Intelligent Voice Recognition System

Программа чуть поскромнее двух предыдущих носит название - Intelligent Voice Recognition System (IVOS) . Ее можно попробовать скачать бесплатно (начальные версии) в сети Интернет. Программа полностью совместима с ОС Windows, может преобразовывать и распознавать голос владельца. Также предусматривает запись дополнительных команд для работы с открытием документов. В Intelligent Voice Recognition System (IVOS) имеются голосовые движки, которые позволят пользователю производить озвучивание электронных учебников. Понятный и лояльный интерфейс. Удобна и проста в использовании, однако до возможностей первых двух программ ей однозначно далековато.

Есть еще множество аналогичных программ для осуществления управлением ПК и мобильными устройствами. Рынком предусмотрены как платные, так и бесплатные варианты. Однако если пользователь намерен использовать программу в серьезной работе, стоит отдать предпочтение платному софту с поддержкой разработчиков.

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

Мы познакомим вас с приложениями с подобным функционалом

Такая функция встроена в англоязычную версию Windows. Для её использования у вас должна быть лицензия Enterprise или Ultimate. Но и в русифицированных операционных системах можно настроить управление голосом и диктовку текста. Воспользуйтесь одним из следующих приложений.

С приложением разобраться несложно

Популярная программа. Хотя и имеет свои недостатки. Суть её работы простая: задаёте команду и выбираете, какое действие она должна выполнять. Рассмотрим настройку этого приложения на конкретном примере.

  1. Загрузите и установите его. Есть бесплатная и Premiun версия. Вторую надо покупать, чтобы испробовать её на компьютере.
  2. Запустите утилиту. В ней появится информационное окно с подсказками.
  3. На её панели управления есть много различных функций. Некоторые - с одинаковыми названиями. Надо ориентироваться по картинке, а не по надписи. Нажмите кнопку «Добавить» - на ней изображено лицо.
  4. Задайте имя профиля и ключевое слово, которое будет обозначать команду. К примеру, напишите «открыть», если собираетесь настроить запуск какого-то приложения голосом. Или «перейти на», чтобы мгновенно перейти на какой-то сайт, не вводя его адрес.
  5. Теперь надо записать эту самую команду в виде звукового образа. Нажмите на кнопку с красным кружком. И чётко, внятно произнесите в микрофон нужную фразу.
  6. Подтвердите изменения. Заданная опция появится в списке в окне Typle. Программа запомнит то, что вы записали на её «диктофон».
  7. После этого укажите, что, собственно, ей запускать для выполнения команды. Нажмите кнопку «Добавить», которая похожа на руку с символом «+» (плюс).
  8. Выберите формат данных: файлы/утилиты, интернет-страницы, какие-то внутренние сервисы ОС. Поставьте «галочки» там, где вам нужно.
  9. Найдите то приложение, которое хотите запускать голосом. Пусть это будет, например, Microsoft Word. Так вы сможете очень быстро приступить к редактированию какого-то текста или написанию статьи.
  10. В том же окне запишите вторую часть команды. Чтобы в сумме получилось «открыть Ворд». Первое слово будет активировать Typle, второе - включать привязанную утилиту.
  11. Нажмите «Добавить».
  12. К одной функции «открыть» можно прицепить несколько приложений. Так вы будете управлять их запуском, не прикасаясь к мыши и другим периферийным устройствам, установленным на компьютере.
  13. Если надо, отредактируйте дополнительные параметры.
  14. Чтобы проверить, получилось или нет, нажмите на «Начать говорить» и скажите команду.

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

  • Не нужны знания английского.
  • Быстрое создание команд.
  • Нет распознавания текста.
  • Ограниченный функционал. Можно лишь открывать утилиты и страницы в интернете.
  • Программа иногда воспринимает посторонние шумы как команды. Из-за этого на ПК происходят странные вещи.
  • Нельзя работать с плеером.

Speechka

Еще одно приложение для управления компьютером

  1. При первом запуске откроется окно с выбором категории: ПК или интернет.
  2. Там же есть пояснение, каким сочетанием клавиш надо активировать утилиту. Это можно изменить в настройках.
  3. Нажмите, к примеру, на «Интернет». Откроется окно с несколькими полями для ввода : для текста команды и для URL сайта. Можно написать слово «Яндекс» и адрес этой страницы.
  4. Кликните «Добавить».
  5. Зажмите клавиши, указанные на главном окне.
  6. Произнесите команду, чтобы утилита её «запомнила».

  • Активация как клавишами, так и по громкости звука.
  • При запуске можно откалибровать микрофон.
  • Ограниченный функционал.

Speaker

Интерфейс выполнен в минималистическом ключе

Команды в приложении настраиваются при помощи печатных слов, а не диктовки. Есть внутренний механизм распознавания текста. Основные функции:

  • Создание скриншотов по команде.
  • Смена раскладки клавиатуры на компьютере.
  • Открытие приложений и файлов.
  • Завершение работы.
  • Можно не делать аудиозапись с командой. Утилита распознаёт надписи.
  • Для управления надо использовать клавиатуру. Если заданная кнопка используется и для других целей - будет неудобно.
  • Нужно стабильное интернет-соединение.

Горыныч

Герой русских народных сказок поможет вам

Программа для управления компьютером голосом «Горыныч» - отечественный продукт. Поэтому там «родной» модуль распознавания речи. Он «приспосабливается» к тембру и интонациям пользователя. С утилитой можно полноценно работать в системе, а не просто открывать файлы и веб-страницы.

  • Есть поддержка русского и английского языков.
  • Распознавание текста, голосовой ввод в любые редакторы.
  • Расширенный функционал.
  • Надо самостоятельно создавать команды для каждого процесса. В буквальном смысле придётся записывать словарь.

Windows Speech Recognition

Встроенная в английскую ОС программа. Для её использования у вас должен быть установлен соответствующий языковой пакет. Русские команды с ней работать не будут. Чтобы управлять ПК с её помощью, придётся говорить на её языке. Для получения доступа к ней в Панели настроек Windows откройте меню «Язык и региональные стандарты » (оно находится в категории «Часы, язык, регион») и во всех вкладках установите «Английский». Если всё правильно, и у вас установлен необходимый языковой пакет, Windows «превратится» в английскую, и утилита станет доступна. Лучше не пробовать данные метод, если вы плохо знаете чужой язык.

Данный способ подойдет в том случае, если вы владеете английским

Прочие утилиты

Есть ещё ряд приложений для управления такими командами:

  • Расширения для браузеров. Облегчают сёрфинг по сети. В Google Chrome уже встроена подобная функция - голосовой ввод в поисковые формы. Эта опция есть на некоторых онлайн-картах. Она позволяет быстрее найти адрес.
  • VoiceType.
  • RealSpeaker.
  • Web Speech.

Список программ для распознавания текста и записи под диктовку

Управлять голосом - это, конечно, хорошо. Но могут оказаться полезными утилиты для распознавания текста и печати под диктовку. При составлении объёмных докладов, дипломов легче записывать свои мысли, озвучивая их в микрофон на компьютере. Вот несколько таких утилит:

  • Диктограф.
  • Dragon Naturally Speaking.
  • Перпетуум-Мобиле.

Продукт, позволяющий диктовать текст компьютеру

В ОС можно настроить голосовые команды . Для этого на компьютере должна быть установлена соответствующая программа. С ней вы сможете работать на ПК, лёжа на диване или развалившись в кресле. У вас будут свободны руки. Если микрофон хороший и улавливает даже отдалённые или тихие звуки, вам не потребуется рядом с ним сидеть. Вы можете одновременно «разговаривать» с компьютером и записывать конспект в тетради, рисовать, держать что-то. Да хоть шить и вязать. С командами взаимодействовать с ПК намного легче. Для активации некоторых подобных утилит нужно нажимать кнопки на клавиатуре, что не очень удобно.

Но есть и отрицательные аспекты. Если вы случайно скажете слово-команду, откроется совершенно не нужное сейчас приложение или обозреватель не к месту перейдёт на какой-то сайт. Чем пользоваться и пользоваться ли вообще - решать вам.

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

Позволю себе привести здесь пару ссылок на сайты, автором и/или идейным вдохновителем которых является этот человек – Александр Макарчук из города Борисов, Беларусь:

Для работы на компьютере Александр использовал программу «Vocal Joystick» - разработку студентов Университета штата Вашингтон, выполненную на деньги Национального Научного Фонда (NSF). См. melodi.ee.washington.edu/vj

Не удержался

Кстати, на сайте университета (http://www.washington.edu/) 90% статей именно про деньги. Трудно найти что-нибудь про научную работу. Вот, например, выдержки с первой страницы: «Том, выпускник университета, раньше питался грибами и с трудом платил за квартиру. Теперь он старший менеджер ИТ-компании и кредитует университет», «Большие Данные помогают бездомным», «Компания обязалась заплатить 5 миллионов долларов за новый учебный корпус».

Это одному мне режет глаз?


Программа была сделана в 2005-2009 годах и хорошо работала на Windows XP. В более свежих версиях Windows программа может зависнуть, что неприемлемо для человека, который не может встать со стула и её перезапустить. Поэтому программу нужно было переделать.

Исходных текстов нет, есть только отдельные публикации, приоткрывающие технологии, на которых она основана (MFCC, MLP – читайте об этом во второй части).

По образу и подобию была написана новая программа (месяца за три).

Собственно, посмотреть, как она работает, можно :

Скачать программу и/или посмотреть исходные коды можно .

Никаких особенных действий для установки программы выполнять не надо, просто щёлкаете на ней, да запускаете. Единственное, в некоторых случаях требуется, чтобы она была запущена от имени администратора (например, при работе с виртуальной клавиатурой “Comfort Keys Pro”):

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

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

Если вы можете двигать только зрачками глаз, то можно использовать трекер направления взгляда и программу к нему (могут быть сложности, если вы носите очки).

Часть II. Как это устроено?

Из опубликованных материалов о программе «Vocal Joystick» было известно, что работает она следующим образом:
  1. Нарезка звукового потока на кадры по 25 миллисекунд с перехлёстом по 10 миллисекунд
  2. Получение 13 кепстральных коэффициентов (MFCC) для каждого кадра
  3. Проверка того, что произносится один из 6 запомненных звуков (4 гласных и 2 согласных) при помощи многослойного персептрона (MLP)
  4. Воплощение найденных звуков в движение/щелчки мыши
Первая задача примечательна лишь тем, что для её решения в реальном времени пришлось вводить в программу три дополнительных потока, так как считывание данных с микрофона, обработка звука, проигрывание звука через звуковую карту происходят асинхронно.

Последняя задача просто реализуется при помощи функции SendInput.

Наибольший же интерес, мне кажется, представляют вторая и третья задачи. Итак.

Задача №2. Получение 13 кепстральных коэффициентов

Если кто не в теме – основная проблема узнавания звуков компьютером заключается в следующем: трудно сравнить два звука, так как две непохожие по очертанию звуковые волны могут звучать похоже с точки зрения человеческого восприятия.

И среди тех, кто занимается распознаванием речи, идёт поиск «философского камня» - набора признаков, которые бы однозначно классифицировали звуковую волну.

Из тех признаков, что доступны широкой публике и описаны в учебниках, наибольшее распространение получили так называемые мел-частотные кепстральные коэффициенты (MFCC).

История их такова, что изначально они предназначались совсем для другого, а именно, для подавления эха в сигнале (познавательную статью на эту тему написали уважаемые Оппенгейм и Шафер, да пребудет радость в домах этих благородных мужей. См. A. V. Oppenheim and R.W. Schafer, “From Frequency to Quefrency: A History of the Cepstrum”).

Но человек устроен так, что он склонен использовать то, что ему лучше знакомо. И тем, кто занимался речевыми сигналами, пришло в голову использовать уже готовое компактное представление сигнала в виде MFCC. Оказалось, что, в общем, работает. (Один мой знакомый, специалист по вентиляционным системам, когда я его спросил, как бы сделать дачную беседку, предложил использовать вентиляционные короба. Просто потому, что их он знал лучше других строительных материалов).

Являются ли MFCC хорошим классификатором для звуков? Я бы не сказал. Один и тот же звук, произнесённый мною в разные микрофоны, попадает в разные области пространства MFCC-коэффициентов, а идеальный классификатор нарисовал бы их рядом. Поэтому, в частности, при смене микрофона вы должны заново обучать программу.

Это всего лишь одна из проекций 13-мерного пространства MFCC в 3-мерное, но и на ней видно, что я имею в виду – красные, фиолетовые и синие точки получены от разных микрофонов: (Plantronix, встроенный массив микрофонов, Jabra), но звук произносился один.

Однако, поскольку ничего лучшего я предложить не могу, также воспользуюсь стандартной методикой – вычислением MFCC-коэффициентов.

Чтобы не ошибиться в реализации, в первых версиях программы в качестве основы был использован код из хорошо известной программы CMU Sphinx, точнее, её реализации на языке C, именующейся pocketsphinx, разработанной в Университете Карнеги-Меллона (мир с ними обоими! (с) Хоттабыч).

Исходные коды pocketsphinx открыты, да вот незадача – если вы их используете, то должны в своей программе (как в исходниках, так и в исполняемом модуле) прописать текст, содержащий, в том числе, следующее:

* This work was supported in part by funding from the Defense Advanced * Research Projects Agency and the National Science Foundation of the * United States of America, and the CMU Sphinx Speech Consortium.
Мне это показалось неприемлемым, и пришлось код переписать. Это сказалось на быстродействии программы (в лучшую сторону, кстати, хотя «читабельность» кода несколько пострадала). Во многом благодаря использованию библиотек “Intel Performance Primitives”, но и сам кое-что оптимизировал, вроде MEL-фильтра. Тем не менее, проверка на тестовых данных показала, что получаемые MFCC-коэффициенты полностью аналогичны тем, что получаются при помощи, например, утилиты sphinx_fe.

В программах sphinxbase вычисление MFCC-коэффициентов производится следующими шагами:

Шаг Функция sphinxbase Суть операции
1 fe_pre_emphasis Из текущего отсчёта вычитается большая часть предыдущего отсчета (например, 0.97 от его значения). Примитивный фильтр, отбрасывающий нижние частоты.
2 fe_hamming_window Окно Хемминга – вносит затухание в начале и конце кадра
3 fe_fft_real Быстрое преобразование Фурье
4 fe_spec2magnitude Из обычного спектра получаем спектр мощности, теряя фазу
5 fe_mel_spec Группируем частоты спектра [например, 256 штук] в 40 кучек, используя MEL-шкалу и весовые коэффициенты
6 fe_mel_cep Берём логарифм и применяем DCT2-преобразование к 40 значениям из предыдущего шага.
Оставляем первые 13 значений результата.
Есть несколько вариантов DCT2 (HTK, legacy, классический), отличающихся константой, на которую мы делим полученные коэффициенты, и особой константой для нулевого коэффициента. Можно выбрать любой вариант, сути это не изменит.

В эти шаги ещё вклиниваются функции, которые позволяют отделить сигнал от шума и от тишины, типа fe_track_snr, fe_vad_hangover, но нам они не нужны, и отвлекаться на них не будем.

Были выполнены следующие замены для шагов по получению MFCC-коэффициентов:

Задача №3. Проверка того, что произносится один из 6 запомненных звуков

В программе-оригинале «Vocal Joystick» для классификации использовался многослойный персептрон (MLP) – нейронная сеть без новомодных наворотов.

Давайте посмотрим, насколько оправдано применение нейронной сети здесь.

Вспомним, что делают нейроны в искусственных нейронных сетях.

Если у нейрона N входов, то нейрон делит N-мерное пространство пополам. Рубит гиперплоскостью наотмашь. При этом в одной половине пространства он срабатывает (выдаёт положительный ответ), а в другой – не срабатывает.

Давайте посмотрим на [практически] самый простой вариант – нейрон с двумя входами. Он, естественно, будет делить пополам двумерное пространство.

Пусть на вход подаются значения X1 и X2, которые нейрон умножает на весовые коэффициенты W1 и W2, и добавляет свободный член C.


Итого, на выходе нейрона (обозначим его за Y) получаем:

Y=X1*W1+X2*W2+C

(опустим пока тонкости про сигмоидальные функции)

Считаем, что нейрон срабатывает, когда Y>0. Прямая, заданная уравнением 0=X1*W1+X2*W2+C как раз и делит пространство на часть, где Y>0, и часть, где Y<0.

Проиллюстрируем сказанное конкретными числами.

Пусть W1=1, W2=1, C=-5;

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

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

Эти три нейрона мы объединим вместе при помощи ещё одного слоя, получив многослойную нейронную сеть (MLP).

А если нам нужно, чтобы нейронная сеть срабатывала в двух областях пространства, то потребуется ещё минимум три нейрона (4,5,6 на рисунках):

И тут уж без третьего слоя не обойтись:

А третий слой – это уже почти Deep Learning…

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

Если бы меня попросили отрезать прямыми красное от синего, то я бы сделал это как-то так:

Но нейронная сеть априори не знает, сколько прямых (нейронов) ей понадобится. Этот параметр надо задать перед обучением сети. И делает это человек на основе… интуиции или проб и ошибок.

Если мы выберем слишком мало нейронов в первом слое (три, например), то можем получить вот такую нарезку, которая будет давать много ошибок (ошибочная область заштрихована):

Но даже если число нейронов достаточно, в результате тренировки сеть может «не сойтись», то есть достигнуть некоторого стабильного состояния, далёкого от оптимального, когда процент ошибок будет высок. Как вот здесь, верхняя перекладина улеглась на два горба и никуда с них не уйдёт. А под ней большая область, порождающая ошибки:

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

- Что ты думаешь, доедет то колесо, если б случилось, в Москву или не доедет?
- А ты как думаешь, сойдётся ента нейронная сеть или не сойдётся?

Есть ещё один неприятный момент, связанный с нейронными сетями. Их «забывчивость».

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

Если у нейронных сетей столько недостатков, и человек может провести границы гораздо эффективнее нейронной сети, зачем же их тогда вообще использовать?

А есть одна маленькая, но очень существенная деталь.

Я очень хорошо могу отделить красное сердечко от синего фона отрезками прямых в двумерном пространстве.

Я неплохо смогу отделить плоскостями статую Венеры от окружающего её трёхмерного пространства.

Но в четырёхмерном пространстве я не смогу ничего, извините. А в 13-мерном - тем более.

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

Тем не менее вопрос пока открыт – насколько оправдано применение нейронной сети в данной конкретной задаче, учитывая перечисленные выше недостатки нейронных сетей.

Забудем на секунду, что наши MFCC-коэффициенты находятся в 13-мерном пространстве, и представим, что они двумерные, то есть точки на плоскости. Как в этом случае можно было бы отделить один звук от другого?

Пусть MFCC-точки звука 1 имеют среднеквадратическое отклонение R1, что [грубо] означает, что точки, не слишком далеко отклоняющиеся от среднего, наиболее характерные точки, находятся внутри круга с радиусом R1. Точно так же точки, которым мы доверяем у звука 2 находятся внутри круга с радиусом R2.

Внимание, вопрос: где провести прямую, которая лучше всего отделяла бы звук 1 от звука 2?

Напрашивается ответ: посередине между границами кругов. Возражения есть? Возражений нет.
Исправление: В программе эта граница делит отрезок, соединяющий центры кругов в соотношении R1:R2, так правильнее.

И, наконец, не забудем, что где-то в пространстве есть точка, которая является представлением полной тишины в MFCC-пространстве. Нет, это не 13 нулей, как могло бы показаться. Это одна точка, у которой не может быть среднеквадратического отклонения. И прямые, которыми мы отрежем её от наших трёх звуков, можно провести прямо по границам окружностей:

На рисунке ниже каждому звуку соответствует кусок пространства своего цвета, и мы можем всегда сказать, к какому звуку относится та или иная точка пространства (или не относится ни к какому):

Ну, хорошо, а теперь вспомним, что пространство 13-мерное, и то, что было хорошо рисовать на бумаге, теперь оказывается тем, что не укладывается в человеческом мозгу.

Так, да не так. К счастью, в пространстве любой размерности остаются такие понятия, как точка, прямая, [гипер]плоскость, [гипер]сфера.

Мы повторяем все те же действия и в 13-мерном пространстве: находим дисперсию, определяем радиусы [гипер]сфер, соединяем их центры прямой, рубим её [гипер]плоскостью в точке, равно отдалённой от границ [гипер]сфер.

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

Здесь, правда, следует сделать оговорку. Всё это справедливо, если информация о звуке – это облако точек, отклоняющихся от среднего одинаково во всех направлениях, то есть хорошо вписывающееся в гиперсферу. Если бы это облако было фигурой сложной формы, например, 13-мерной изогнутой сосиской, то все приведённые выше рассуждения были бы не верны. И возможно, при правильном обучении, нейронная сеть смогла бы показать здесь свои сильные стороны.

Но я бы не рисковал. А применил бы, например, наборы нормальных распределений (GMM), (что, кстати и сделано в CMU Sphinx). Всегда приятнее, когда ты понимаешь, какой конкретно алгоритм привёл к получению результата. А не как в нейронной сети: Оракул, на основе своего многочасового варения бульона из данных для тренировки, повелевает вам принять решение, что запрашиваемый звук – это звук №3. (Меня особенно напрягает, когда нейронной сети пытаются доверить управление автомобилем. Как потом в нестандартной ситуации понять, из-за чего машина повернула влево, а не вправо? Всемогущий Нейрон повелел?).

Но наборы нормальных распределений – это уже отдельная большая тема, которая выходит за рамки этой статьи.

Надеюсь, что статья была полезной, и/или заставила ваши мозговые извилины поскрипеть.

Какой гик не мечтает управлять компьютером с дивана одними только жестами и голосовыми командами? Как ни странно, но это уже возможно. А в самом ближайшем будущем каждый второй будет махать руками перед монитором. В статье рассматривается несколько способов и ближайших перспектив.

Управление голосом на Windows

Начнем с бесплатного софта, который позволяет управлять компьютером с помощью русской речи. Можно будет уговорить его открывать программы, выполнять какие-то действия и так далее. И ваши руки будут свободны для более важных дел.

Typle

Данная программа лидер среди программ, позволяющих командовать компьютером на родном русском языке. После установки нужно будет завести пользователя и придумать ему ключевое слово вроде «Ok, Windows», хотя нам советуют слово «Открой». Именно с него мы и начинаем говорить, знакомая реализация в Google Glasses существует.

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

Управление жестами на компьютере

Еще с момента появления PlayStation®Eye Camera и kinect люди захотели такие же функции и на компьютере. Позже Kinect даже стали продавать разработчикам, но для общего пользователя такого продукта не анонсировали. И даже есть новость, что Kinect 2.0 с Xbox One не будет работать на компьютере, но выйдет специальная версия Kinect и для PC. Правда без соответствующего софта пользы от него мало. Так что перейдем к самому софту.

Самым популярным и доступным способом управления жестами является программа Flutter и соответствующее Chrome-расширение. Для этой программы подойдет почти любая веб-камера.

Довольно мало функций, но зато они очень хорошо работают. Мы можем ставить на паузу и продолжать показывая ладонь. Переключать треки или видео налево или направо, в зависимости, куда укажем пальцем. Работает программа в PowerPoint, VLC, Winamp, iTunes, YouTube и нескольких других сервисов, которые мало кто у нас использует.

Для правильной работы желательно быть на расстоянии от вебкамеры, но не как попало. Лежа получается гораздо хуже контролировать, чем ровно сидя. Лично я пользуюсь только на YouTube, когда руки грязные довольно удобно или когда лежишь. Случайных движений еще не было. Но все же бывают погрешности, когда просто сидишь и махаешь руками перед монитором как полный идиот.

Наверняка Flutter скоро получит полную поддержку Chrome, ведь стартап в октябре 2013 года купила Google.

Leap Motion

От софта перейдем к устройствам. Leap Motion внушает доверие своим маленьким видом и количеством потенциальных возможностей. Эта штука определяет руки пользователя, точнее даже каждый палец. Собственный магазин с кучей приложений и игр не дает заскучать. И самое главное, он уже продается и стоит какие-то 5000 рублей. Не так много за такую магию.

Но, на самом деле, здесь много минусов. На хабре было обсуждений и даже мнение одного из пользователей. Руки всегда надо держать запястьем вверх над устройством, думаете легко? Подержите 5 минут.

Насчет приложений тоже большой минус в том, что все бесплатные глючат, вылетают. А игры сборище непонятных лсд-трипов. Да и управлять неудобно, точность играет в обратную сторону и каждое неверное движение рукой приводит к непредвиденным последствием.

Да и сам дравйвер для Leap Motion будет сжирать почти все ваши ресурсы на компьютере. Но если и это вас не останавливает, то купить, как всегда, на оф. сайте . Он даже на русском языке.

DUO 3D

Похожая технология от русских разработчиков тоже существует. Они просто взяли две Eye Camera, написали софт и сделали компанию на кикстартере. К сожалению, провальную. Собрали 62 000$ из 110 000$ планированных. Обидно, тем более, что они не получат даже этих денег, так как надо собрать все, чтобы они поступили.

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

Myo

Да ладно, кто не слышал о Myo. Браслет, определяющий жесты не с помощью камеры, как конкуренты, а распознаванием движения мышц. Красивый видеоролик и потрясающие возможности подкупили всех и даже меня. Как только браслет будет в свободной продаже, будут известны приложения и все интеграции, появятся обзоры, тогда и я куплю эту чудную вещь.

Сейчас браслет можно предзаказать за 150$, но боюсь попасть на сырую версию.

Управление компьютером с веб камеры на ноутбуках

Сейчас создатели ноутбуков любят экспериментировать с управлением жестами. Компания PointGrab продвинулась в этой тематике, концепт арт у них довольно оптимистичный.

Продуктами этой компании пользуется Acer. А Lenovo на основе этих наработок сделает свой собственный Motion Control 2.0.

А в сентябре 2013 Intel анонсировала новые ноутбуки с голосовым управлением, управлением жестами, прикосновением, а до этого летом компания приобрела израильский стартап Omek.

Посмотрим, что из этого всего выйдет. У меня в последнее время вечное ощущение того, что будущее вот-вот рядом и так уже пару лет. Мой материал можете дополнить своими знаниями, может есть еще какие-то устройства или способы, которые тоже стоило упомянуть?



Понравилась статья? Поделиться с друзьями: