Как сделать голосовое управление
Как управлять смартфоном на Android только при помощи голоса
Говорят, что Apple больше других заботится о своих пользователях и делает для них по-настоящему удобные устройства. Разработчики компании продумывают всё настолько педантично, что пользоваться айфоном сможет даже незрячий. Сказывается удобный интерфейс под названием VoiceOver. С его помощью управляться со смартфоном можно при помощи голоса. Но немногие знают, что на Android есть точно такая же система, которая, впрочем, может пригодиться не только людям с нарушениями зрения, но и всем остальным, упростив управление.
Смартфоном можно с удобством управлять голосом, даже не прикасаясь к нему
Представлена Origin OS. Как бы выглядела iOS 14, если бы была оболочкой для Android
В отличие от iOS, где VoiceOver встроен прямо в систему, на Android всё устроено несколько иначе. Для голосового управления смартфоном была разработана специальная программа под названием Voice Access. Она основана на базе Google Ассистента, поэтому проблем с распознаванием быть не должно. Разве что работает она почему-то только с английским языком, а русский не распознаёт ни в каком виде. Правда, исключения тоже бывают, но о них – расскажу далее, потому что хочется обговорить это отдельно, а не подавать скомкано.
Голосовое управление Android
Voice Access требуется довольно много привилегий
Разработчики Google специально спроектировали Voice Access как инструмент полностью голосового управления. Поэтому вы сможете выполнять голосом практически любые манипуляции. Это может быть запуск приложений, пролистывание вниз и вверх, возврат на рабочий стол, управление настройками, набор и отправка сообщений, совершение голосовых звонков, запускать меню с фоновыми приложениями. В общем, вариантов действительно много. Единственное, как вы помните, управление голосом выстраивается только на английском.
Как открывать приложения голосом
Управлять смартфоном при помощи голоса можно только на английском
Исключение, о котором я говорил выше, заключается в том, что запускать приложения и вообще совершать с ними практически любые манипуляции можно на русском или по крайней мере на полу-русском языке. Что я имею в виду: из-за того, что часть приложений называется на английском (WhatsApp, Viber, Telegram), открыть их можно командой «Открой WhatsApp» и т.д. То есть Voice Access выцепляет именно название приложения, игнорируя слово «Открой», которое он не понимает.
Но зато русскоязычные названия приложений алгоритмы понимают без труда. Например, «Настройки» он наотрез отказывается распознавать как Settings, реагируя только в том случае, если вы произнесёте название нужного приложения по-русски. Если у вас и это не получается, обратите внимание на цифры на экране. Они сопровождают все интерактивные элементы интерфейса: приложения, кнопки, скроллер, пункты меню, настроек и т.д. При необходимости выполнить какую-то команду скажите по-английски просто «Tap *номер*». Это действие сымитирует прикосновение к функциональному элементу под нужным вам номером. Вполне удобно.
Как ответить на звонок без рук
Управлять голосом можно даже входящими звонками
Но особенно крутой мне показалась функция управления вызовами при помощи голоса. Она состоит в том, что каждый раз, когда вам будет поступать входящий звонок, Voice Access активируется автоматически. Это удобно тем, что вы сможете управлять звонком так, как вам нужно, не прикасаясь к смартфону. Чтобы активировать эту функцию, нужно открыть шторку уведомлений, а оттуда перейти в настройки Voice Access. Здесь в списке доступных параметров найдите пункт Activate for incoming calls. Дождитесь звонка и проверьте.
Вообще Voice Access – это очень удобная и универсальная штука, особенно, если к ней приноровиться. Например, я, чтобы алгоритмы лучше распознавали мою речь, отключил в Google Ассистенте работу на русском языке, оставив только английский. В результате кое-что стало получаться очень неплохо. Но готовьтесь к тому, что если ваше произношение оставляет желать лучшего, некоторые команды так и не будут восприняты смартфоном. От этого никуда не деться, но удобство от использования, по-моему, всё равно превосходит недостатки.
Как настроить голосовое управление на Андроид
Как настроить голосовое управление на Андроид. Одна из главных задач операционной системы Андроид — это максимально простое и понятное управление устройством. В каждом обновлении появляется всё больше новых возможностей, которые существенно упрощают пользование. Одной из таких функция является голосовое управление Андроид.
Голосовое управление Андроид
Ok, Google на Андроид, даёт возможность более эффективно использовать устройство. Голосом можно выполнять много функций и получать качественный результат. К примеру, искать необходимую информацию, включать/выключать приложения и даже набирать текст. На сегодняшний день данная разработка не идеальна и включает в себя различные недоработки.
Все команды, которые возможно осуществить с помощью голосового управления делятся на две группы.
Но к сожалению, есть и некоторые ограничения в работе голосового управления. Иногда на невостребованные запросы вы не сможете получить информацию. Например, вас интересует расписание сеансов в кинотеатрах Киева, и вы без проблем получите ответ, а вот если вы зададите тот же запрос, но уже касательно менее крупного города, то тут могут возникнуть проблемы, и вы можете столкнуться с отсутствием информации.
Как включить голосовое управление
Для того, чтобы воспользоваться голосовым управлением Ok, Google, необходимо постоянное подключение к интернету. В ограниченных размерах приложение может работать и без интернета, но качество распознавания голоса будет очень плохим и использование функции будет практически невозможным.
Включить голосовое управление несложно. Для этого нужно:
На некоторых устройствах распознавание функции голосового управления доступно не только в приложении Google, но и в других программах. Для этого в программе Google нажмите:
Основными требованиями для работы голосового управления является наличие программы Google версии 3,5 или выше и операционная система Android 4.4 или выше.
Как настроить голосовое управление
Функция Ok, Google всегда активна при условии, если у вас запущено приложение Google или Google Chrome. После активации система зафиксирует ваш голос и в дальнейшем с распознаванием проблем не должно быть. Чтобы осуществить запрос достаточно произнести фразу Ok, Google и сформулировать вопрос или команду.
Как отключить голосовое управление
Отключить Ok, Google не сложнее, чем включить. Для этого нужно сделать следующее:
Команды голосового управления
Ok, Google распознаёт множество разных команд. Нет конкретного перечня выполняемых запросов, так как у каждого пользователя они разные.
Вот небольшой список команд, которые можно осуществить с помощью голосового управления:
Не работает голосовое управление. Какие могут быть причины и как исправить?
Убедитесь, что голосовое управление активно: «Настройки» — «Голосовой поиск» — «Распознавание О’кей, Google». Установите флажок — «Из приложения Google». Также для правильной работы голосового управления необходимо подключение к интернету. Убедитесь, что устройство подключено к Wi-Fi или мобильному интернету. Попробуйте перезагрузить устройство.
Простейшее управление компьютером при помощи голоса
Если вас интересует, как помочь обездвиженному человеку управлять компьютером для общения с внешним миром – вам сюда. Если вам интересно, какое отношение к этому имеют мел-частотные кепстральные коэффициенты и нейронные сети – вам тоже сюда.
Часть I. Программа для управления компьютером при помощи голоса
Ко мне обратился человек с просьбой написать программу, которая позволила бы управлять компьютерной мышью при помощи голоса. Тогда я и представить себе не мог, что, практически полностью парализованный человек, который даже не может сам повернуть голову, а может лишь разговаривать, способен развить бурную деятельность, помогая себе и другим жить активной жизнью, получать новые знания и навыки, работать и зарабатывать, общаться с другими людьми по всему свету, участвовать в конкурсе социальных проектов.
Позволю себе привести здесь пару ссылок на сайты, автором и/или идейным вдохновителем которых является этот человек – Александр Макарчук из города Борисов, Беларусь:
«У Совы» — школа дистанционного обучения для людей с ограниченными возможностями. sova.by | |
«Без ограничений» — советы для тех, кому нужно работать на компьютере без рук bezogranicheniy.ru |
Для работы на компьютере Александр использовал программу «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» было известно, что работает она следующим образом:
Последняя задача просто реализуется при помощи функции 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 открыты, да вот незадача – если вы их используете, то должны в своей программе (как в исходниках, так и в исполняемом модуле) прописать текст, содержащий, в том числе, следующее:
Мне это показалось неприемлемым, и пришлось код переписать. Это сказалось на быстродействии программы (в лучшую сторону, кстати, хотя «читабельность» кода несколько пострадала). Во многом благодаря использованию библиотек “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-коэффициентов:
Как голосом управлять компьютером: обзор лучших программ
Голосовой ассистент — программа, распознающая человеческую речь и способная выполнять определённые действия в ответ на команду. Сегодня представлено большое количество голосовых помощников, разрабатываемых как крупными, так и небольшими компаниями.
Typle
Typle — это простое для понимания со стороны пользователя и лёгкое в плане расходования ресурсов ПК приложение. Посредством голосового управления через Typle можно запускать программы и документы локально, работать с интернет-ресурсами онлайн. Слова на русском распознаются достаточно точно, но для лучшего результата понадобится качественный широкополосный микрофон.
Скачать Typle можно с официальной страницы разработчика. После инсталляции и запуска, настройка приложения сводится к следующему:
Теперь вы можете свернуть окно и пользоваться помощником, который будет работать в фоне.
Speaker
Так же как и Typle, Speaker предельно простая в освоении и не расходующая много ресурсов компьютера программа. Голосовое управление осуществляется в фоновом режиме, то есть приложение никаким образом не мешает и не отвлекает пользователя от работы.
Speaker выступает в роли посредника между юзером и ПК при различных действиях с файлами, он меняет раскладку клавиатуры, перезагружает, выключает устройство и т. п. При этом интерфейс программы не перегружен, он выделяется минимализмом, но несколько необычен.
Утилиту можно скачать с официального сайта или с других проверенных интернет-ресурсов. Установленный Speaker настраивается довольно просто:
Laitis
Программу для голосового управления компьютером Laitis можно скачать с официального сайта с одноимённым названием. Имеются платная (стабильная) и бесплатная (бета) версии приложения. Второй вариант работает ничуть не хуже первого, но потенциально может сопровождаться мелкими багами.
После загрузки и установки программы её необходимо настроить:
Если программа понравилась, вы можете вступить в сообщество Laitis, щёлкнув по одноимённой вкладке. Регистрация в системе даёт определённые преимущества, включая разного рода бонусы.
«Горыныч»
Ещё один голосовой помощник с поддержкой русского языка. «Горыныч» обрабатывает пользовательские запросы в режиме реального времени и ищет по ним информацию в сети. Кроме того, умеет работать с программами и файлами локально в Windows.
Вы можете вводить информацию как текстом, так и голосом, добавлять новые фразы в словарь и редактировать команды. Скачать «Горыныча» можно с любого надёжного ресурса. Программа портативная и не требует установки.
Настраивается утилита следующим образом:
Существенным минусом утилиты является не слишком удобный интерфейс. Кроме того, «Горыныч» иногда путает команды, открывая, например, «Пуск» вместо блокнота, хотя это может зависеть от качества используемого микрофона.
Speechka
Как и большинство других голосовых помощников, данное приложение базируется на Google Voice Search, то есть использует стандартный голосовой поиск от Google. Программа поддерживает русский язык и проста в настройке. Speechka умеет запускать программы, открывать папки, плееры, документы и т. п.
Коротко о настройке утилиты:
Стоит отметить, что запуск программы в работу путём нажатия клавиш не слишком удобен, а постоянно включенный микрофон, настроенный на автоматическое распознавание, имеет тягу к ложным срабатываниям.
«Алиса»
Виртуальный ассистент «Алиса» от компании «Яндекс» на голову выше описанных нами программ. Она отвечает на всевозможные вопросы, ищет в сети информацию, играет, рассказывает сказки и даже поёт.
Среди основных функциональных возможностей «Алисы» можно выделить:
Конечно, основными функциями данного голосового ассистента являются такие повседневные задачи, как:
Данный голосовой помощник присутствует в «Яндекс.Браузере» по умолчанию, но такой вариант не всегда оправдан из-за его громоздкости и тяжести. В Windows вы можете установить и настроить «Алису» как независимое приложение:
В меру своих способностей (которые постоянно развиваются) «Алиса» может развлечь, вести диалог по разным тематикам. Остроты и приколы от «Алисы» — это отдельная тема. Ассистент умеет шутить и парировать, но не всегда уместно.
Среди дополнительных особенностей «Алисы» можно также отметить:
Cortana для Windows 10
Голосовой помощник от Microsoft взаимодействует с пользователем, помогая в сборе конкретной информации. «Кортана» интегрирована в меню «Пуск», содержит функции самообучения и предугадывания запросов. Однако бот не имеет поддержки русского языка, поэтому его использование подавляющему большинству российских пользователей недоступно.
Голосовой помощник на момент написания статьи оптимизирован для следующих языков:
Голосовые ассистенты прочно вошли в нашу жизнь. Любая из описанных в статье программ для управления компьютером голосом может стать для пользователя незаменимым помощником, облегчающим выполнение повседневных задач.