Amazon Echo Dot vs. Google Home Mini — какой помощник лучше?

    Голосовой интерфейс для взаимодействия с устройствами Интернета вещей (IoT) стремительно вторгается в повседневную жизнь. Если раньше механические, сенсорные переключатели и кнопки вполне устраивали, как средства коммуникации с техническими объектами, то сейчас привередливый пользователь с удовольствием произнесет простую фразу: «Alexa, turn living room lights on.» для того, чтобы включить свет и т.п. Впрочем, когда-то для этого требовалось всего лишь «хлопнуть в ладоши». Сейчас, наоборот, искусственный интеллект голосового ассистента делает вполне уверенные попытки осмысления голосовых запросов, сделанных в произвольной манере. В прошлой публикации «Что мы знаем об Amazon Alexa? Или первые впечатления от Amazon Echo Dot» была рассмотрена инфраструктура голосового ассистента Amazon Alexa на примере устройства Echo Dot. Вот и пришла пора рассмотреть конкурента в той же ценовой нише — Google Home Mini.


    Похожие друг на друга Amazon Echo Dot и Google Home Mini, или это совсем разные устройства?

    Компания Google одна из первых стала использовать возможности речевого интерфейса в своих разработках, например, в устройствах на Android. И не случайно, что аппаратное решение от поискового гиганта вышло вскоре за Alexa. Все познается в сравнении, поэтому в этой публикации без аналогий не обойтись. Стоит отметить, что на сегодня рынок голосовых помощников достаточно велик, например, Google Now, Microsoft Cortana, Siri, Алиса и др. Но это реализация интеллекта в облаке, а персональный голосовой ассистент – это физическое устройство, которое непременно должно быть частью умного дома, офиса, автомобиля и т.п. Впрочем, так считают разработчики этих систем. Обычные пользователи сейчас, скорее, оценивают потенциал таких устройств и перспективы собственной безопасности и конфиденциальности. Хотя, практически все пользуются смартфонами, и большинство из нас, не заклеивают веб-камеру ноутбука, но все-таки новое всегда выглядит неизученным и немного пугающим.


    Голосовой ассистент Google Home Mini

    В данном обзоре хочется рассмотреть устройства самого нижнего ценового диапазона, поскольку это решение наиболее подходит для экспериментов и, пожалуй, не значительно сказывается на семейном бюджете. Если говорить о смарт-колонках с голосовым интерфейсом, то сейчас их цена порядка $100 USD и более $300 USD, скорее, обусловлена не самим выбором ассистента, а именно подбором акустики, удовлетворяющей разносторонние запросы пользователей. При этом, если знать, что ожидать от самих аппаратных решений голосовых помощников, то вполне можно будет ответить и на основополагающий вопрос о целесообразности такого дополнения для акустической системы в умном доме или офисе и т.п. Поскольку выбор начальных решений достаточно узок, сейчас все сводится к сравнению Amazon Echo Dot с Google Home Mini, по крайней мере, эти оба решения стоят до $50 USD и позволяют расширить свои возможности более солидной акустикой, совместной работой с другими устройствами на основе разнообразных решений для голосовых ассистентов компаний и, несомненно, почти всей номенклатурой современных систем для умного дома.


    Голосовой ассистент Amazon Echo Dot в одном из вариантов кожуха

    Интересно, что Amazon, пожалуй, в отличие от Google, старается как можно шире расширить сферы использования своего голосового интерфейса, начиная от умного дома, офиса, автомобиля и, вот, совсем недавно предложила решение для детей – Echo Dot Kids Edition. Новое устройство фактически не отличается от Echo Dot, но поставляется с удобным резиновым кожухом и, как заявляют в обзорах, например, издания «The Verge», детская фраза «Awexa, play songs from Moana.» не должна стать преградой для взаимодействия с помощником. Конечно, в своем устройстве для детей Amazon добавляет родительский контроль, адаптированный контент и, конечно, следует ожидать новых навыков (Skills). При этом становится понятно, что проблема обеспечения кибербезопасности – это уже не пустой звук, особенно, в плане наводнения на уровне повседневной жизни устройствами IoT. Несомненно, что производители всячески беспокоятся о приватности пользователей своих устройств и информационной безопасности, но всегда интересны проекты, например, как IoT Inspector Принстонского (Princeton) университета.

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

    Как несложно заметить, на уровне устройства Echo Dot у Amazon есть фора во времени и, возможно, в самой концепции инфраструктуры проекта. Например, «навыки» для Alexa достаточно просто загрузить из соответствующего сервиса, наподобие магазина приложений. Сама инфраструктура облака Amazon направлена и реализует концепцию своеобразного «маркета». Впрочем, чем и является сфера деятельности Интернет-компании, предложившей Alexa. Несомненно, что Amazon всячески стимулируют разработчиков создавать новые «скилы» для Alexa, к сожалению, пока полный перечень возможностей доступен не для всех стран (Developer Rewards), впрочем, как и предлагает получение платежей внутри самих сервисов (In-Skill Purchasing и Amazon Pay for Alexa Skills). Например, в решениях продажи премиального контента или голосового заказа пиццы, товаров и т.п. Также можно получить дополнительный кредит на ресурсы облака AWS для публикации своего навыка (AWS Promotional Credits for Alexa). В добавок к этому, искусственный интеллект ассистента постоянно совершенствуется. Кстати, Google также начинает инвестировать в стартапы, например, как отмечается в заметке «Google starts throwing cash at Google Assistant startups».

    В свою очередь, инфраструктура Google – это поиск и «знание» всего Интернета. К сервису Google Now пользователи уже давно привыкли и устройство Home Mini органично расширило уже устоявшуюся инфраструктуру известного Интернет-гиганта.


    В базовой поставке Google Home Mini: коробка, информационные листки, само устройство, кабель питания USB — Micro USB с удобными застежками и блок питания на 5В, 1.8А

    Если говорить о приобретении Google Home Mini, то здесь, впрочем, как и с некоторыми другими интернет-покупками в зарубежных магазинах, повторилась все та же история. Хотя, стоит признать, что интересным исключением в плане удобства шопинга сейчас стал Китай с AliExpress, но там, естественно, не найти заветный ассистент. Итак, из официального магазина Google не удалось приобрести требуемый продукт, т.к. проверка покупки осуществляется не только по пункту доставки, но и по месту выпуска банковской карты. Решение очень простое, ведь есть eBay, где вполне можно найти что угодно, и воспользовавшись услугами почтового форвардера, получить заветную покупку из США. Цена Google Home Mini составляет $49 USD. Производитель пока не радовал скидками, правда, в официальном магазине при покупке двух устройств почти всегда можно сэкономить $20 USD. Кстати, совсем недавно в официальном Google Store все-таки можно было сэкономить $10 USD на покупке Google Home Mini или $40 USD при приобретении двух устройств. При этом на eBay предлагают достаточно большие скидки на восстановленные и устройства б/у, пожалуй, это не совсем то, что должно ассоциироваться с «ассистентом из будущего», но цена иногда играет решающее значение.

    Нужно понимать, что в настоящее время голосовой ассистент от Google поддерживает в основном английский язык и некоторые сервисы доступны только на территории США. При этом, радует то, что недавно была анонсирована поддержка русского языка для Google Assistant. Сам ассистент очень корректен в адаптации под запросы пользователя, например, можно выбрать либо женский, либо мужской голос помощника, а недавно компания анонсировала скорую доступность уже 6-ти разных голосов.

    Что же, Google стремительно отвоевывает сферу речевого интерфейса, а судя из ролика практически раздает устройства, как пончики. Да, и по внешнему виду есть очень большое сходство между Home Mini и пончиком.


    Но по интеллекту, Google Home Mini – это и не «маленький пуфик», и не «пончик», а скорее опытный и надежный секретарь/помощник, который найдет ответ и решение даже из любой безвыходной ситуации. В плане интеллекта у Google, хотя это очень субъективно, есть большое преимущество. Если посмотреть на интерактивное формирование запроса, например, для Google Now, то бросается в глаза примерно такая ситуация: сначала слова могут быть неправильно распознаны, но потом уже вся фраза проходит через «гребенку» искусственного интеллекта поисковика, после чего она практически всегда правильно распознается. Ответы Google достаточно сдержанные и прогнозируемые.

    По сравнительным тестам между Alexa и Google Assistant мнения экспертов практически сходятся и, в подавляющем большинстве, ассистент от Google выигрывает по количеству правильных ответов на поставленные вопросы. Например, недавно издание Stone Temple опубликовало заметку «Rating the Smarts of the Digital Personal Assistants in 2018», в которой описала результат тестирования голосовых ассистентов. Конечно, и в нем с небольшим отрывом победил Google Assistant, что примечательно, в варианте на смартфоне. Затем идут Cortana Invoke, Google Assistant на устройстве Google Home и, наконец, Alexa и Siri. В любом случае, все «искусственные интеллекты» голосовых ассистентов справились с 80% заданных вопросов из 4,952. Это несомненно говорит о прогрессе в направлении развития голосовых интерфейсов, но следует понимать, что все тесты достаточно субъективны.

    В заметке «Amazon Echo & Commerce: 1 in 10 Using Their Smart Speakers to Order Products» компания Marketing Charts опубликовала исследование о направленности самих вопросов, которые задают пользователи голосовых ассистентов и пришла к выводу, что в основном это: общие вопросы, погода, музыка, запуск таймера и календарь, конечно, управление умным домом, а уже где-то в конце списка идут вопросы, связанные с заказом товаров и услуг. Что интересно, пользователи смарт ассистентов не уделяют большое внимание прослушиванию подкастов. В любом случае голосовой ассистент – это забавно и интересно, по крайней мере в начале знакомства с технологий. Затем помощник должен перестать обращать на себя внимание и стать отличным дополнением в повседневной жизни.


    Дизайн Google Home Mini достаточно минималистичен и прост. Благодаря этому устройство от известного Интернет-поисковика очень просто встраивается в любой интерьер. Google предлагает несколько цветовых решений для своего ассистента, но в отличие от Echo Dot с разнообразными дополнительными кожухами, для Home Mini не предусмотрена возможность смены или «маскировки» внешнего вида устройства. Сверху голосовой ассистент от Google радует пользователей четырьмя разноцветными светодиодами, а управлять им можно не только прибегая к речевым командам (фраза активации устройства: «Ok Google» или «Hey Google»), а и при помощи двух сенсорных областей по краям устройства. Например, для увеличения или уменьшения звука. Интересно, что разработчики предполагали наличие и центральной сенсорной кнопки, но что-то пошло не так и ее программно отключили (Google Home Mini touch controls behaving incorrectly – Google Home Help). Конечно, для выключения микрофона на корпусе предусмотрен механический переключатель. Впрочем, это и все интерфейсы устройства, за исключением разъема Micro USB для подключения к блоку питания. Для взаимодействия с цифровым внешним миром предусматривается возможность использования: 802.11b/g/n/ac (2.4GHz/5Ghz) Wi-Fi, Bluetooth 4.1 или дополнительно приставку Chromecast.

    Первое подключение и настройка устройства очень проста. Вначале нужно загрузить приложение Google Home app на смартфон или планшет из Google Play или App Store. После подачи питания на ассистента, мобильное устройство подключится к точке доступа Google Home Mini. В этом приложении можно будет задать параметры подключения к домашнему маршрутизатору. Со «скрытой» точкой доступа домашней сети не будет никаких проблем. Приложение от Google имеет все нужные настройки, включая графу, для указания имени (SSID). Еще раз хочется отметить стабильность всех решений, которые предлагает инфраструктура этого голосового помощника. В отличие от конкурента, Google совсем не «выпячивает» сегментировалось своих сервисов, а наоборот все отлично «скрыто» в едином аккаунте пользователя.


    Скриншоты интерфейса мобильного приложения Google Home app

    Мобильное приложение может помочь в «первых шагах» или вопросах к ассистенту и, конечно, настройке оборудования умного дома. Интересная особенность решений умного ассистента от Google – это «Routines», которые позволяют выполнить сразу набор команд, например, в ответ на фразу «Good morning» и т.п. Соответствующие наборы команд или «действий» ассистента можно настраивать, но, к сожалению, самих параметров настройки пока достаточно мало.


    Скриншоты интерфейса мобильного приложения Google Home app

    После подключения к своей учетной записи устройства Google Home Mini можно вдоволь позадавать вопросов и, например, попросить найти свой телефон. В ответ на фразу: «Hey Google, find my phone» ассистент включит звонок на смартфоне. Это очень удобно, наравне с использованием голосового ассистента в качестве будильника или, например, попросить его озвучить предстоящие события в календаре и т.п. На фоне этого, для Alexa сначала потребуется загрузить подходящий навык (Skill), как предлагает издание CNET в заметке «3 ways to find your lost phone using Alexa», что возможно и не совсем удобно. Ведь всегда хочется, чтобы «искусственный интеллект» сам проявлял инициативу. Но многие согласятся, что с точки зрения безопасности выбор пользователем «скилов» достаточно оправдан и органичен, например, для реализации того же родительского контроля и т.п.

    После знакомства с внешним видом устройства Home Mini, непременно, хочется узнать о его аппаратной составляющей. В сети можно найти множество примеров «вскрытия» устройства, которое состоит из двух плат: основной, и пассивной, совсем маленьких размеров, с разъемом Micro USB и выключателем для микрофона. Как заметили обозреватели, в отличие от Echo Dot, колонка Home Mini содержит всего два микрофона, выполненных по технологии MEMS. Основной микропроцессор устройства — Marvell 88DE3006-BTK2 на базе ARM-технологии, адоптированный для решения мультимедиа задач. Также на плате содержатся аудио-усилитель, светодиоды и их драйверы, флеш- и оперативная память, Wi-Fi чип Marvall Avastar 88W8897, антенна и др. компоненты. Что же, к достоинствам Google Home Mini можно еще и отнести более качественный звук.


    Таким образом, разработчики Home Mini показали, что с задачами речевого интерфейса можно справится и более «скромными» силами, чем это сделали в Amazon. При этом, за счет очень развитого «машинного интеллекта» смогли превзойти своего конкурента. Но все же, подход Development Kits for AVS кажется более продуманным и интересным. Не спроста на рынок выходят такие устройства, как Roav VIVA, зарядное устройство, устанавливаемое в прикуриватель, которое позволяет расширить возможности любого автомобиля искусственным интеллектом Alexa, или хобби-проект IR DevKit, нацеленный на создание речевого интерфейса для ИК-управляемых устройств, и многие другие аппаратные проекты энтузиастов, вплоть до уровня производства.

    Для разработчиков или тех, кто хочет поэкспериментировать с искусственным речевым интерфейсом, но не хочет покупать, например, устройство Home Mini, компания Google предлагает интересный набор AIY kit. Вообще доступно два набора: один – Vision Kit, для экспериментов с интеллектуальной камерой и, что более интересно в контексте речевых интерфейсов, – Voice Kit. Набор для создания интеллектуальной колонки Voice Kit на базе технологии Google Assistant состоит из: базовой платы Raspberry Pi Zero WH и платы расширения – Voice Bonnet. К плате Voice Bonnet, содержащей микрофоны, подключается внешний динамик. В комплект входит достаточно «хипстерский» корпус из картона, большущая механическая кнопка, Micro SD-карточка, провода и некоторые др. крепежные изделия. Для питания потребуется внешний адаптер на 2.1 А с разъемом micro-USB. Впрочем, почти стандартный набор на базе Raspberry Pi Zero W. Цена за Voice Kit в сети Target $49.99 USD.


    Это уже второй релиз Voice Kit. Первый дебютировал в пошлом году, как бесплатный гаджет Google AIY Projects Kit к бумажному номеру журнала MagPi. Первый набор AIY Projects Kit для экспериментов с голосовым интеллектом от Google представлял из себя плату расширения Voice HAT для Raspberry Pi 3 (сам микрокомпьютер не входил в комплект), динамик, кнопку, прочие компоненты и примечательную картонную коробку-корпус.

    Картонная коробка – это мило. С этим согласятся все, особенно, кто когда-то покупал в зоомагазине хомяка и нес его домой в «такой» коробке с дырочками. Google – это так по-домашнему. Прямо хочется взять плату Raspberry Pi 3 B и погрузитеся в мир Google Assistant. Впрочем, можно обойтись и без фирменной картонной коробки и использовать свою плату Raspberry Pi. Например, подключив стандартную и достаточно дешевую USB-звуковую карту с выводом для подключения микрофона или, что еще лучше, USB-микрофон, а также добавив динамики и др. Впрочем, для экспериментов и с Amazon Alexa, и Google Assistant потребуются схожий и вполне доступный набор периферии. И, конечно, еще не помешает подключить светодиод к GPIO Raspberry Pi, например, для эмуляции управления внешними устройствами при помощи цифрового порта.

    Google Assistant SDK является основным средством разработки для пользователей и включает в себя Google Assistant Library, обеспечивающей доступ к возможностям Google Assistant непосредственно на устройстве пользователя (библиотека поддерживает Python и устройства на базе linux-armv7l и linux-x86_64, например, Raspberry Pi 3 B, Ubuntu desktops), и Google Assistant Service для взаимодействия на нижнем уровне API c голосовыми возможностями ассистента.


    Почти стандартный набор для запуска голосового ассистента на Raspberry Pi 3

    Рассмотрим рекомендуемую последовательность установки Google Assistant SDK for devices и библиотеку Google Assistant Library для разработки своих «действий» (Actions) под Python, на Raspberry Pi 3. Кстати, для разработки Google Assistant Service можно использовать не только Python, но и поддерживаются Node.js, Go, C++, Java (фреймворк gRPC). Для разворачивания Assistant SDK требуется сначала установить на микрокомпьютер операционную систему Raspbian. Сам Google Assistant SDK поддерживает еще Ubuntu Desktop и др. платформы на основе Linux. В отличие от разворачивания Alexa Voice Service, где большинство подготовительных действий пришлось выполнить самостоятельно, вдоволь поэкспериментировав, для Assistant SDK предоставляется исчерпывающая документация по Google Assistant Library, вплоть до того, что дается сноска на обоснование использования ограничивающего резистора для подключения светодиода к Raspberry Pi 3.

    После стандартной подготовки Raspberry Pi 3 и конфигурирования, например, беспроводного доступа в Raspbian следует настроить аудио-подсистему. Для этого так же даются исчерпывающие рекомендации, анпример, сначала узнаем как системой распозналось оборудование, в данном случае внешняя USB-аудио карта с поддержкой аналогового микрофона и линейного выхода на колонки. Традиционно узнаем об устройствах записи: $ arecord -l и воспроизведения: $ aplay -l. В ответе нас интересует номер карты и соответствующего устройства.


    Аудиоустройства на Raspberry Pi 3, под управлением Raspbian

    Получив сведения об аудиоустройствах остается только заполнить файл «.asoundrc», который надо сохранить в каталоге «/home/pi». В нашем случае, с внешней USB-аудио картой параметры настройки звуковой подсистемы ALSA будут следующими:

    pcm.!default {
      type asym
      capture.pcm "mic"
      playback.pcm "speaker"
    }
    pcm.mic {
      type plug
      slave {
        pcm "hw:1,0"
      }
    }
    pcm.speaker {
      type plug
      slave {
        pcm "hw:1,0"
      }
    }

    Где номер карты и соответствующий номер устройства: «1,0», соответствуют нашему «USB Audio». Впрочем, как установка началась успешно, так все и отлично пошло и дальше.


    Для регулировки громкости можно воспользоваться консольным AlsaMixer

    Следующим этапом нужно зарегистрировать новый проект в Actions Console. Для этого нужно выбрать название проекта и разрешить для него использование Google Assistant API. Затем, идет регистрация модели нашего устройства (Register the Device Model), в результате чего мы получаем файл «credentials.json», в формате JSON, с описанием нашего устройства. Этот файл нужно переместить в рабочий каталог «/home/pi/», например, если мы регистрировали устройство с другого компьютера, то можно воспользоваться протоколом SSH: «$ scp ~/Downloads/credentials.json pi@raspberry-pi-ip-address:/home/pi/». Кстати, в дальнейшем нам потребуется знание идентификаторов: «my-dev-project» и «my-model», впрочем, которые всегда будут доступны из Actions Console. Следующий этап можно пропустить и не указывать свойства «Specify traits». Эти свойства понадобятся во время разработки своих действий (Actions), например, на реакцию по фразе: «Ok Google, turn on.» для светодиода.

    И наконец, переходим к установке Google Assistant SDK. Для чего сначала установим зависимости, где рекомендуется установить третью версию Python:

    $ sudo apt-get update
    $ sudo apt-get install python3-dev python3-venv
    $ python3 -m venv env
    $ env/bin/python -m pip install --upgrade pip setuptools wheel
    $ source env/bin/activate
    

    Как видно из команд, для проекта разворачивается виртуальное окружение. Затем в нем устанавливаем нужные компоненты:

    (env) $ sudo apt-get install portaudio19-dev libffi-dev libssl-dev libmpg123-dev

    Используя менеджер пакетов Python устанавливаем последнюю версию Google Assistant Library и средства авторизации по протоколу OAuth:

    (env) $ python -m pip install --upgrade google-assistant-library
    (env) $ python -m pip install --upgrade google-assistant-sdk[samples]
    (env) $ python -m pip install --upgrade google-auth-oauthlib[tool]

    Затем, запускаем команду и открываем в браузере, указанный в ответе, URL для авторизации:

    (env) $ google-oauthlib-tool --scope https://www.googleapis.com/auth/assistant-sdk-prototype \
              --scope https://www.googleapis.com/auth/gcm \
              --save --headless --client-secrets /home/pi/credentials.json

    После этого нужно будет зайти в свою учетную запись «Google account», получить код авторизации «authorization code» и скопировать его в консоль. Если все сделано правильно, то можно будет увидеть в консоли запись: «credentials saved: /path/to/.config/google-oauthlib-tool/credentials.json». Все, теперь запускаем пример: «(env) $ googlesamples-assistant-hotword --project_id my-dev-project --device_model_id my-model» и общаемся с искусственным интеллектом голосового ассистента Google.


    Работа с Google Assistant на Raspberry Pi 3 и статистика использования Google Assistant API

    Следующий шаг – «поиграться» со светодиодом. Для этого подключим какой-нибудь светодиод к 22 выводу GPIO (BCM25) в Raspberry Pi 3, конечно, не забудем об ограничивающем резисторе. В документации Extend the Google Assistant все это очень подробно описано. Для управления цифровым выходом целесообразно использовать готовое решение со стороны Google Assistant. Для этого следует в Actions Console разрешить готовую «особенность» помощника (Traits), например, «OnOff» для устройств.


    Для включения предподготовленной «особенности» помощника требуется лишь зайти в Actions Console, выбрать свое устройство и включить нужный Trait

    Теперь запускаем программный пример: «(env) $ googlesamples-assistant-hotword --device_model_id my-model» и произносим: «Ok Google, turn on.». На текущем этапе, кроме вывода текстового сообщения о том, что команда принята, ничего не произойдет. Конечно, надо немного подредактировать код примера. Для чего клонируем нужный исходный код: «(env) $ git clone». Переходим в каталог Google Assistant Library «(env) $ cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/library». И редактируем программу: «(env) $ nano hotword.py». По существу, потребуется проинициализировать цифровой порт Raspberry Pi 3:

    with Assistant(credentials, args.device_model_id) as assistant:
    events = assistant.start()
    print('device_model_id:', args.device_model_id + '\n' +
          'device_id:', assistant.device_id + '\n')
    GPIO.setmode(GPIO.BCM)
    GPIO.setup(25, GPIO.OUT, initial=GPIO.LOW)

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

    if command == "action.devices.commands.OnOff":
    if params['on']:
        print('Turning the LED on.')
        GPIO.output(25, 1)
    else:
        print('Turning the LED off.')
        GPIO.output(25, 0)

    Для проверки работоспособности изменений следует запустить пример: «(env) $ python hotword.py --device_model_id my-model». Как уже отмечалось, документация у Google удобная и исчерпывающая, по крайней мере, для рассматриваемого раздела вряд ли, что-то не заработает. На следующем этапе вполне можно разработать уже свое поведение, например, чтобы голосовой ассистент мог запустить событие на разрабатываемом устройстве по фразе: «Ok Google, blink the light 5 times.» и т.п.

    Для разработчиков важно не только создать свое устройство, но и решать задачи, связанные с добавлением своих «действий» или «ответов» для определенных вопросов, заданных голосовому ассистенту. Как было уже замечено, для решения этой задачи на программном уровне для Google Assistant можно воспользоваться решениями Google Assistant Service из Google Assistant SDK. Непременно, для тех, кто не хочет программировать, или если сама задача не предполагает реализацию сложных алгоритмов, разумно использовать известный сервис IFTTT.


    Начало работы с сервисом IFTTT, в котором уже содержатся предопределенные сценарии для Google Assistant

    Всегда можно использовать IFTTT для реализации реакции устройств IoT умного дома, иных систем на основе ESP8266, или подобных решениях. Однако, для такой системы потребуется пробросить доступ к внутренней сети и устройствам IoT через домашний маршрутизатор, минуя файрволл, что не совсем безопасно. Лучше воспользоваться сторонним сервисом, например, дать доступ к «облаку» через сервисы: Adafruit IO, Blynk, многие др. или использовать свой выделенный внешний сервер, который будет взаимодействовать с аппаратурой.

    Другим решением, фактически не требующего навыков программирования, является сервис Dialogflow (ранее Api.ai, Speaktoit, а сейчас приналдежащий Google и работающий на основе искусственного интеллекта интернет-поисковика и его инфраструктуры). Сервис помогает объединить пользователей, мобильные приложения, голосовые ассистенты Google Assistant, Amazon Alexa, сервисы, такие как Facebook Messenger и др. платформы и устройства между собой. Немного этот сервис напоминает концепцию IFTTT, но все же больше нацелен на решение задач построения чат-ботов и т.п.


    Начало работы с сервисом Dialogflow, оптимизированном для решения задач под Google Assistant

    Использование Dialogflow очень прозрачно и удобно, но не стоит забывать и о консоли Actions on Google, фактически уже рассмотренной в этой публикации, и позволяющей, например, выполнить тестирование разработанного функционала в среде Dialogflow для ассистента Google. В свою очередь, стоит отметить, что события или реакции, инициируемые при разработке в Dialogflow, можно обработать сторонним сервисом или своим скриптом, например, запущенным на сервере под управлением Node.js или с применением другого языка или решения. А в пользу применения концепции безсерверных решений, может быть задействована возможность использования базы данных Firebase совместно все с тем же Dialogflow. Таким образом, для разработчика речевого интерфейса предоставляется достаточно много возможностей и решений, охватить которые практически невозможно в одной или даже двух публикациях.

    Одно можно утверждать совершенно точно уже сегодня, что мы уверенно вошли в новую эпоху голосовых ассистентов. Что будет дальше – увидим. Новые технологии достаточно широко раскрыли горизонты для цифровых аудио систем и технологий на их основе, а также направлений совершенствования искусственного интеллекта. Очень субъективно, но рассматриваемому Google Home Mini не хватает как-бы харизмы, как у Amazon Echo Dot и Alexa, соответственно. Если помощник от Google – это опытный секретарь, то Alexa – это незнакомка в красном из «Матрицы». Ее невозможно не заметить и не обратить на нее внимание. Кстати, не «Алекса», а «Алэкса». Немного разницы в произношении, и с ключевой фразой для Echo Dot стало все отлично. В очередной раз можно убедится на банальном примере, что локализация голосовых ассистентов – это следующий и очень важный шаг в развитии информационных технологий.

    Но пусть Alexa и ошибается, но даже в непредсказуемости ответов у нее есть какая-то своеобразная искра, которая заставляет разработчиков развивать умения и навыки для нее. Интересно, но задействование сервиса AWS Lambda очень лаконично и точно объединило концепцию инфраструктуры речевого ассистента в решениях от Amazon, по сравнению с некоей разрозненностью направлений, предназначенных для разработки на базе Google Assistant, как показалось на первый взгляд. Пусть Alexa пугает своим случайным смехом, что уже в далеком прошлом, но судя по достаточно скромному опыту работы с инфраструктурой Amazon для голосового ассистента, все что связано с Alexa показалось веселым и захватывающим. Для разработки навыков Alexa инфраструктура Amazon и облака AWS дает гораздо больше вдохновения и инструментальных средств для разработки, а у Google, пожалуй, все-таки не так много различных возможностей для построения сторонних продуктов. Зато, Google подкупает своей стабильностью, продуманностью документации и предлагаемых решений.

    Голосовые интерфейсы только осваивают сферы своего «влияния». Об этом свидетельствуют многочисленные публикации. Например, выход Echo Dot Kids Edition в публикации «Kids, Meet Alexa, Your AI Mary Poppins» интеллектуальное устройство сравнили с Мэри Поппинс, а в «Experts Say Keep Amazon’s Alexa Away From Your Kids» превалирует совсем другое мнение. Кстати, у Google есть немного схожее решение, стоит лишь спросить ассистента: «Ok Google, what can you do for families?».

    Интересно, что некоторые пользователи, отмечают, что, в силу своих ментальных черт, они не могут говорить с искусственным интеллектом голосового ассистента на публике. И тут на помощь может прийти разработка MIT Media Lab под названием AlterEgo, которая позволяет общаться, не произнося ни слова. Прототип устройства получает информацию, регистрируя слабые электрические сигналы при разговоре «с самим собой», создаваемых небольшими движениями мышц шеи и лица. Что интересно, подобная разработка может органично дополнить стремительно развивающуюся инфраструктуру голосовых ассистентов.


    Итак, «баттл» состоялся. Что примечательно, это соревнование было не по сложности аппаратной реализации или производительности «железа», а по «интеллекту» ассистентов и удобству разработки, что само-собой объективно оценить достаточно сложно. Но кто же победил, Amazon Echo Dot или Google Home Mini? Пожалуй, однозначного победителя назвать нельзя, у каждого ассистента есть свои слабые и сильные стороны. Каждый производитель идет своим путем, расширяя горизонты цифровых решений для пользователей. В этом направлении очень интересны комментарии наших читателей.

    Можно отметить, что Google Home Mini, достаточно детально описанный в этой публикации, идеально подойдет для квартиры или умного дома, а Amazon Echo Dot, который был рассмотрен ранее в заметке «Что мы знаем об Amazon Alexa? Или первые впечатления от Amazon Echo Dot», уже находит свое заслуженное место в офисе, в любом автомобиле и т.п. Впрочем, как и наоборот. Несомненно, что Home Mini вполне справляется со своей задачей в автомобилях, которые его поддерживают на уровне Android Auto, а также будет отлично смотреться на офисном столе, но все же здесь речь идет о предпочтениях. Пожалуй, пользователи сами выберут, где лучше смотрится тот или иной ассистент. Пока можно быть уверенными в том, что эпоха голосовых помощников только началась. Многие прорывные или инновационные приложения появятся лишь спустя некоторое время. Но не стоит ждать, а лучше поэкспериментировать с новыми девайсами, предложить свои решения голосовых интерфейсов, ведь это все так «в стиле» Geektimes и Хабр.

    ИНТЕРЕСНЫЕ РЕСУРСЫ И ССЫЛКИ:


    Общие вопросы о соперничестве и инициативах Интернет-гигантов Google против Amazon. Два интернет-гиганта решили воевать – Geektimes
    Shopping Actions: Google бросает вызов Amazon – Geektimes
    Эксперты прогнозируют, что Amazon станет лидером в сфере интернет-рекламы – Geektimes
    Amazon запретила использовать слово Google – Geektimes
    Джефф Безос: будущее бизнеса — машинное обучение, концентрация на интересах клиентов и быстрое принятие решений – Geektimes
    We asked Google Assistant, Amazon 's Alexa and Apple's Siri 150 questions. Here's who won – USA TODAY
    Google Assistant is Smarter Than Alexa and Siri, but Honestly They All Suck – Gizmodo
    Что показали на Google I/O 2018 – Geektimes
    Say goodbye to Alexa and hello to gadgets listening to the voice inside your head – MIT Technology Review

    Обзоры, сравнения и тесты Amazon Echo Dot vs. Google Home Mini

    Google Home Mini review – TechRadar
    These are the best smart home products to use with Google Home Mini – Android Central
    Обзор Google Home Mini: первый соперник Amazon Echo Dot – THG
    Обзор Google Home Mini — VoiceApp
    Google Home Mini vs. Amazon Echo Dot: Which is better? — Digital Trends
    9 things Google Home can do that Alexa can't – CNET
    7 things Amazon Echo can do that Google Home can't – CNET
    Сравнение Google Home и Amazon Alexa – Geektimes
    Amazon's Alexa Vs. Google Assistant: 24 Questions, 1 Winner – Forbes
    How to Pair Google Home to a Bluetooth Speaker – Tom's Guide
    The 5 Best Smart Speakers With Alexa and Google — WIRED
    The Best Smart Speakers of 2018 – PCMag
    17 of the coolest things your Google Home can do – Business Insider
    Google Assistant is Smarter Than Alexa and Siri, but Honestly They All Suck – Gizmodo

    Разборка Google Home Mini и эксперименты с Raspberry Pi

    Teardown Tuesday: Google Home Mini – All About Circuits
    Google Home Mini teardown, comparison to Echo Dot, and giving technology a voice – Medium
    Build your own Google Home using a Raspberry Pi – MyBroadband
    Turn your Raspberry Pi into homemade Google Home – Becoming Human: Artificial Intelligence Magazine
    DIY Google Home With Bluetooth Speaker on Raspberry Pi Zero Docking Hub – Instructables
    Ok Google: Как я создаю «умный дом» на основе колонки Google Home – ITC.ua

    Разработка для Google Assistant

    Actions on Google: начните разрабатывать приложения для Google Ассистента, который скоро запустится в России – Хабр
    OK Google, заведи мне машину – Хабр
    Как создать приложение для Google Home или Google Assistant
    Алиса, Google Assistant, Siri, Alexa. Как писать приложения для голосовых ассистентов – Хабр
    Home Automation using Google Assistant + Dialogflow + Firebase + ESP8266/Wemos (Part 1)(Updated) – Medium
    Home Automation using Google Assistant + Dialogflow + Firebase + ESP8266/Wemos (Part 2) – Medium
    OK Google, Arduino Uno, ESP8266, Blynk, IFTTT, Google Assistant Integration Tutorial – GitHub
    ESP8266 Voice Control with Google Assistant and Adafruit IO – Instructables
    Google Home and the ESP8266 – lucstechblog
    Actions on Google: Smart Home sample using Node.js – GitHub
    How To Build Your Own Action For Google Home Using API.AI – Smashing Magazine
    Чат-бот понимающий человеческую речь на Dialogflow – Хабр

    Видео с конференции Google I/O '18

    Keynote (Google I/O '18) – Google Developers
    I/O '18 Guide — Google Assistant – Google Developers
    Actions on the Google Assistant in 5 minutes – Google Developers
    What's new with the Google Assistant SDK for devices – Google Developers
    Build engaging conversations for the Google Assistant using Dialogflow – Google Developers
    The Google Assistant and Actions on Google at Google I/O 2018 – Google Developers
    • +16
    • 5,6k
    • 9
    Unet 31,20
    Социальная IoT платформа
    Поделиться публикацией
    Похожие публикации
    Комментарии 9
    • 0
      про установку на RPI3 интересно, я делал на Windows 10 IoT подобное, программа на c#, с использованием веб-сервиса гугл (а также яндекс и майкрософт). Сложного тут ничего нет, но есть проблема — это всё платное в использовании, а число бесплатных запросов ограничено.

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

      Но через пару лет ситуация будет много лучше, полагаю.
      • 0
        Про микрофон конечно печально, но логично. Особенно если мкрофон один и не разбивает звук в помещении по источникам.
        Или это я слишком оптимистичен, полагая что разбить источники по координатам могут без особых сложностей?
        • 0
          Мне тоже так казалось и я мечтал, как нашпигую дом микрофонами и дело в шляпе… Однако сложность тут техническая: стримить звуковой поток (16 тыс семплов в секунду с каждого устройства) на веб-сервис, чтобы тот распознавал на лету — это безумно дорого, бесплатная подписка 10 часов в месяц, а за остальное придется очень дорого доплатить.

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

          Только при таком подходе можно найти к какому ты устройству ближе, но устройства типа RPI такое не будут держать, полагаю, производительности не хватит, по крайней мере на Windows 10 IoT, а надо ведь и другие задачи делать. Кроме того, оно будет работать только в идеальном случае, когда ты один дома и тихо. А если комнаты смежные, в одной комнате один человек командует, в другой комнате — другой командует, делают они это не синхронно, а в холле телевизор болтает — тут вся система микрофонов и откажет… Из-за несовершенства алгоритмов даже такого примитивного распознавания ключевого слова. Нет пока алгоритмов, эта задача распознавания не решена пока на нормальном уровне, достаточном для использования хотя бы с допустимым числом ошибок. А без споттинга цена решения настолько дорога — что в принципе непрактична даже для собственного умного дома.

          Собственно, вся фишка описанных выше устройств — это данный кейворд споттинг, где вся цена платится за правильную реакцию на «ок, гугл» и даже на «хей, гу гу!», благодаря нейросети, натренированной на миллионах семплов. Но и это только на одном устройстве, причем близко к нему (выше уровня шума).

          В общем, пока это всё игрушка. Пока не будет найдено психоакустических алгоритмов или не будет выложена альтруистами нейросеть на миллиарде семплов с распознаванием голоса сильно ниже уровня шума.
          • 0
            Ну всё же предполагал локальные фильтры. Например звуковой поток ТВ вычитается как шум. Или голос берется только от одного источника в пределах комнаты, отсекая все остальные шумы. То есть что-то вроде «умного» направленного микрофона фокусирующегося на говорящем в помещении. А потом уже, обработанный поток, после опознания ключа начинает идти на сервер.
            Сложностей конечно такой подход рождает немало, но постоянная трансляция в сеть тоже вариант сомнительный. Особенно если так начнут делать все подряд.
            • 0
              Дело в том, что алгоритмический на данный момент невозможно выделить понятие «шум» из звукового потока. Для техники такого понятия не существует и пока не научили… В принципе я для себя, пока пробовал свой кейспоттинг, делал так: каждую секунду анализирую текущий уровень звука и считаю его шумом (тишиной). Все, что выше этого порога — принимается к распознаванию.

              Других вариантов найти не смог. Если голос ниже шума (болтающий ТВ) — тут ничего, на мой взгляд, сделать не получится. Или если два человека в комнате говорят между собой, а потом зашел третий и сказал «хей гу гу» — тоже техника с ума сойдет такое распознать. А уж если в комнате дискотека или хотя бы приятная фоновая музыка играет и ты хочешь скомандовать «сделай потише» — тут и наступит облом. Потому что ты от микрофона далеко, а колонки тоже у потолка и поближе. То есть шумом в данном случае становится твой голос, а не музыка.

              Вот таких нюансов множество и почти все они не будут работать (я не проверял это по факту, мне хватило того, что реализованный мной кейспоттинг был нерабочим, а я применял лучшие известные на сегодня методики распознавания). В общем, железка просто не знает что есть «голос», а что есть «шум». И даже люди этого не знают пока для себя
              • 0
                Об экстремальных условиях я речь не веду. Но неужели обработка звука на таком низком уровне? Динамики и микрофоны расположены неподвижно, форма сигнала и задержки до микрофона известны, отражения и мелкие коррекции можно снять заранее. Неужели всего этого недостаточно чтобы «вырезать» обработкой хотя бы звук телевизора? Для ситуации, сел в кресло а пульт неизвестно где, это было бы весьма неплохим решением.
                • 0
                  я совсем не профессионал в этой области (но профессиональный программист). И захотев сделать себе умный я дом, я размечтался. Но только до тех пор, пока не узнал, что действительно алгоритмы распознавания голоса находятся на уровне чуть выше нуля и дают очень много ошибок. Нормальных алгоритмов нет — все что есть сравнивают среднее по больнице со средним по поликлинике. И если с некоторой вероятностью совпало — то принимается.

                  Беда в том, что если берем ключевое слово например «Колокол», то повторим его раз 10 получим отклонение в 10 у.е
                  А потом скажем слово «раз» и получим такое отклонение… И какие только методики я не перепробовал… Есть еще задумки — но в целом всё печально, а я ведь использовал классические алгоритмы из диссертаций с DWT и MFCC и их улучшения.

                  Только обученная на сотнях тысяч примеров нейросеть справляется, и то не всегда. А так даже не получается сравнить звуковой вход с записанным ранее шаблоном — не придумали как и всё тут…

                  Вот как раз сетевые сервисы Гугл, Майкрософт и Яндекс — они на нейросетях. Но, заразы, платные и существенно. Бесплатно только от часа до 10 часов в месяц, а значит непрерывный стримминг 24 часа в сутки туда не сделать. А по месту с распознаванием ключевого слова проблема.

                  Это проблемы только одного микрофона. А если их десяток — проблема усугбляется. Попробуйте положить два телефона в комнате и произнесите «Ок, гугл», они оба начнут слушать вас и оба исполнять команды. Та же ситуация, думаю, с описанными в статье устройствами.
              • 0
                Вот, посмотрите, звуковая иллюзия. Половина людей слышат Йенни, а половина Лорел. Причем лично я каждый день слышу разное.

                www.youtube.com/watch?v=7ID87yKEYfI

                Если даже люди не могут нормально распознавать — то техника тем более. В видео ниже объяснение почему так

                youtu.be/74FOb0ezemc?t=1m41s
        • 0
          Казалось бы, что сложного распознать голос… Однако вы один раз произнесете «ок гугл» с одними вокальными характеристиками, а второй раз — с другими. И их математически не сопоставить никак, они совсем разные. Математических алгоритмов нормальных нет даже для сравнения с шаблоном. Нормально распознается только хорошо обученной нейросетью, а это доступно только корпорациям.

          Вот именно за это сравнение «ок гугл» и берут деньги в этих устройствах на самом деле.

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

          Самое читаемое