Как прослушать голосовую почту Google Voice на Google Home

click fraud protection

В этом руководстве показано, как заставить ваше устройство Google Home читать последнюю голосовую почту из Google Voice с помощью Tasker, AutoWeb и AutoVoice.

Когда Google Home был впервые выпущен, ему не хватало (и до сих пор) многих функций. У вас по-прежнему нет возможности устанавливать события календаря, читать текстовые сообщения, создавать список дел и многое другое. Однако, если у вас есть смекалка, вы можете реализовать почти все эти функции самостоятельно благодаря возможностям Автоголос и Таскер. Стремясь продемонстрировать, насколько творческими вы можете быть с Google Home и AutoVoice, я покажу вам, как использовать Google Home прочитайте последнее голосовое сообщение Google Voice. Сейчас это может показаться черной магией, но, надеюсь, к концу этого урока все обретет смысл.

С помощью AutoVoice вы можете отправлять голосовые команды со своего устройства Google Home на свой телефон, который затем интерпретирует эти команды и выполняет некоторые действия через Tasker. Самое приятное то, что вы можете отправлять команды на естественном языке на свой телефон благодаря возможностям

API.aiпри условии, что вы оформите подписку на AutoVoice за 0,99 доллара в месяц, чтобы компенсировать расходы на хостинг сервера API.ai. Это означает, что вам не нужно говорить так роботизированно/точно, когда разговариваете с Google Home, и AutoVoice все равно распознает команду, которую вы пытаетесь отправить.

Некоторое время интеграция AutoVoice с Google Home находилась в стадии бета-тестирования, но выпуск AutoVoice 3.0 позволяет всем пользователям плагина Tasker пользоваться интеграцией с Google Home. Теперь, когда AutoVoice широко доступен пользователям и большинство его недостатков устранено, я начну демонстрировать некоторые вещи, которые я сделал с помощью AutoVoice и Tasker. Мое первое руководство по Google Home — чтение последней голосовой почты Google Voice — для меня самое сложное. поделитесь, но это хороший кандидат, чтобы показать, что возможности Tasker ограничены только вашими воображение.

Прослушиваю последнее голосовое сообщение на Google Home.

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


Требования

AutoVoice — это мягкое требование для работы этого проекта. Вы можете использовать IFTTT для запуска задачи, но для этого вам потребуется использовать обходной путь, включающий другое приложение, например Присоединиться или Пушбуллет для отправки команд в Tasker, поскольку IFTTT не интегрируется напрямую с Tasker. Кроме того, самое важное предостережение при отказе от использования AutoVoice заключается в том, что голосовые команды будут негибкими при использовании IFTTT. Это означает, что вы должны произносить команду абсолютно точно каждый раз, иначе команда не сработает. Это может стать проблемой в будущем, если вы начнете создавать множество интеграций Tasker/Google Home (у меня есть 28), что означает, что вам придется каждый раз запоминать и воспроизводить именно те команды, которые вам нужны.

Тебе понадобится:

  • Автоголос ($2.49)
  • Подписка AutoVoice на естественном языке (0,99 доллара США в месяц)
  • Таскер ($2.99)
  • АвтоВеб Бета
  • Бета-версия AutoCast ($0.99)

Подготовка

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

Часть 1. Настройка AutoVoice

Я уже подробно писал о том, как настроить AutoVoice с помощью Google Home, поэтому, пожалуйста, обратитесь к моей предыдущей статье здесь. Единственное изменение, на которое следует обратить внимание, это то, что вам больше не нужна бета-версия AutoVoice, поскольку теперь интеграция работает со стабильным обновлением AutoVoice. Я также рекомендую вам прочитать краткое руководство по тому, как заставить профиль Tasker реагировать на команду AutoVoice, поскольку здесь мы будем делать то же самое. Суть в том, что в процессе установки вы будете выполнять четыре основных действия:

  1. Включите службу AutoVoice в приложении Google Home.
  2. Создайте учетную запись API.ai и получите ключи API.
  3. Добавьте эти ключи API в настройку естественного языка в AutoVoice.
  4. Подпишитесь на службу подписки AutoVoice Natural Language.

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

Часть 2. Настройка Google Voice

Нам нужен способ доступа к вашим голосовым сообщениям Google Voice, чтобы Tasker мог извлечь содержимое голосовой почты. Мы достигнем этого, пересылая все наши голосовые сообщения на вашу связанную учетную запись Gmail. Это встроенная функция Google Voice, и все, что вам нужно сделать, это нажать одну кнопку в приложении Google Voice.

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

Часть 3. Настройка AutoWeb

Чтобы извлечь содержимое этого электронного письма, нам необходимо получить доступ к содержимому электронного письма с помощью API Gmail. Мы сделаем это с помощью приложения AutoWeb, ссылка на которое была приведена в начале. Откройте AutoWeb и нажмите «Просмотр веб-служб». Прокрутите вниз до Gmail API и нажмите на него, чтобы импортировать. После импорта AutoWeb попросит вас подтвердить подлинность учетной записи Gmail, которую вы хотите использовать с API. Выберите та же учетная запись Gmail, на которую пересылаются голосовые сообщения.

Теперь вы связали свой телефон со своей учетной записью Gmail с помощью API Gmail!

Часть 4. Настройка AutoCast

Прежде чем мы сможем отправить звук голосовой почты на наш Google Home, нам необходимо настроить AutoCast, чтобы он мог подключаться к Google Home. Откройте AutoCast и выберите «Управление устройствами Cast». Ударь "+" на верхней панели и выберите свое устройство Google Home.

Наконец, мы готовы приступить к настройке.


Чтение последней голосовой почты Google Voice на Google Home

Автоголос

Первое, что нам нужно сделать, это создать команду AutoVoice Natural Language. Это довольно просто сделать.

  1. Откройте AutoVoice
  2. Нажмите «Естественный язык».
  3. Нажмите на команды
  4. Нажмите на + значок для добавления новой команды
  5. Введите список голосовых команд, разделенных запятыми, содержащий столько вариантов голосовой команды, которые, по вашему мнению, вы можете произнести, чтобы вызвать эту команду.
  6. Для ответов вы можете ввести столько ответов или ни одного, которые вы хотите, чтобы Google Home читал вам, когда вы произносите эту команду.
  7. Как только вы закончите, дайте этой команде имя. Здесь подойдет все.

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

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

Загрузите AutoVoice Natural Language Intent

Честно говоря, фактическая часть этой настройки AutoVoice довольно проста, поскольку мы не имеем дело с переменными/параметрами или контекстами в голосовой команде. Самая сложная часть происходит в следующей части, где Tasker реагирует на команду AutoVoice Natural Language.

Таскер

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

  1. Откройте Tasker и нажмите кнопку + значок для создания нового профиля.
  2. Перейдите в «Событие» -> «Плагин» -> «AutoVoice» -> «Естественный язык».
  3. Коснитесь значка карандаша, чтобы открыть экран конфигурации AutoVoice.
  4. Нажмите «Команды» и выберите имя созданной вами ранее команды.
  5. Нажмите значок галочки выше, затем нажмите клавишу «Назад», чтобы вернуться на главный экран Tasker.
  6. Tasker предложит вам создать новую задачу. Если хотите, вы можете дать ему имя, но в любом случае нажмите значок галочки, чтобы создать новую задачу.

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

Главная - Чтение голосовой почты

 Profile: Home - Read Voicemail (165)
Event: AutoVoiceNaturalLanguage[ Configuration: Commands: read my last voicemail ]
Enter: Read Voicemail (164)
A1: AutoCastSpeak[ Configuration: Device: Bedroom Home Timeout (Seconds):60 ]
A2: AutoWeb Web Service [ Configuration: API: Gmail
API Action: List messages
Include spam trash: false
User ID: me
Search: from:voice-noreply@google.com
MaxResults: 5 Timeout (Seconds):120 ]
A3: Wait[ MS: 0 Seconds: 1 Minutes: 0 Hours: 0 Days: 0 ]
A4: AutoWeb Web Service [ Configuration: API: Gmail
API Action: Get Message
Format: full
UserID: meTimeout (Seconds):120 ]
A5: For [ Variable:%headers Items:1:%payload_headers_name(#) ]
A6: Variable Set [ Name:%referenceTo:%headers Recurse Variables:OffDo Maths:Off Append:Off ] If [ %payload_headers_name(%headers) ~ Subject ]
A7: EndFor
A8: Java Function [ Return: decodedbody Class Or Object:Base64 Function:decode
{byte[]} (String, int) Param:%bodydata(1) Param:8 Param: Param: Param: Param: Param: ]
A9: Java Function [ Return:%body Class Or Object:StringFunction:new
{String} (byte[], String) Param: decodedbody Param: UTF-8 Param: Param: Param: Param: Param: ]
A10: Variable Split [ Name:%body Splitter: https://www.google.com/voice/fm/ Delete Base:Off ]
A11: VariableSplit[ Name:%body2 Splitter:> Delete Base: Off ]
A12: HTTP Get [ Server: Port: https://www.google.com Path:/voice/fm/%body21 Attributes: Cookies: User Agent: Timeout: 10 Mime Type: audio/* Output File:/sdcard/Tasker/voicemail.mp3 Trust Any Certificate: Off ]
A13: Variable Set [ Name:%voicemail To:%payload_headers_value(%reference) Recurse Variables:OffDo Maths:Off Append:Off ]
A14: Variable Split [ Name:%voicemail Splitter: from Delete Base:Off ]
A15: Variable Split [ Name:%voicemail2 Splitter: at Delete Base:Off ]
A16: Test Phone [ Type: Contact Name Data:%voicemail21 Store Result In:%name Continue Task After Error:On ]
A17: Variable Set [ Name:%voicemail To:%voicemail1 from %nameat %voicemail22 Recurse Variables:OffDo Maths:Off Append:Off ] If [ %nameSet ]
A18: Variable Set [ Name:%voicemail To:%voicemail1 from %voicemail21 at %voicemail22 Recurse Variables:OffDo Maths:Off Append:Off ] If [ %name !Set ]
A19: AutoCast Speak [ Configuration: Device: Bedroom Home
Text: %voicemailTimeout (Seconds):60 ]
A20: Wait[ MS: 0 Seconds: 5 Minutes: 0 Hours: 0 Days: 0 ]
A21: AutoCast [ Configuration:
Starting Casting Screen
Persistent Notification: true
Cast Device: Bedroom Home
Screen: Full Screen Media
Audio: /storage/emulated/0/Tasker/voicemail.mp3
Audio Volume: 100
Audio Position: 0
Audio AutoPlay: true Timeout (Seconds):3000 ]

читать далее

Приведенное ниже пошаговое руководство покажет вам, как воспроизвести задачу, показанную на снимке экрана справа. Задача — это суть этой установки, и она довольно сложна. Это работает так: как только профиль активирован, первые несколько действий (A2–A4) выполняют поиск и извлечение данных из вашего профиля. Учетная запись Gmail для сообщений с [email protected] — автоматизированной службы электронной почты, используемой Google. Голос. Затем мы ищем заголовок темы (A5–A7), чтобы получить информацию о том, кто и когда отправил голосовое сообщение. Затем мы извлекаем тело сообщения Gmail, которое закодировано в кодировке Base 64, поэтому нам нужно использовать функцию Java (A8-A9). После того, как мы получили декодированное сообщение, мы ищем URL-адрес, который ссылается на аудиофайл голосовой почты (A10-A11), и, наконец, загружаем файл в формате mp3 (A12). A13-A18 просто ищет контактную информацию, если она существует, для номера, оставившего голосовое сообщение. Наконец, A19-A21 зачитает, от кого и в какое время было отправлено голосовое сообщение, а также записанный звук голосового сообщения.

  1. Плагин --> AutoCast --> AutoCast Speak. Устройство: выберите свой Google Home. (Текст здесь не нужен, это просто для подключения к Google Home.)
  2. Плагин --> АвтоВеб. API: Gmail. Действие API: вывести список сообщений. Идентификатор пользователя: я. Поиск: от: [email protected]. Максимальное количество результатов: 5. Выход: Идентификатор.
  3. Задача --> Подождите. Подождите 1 секунду.
  4. Плагин --> АвтоВеб. API: Gmail. Действие API: Получить сообщение. Формат: полный. Идентификатор пользователя: я. Идентификатор сообщения: %помощи (1). Выход: Данные тела, имя заголовков полезной нагрузки, и Значение заголовков полезной нагрузки.
  5. Задача --> Для. Переменная: % заголовков. Предметы: 1:%payload_headers_name(#)
  6. Переменные --> Набор переменных. Имя: %ссылка. К: % заголовков. Проверьте «Если» и установите значение «Если» %payload_headers_name(%headers) ~ Тема.
  7. Задача --> Завершить.
  8. Код -> Функция Java. Для класса/объекта выберите База64. Функция: декодировать {byte[]} (строка, целое число). Парам (строка): %бодиды (1). Парам (целое): 8. Возвращаться: декодированное тело.
  9. Код -> Функция Java. Для класса/объекта выберите Нить. Функция: новая {String} (байт[], String). Парам (байт[]): декодированное тело. Парам (строка): UTF-8. Возвращаться: %тело.
  10. Переменные -> Разделение переменных. Имя: %тело. Сплиттер: https://www.google.com/voice/fm/
  11. Переменные -> Разделение переменных. Имя: %body2. Сплиттер: >
  12. Сеть --> HTTP Получить. Порт сервера: https://www.google.com Путь: /voice/fm/%body21 Тип мима: аудио/* Выходной файл: /sdcard/Tasker/voicemail.mp3
  13. Переменные --> Набор переменных. Имя: %голосовая почта. К: %payload_headers_value (% ссылка)
  14. Переменные -> Разделение переменных. Имя: %голосовая почта. Сплиттер: от
  15. Переменные -> Разделение переменных. Имя: %голосовая почта2. Сплиттер: в
  16. Телефон --> Тестовый телефон. Тип: Контактное лицо. Данные: %голосовая почта21. Сохранить результат в: %имя. Обязательно проверьте продолжить задачу после ошибки.
  17. Переменные --> Набор переменных. Имя: %голосовая почта. К: %voicemail1 от %name в %voicemail22. Проверьте, есть ли внизу, и установите значение if %имя установлено.
  18. Переменные --> Набор переменных. Имя: %голосовая почта. К: %voicemail1 от %voicemail21 в %voicemail22. Проверьте, есть ли внизу, и установите значение if %имя не установлено.
  19. Плагин --> Автокаст --> Говорить. Устройство: выберите свой Google Home. Текст: %голосовая почта
  20. Задача --> Подождите. Ждать 5 секунд. Это настраиваемая задержка чтобы обеспечить наличие достаточного времени между объявлением нового голосового сообщения и воспроизведением звука голосового сообщения. Если оно слишком короткое, вы можете увеличить это время. Поиграйте с этим значением, чтобы увидеть, что уменьшает задержку до приемлемого уровня.
  21. Плагин --> Автокаст --> Автокаст. Устройство трансляции: выберите свой Google Home еще раз. Выбирать полноэкранный медиа как Экран. Перейдите к элементам «Полноэкранный мультимедиа», затем «Аудио», а для параметра «Аудио» («песня для воспроизведения») установите /sdcard/Tasker/voicemail.mp3. Выбирать Автовоспроизведение.

Вот и все! Теперь все, что вам нужно сделать, чтобы запустить эту задачу, — это отправить команду на ваше устройство Google Home. Вы можете сделать это, сказав: «Привет/ОК, Google, позволь мне поговорить с AutoVoice", а затем произнесите один из вариантов вашей команды, когда AutoVoice предложит вам произнести команду. Или вы можете произнести свою команду за один раз, сказав: «Привет/ОК, Google, попроси AutoVoice [команда]«точно так же, как я сделал в видео, показанном в начале.


Скачать профиль

Вы можете скачать созданный мной профиль/задачу Tasker по ссылке ниже. Если вы решите это сделать, обязательно зайдите и измените два действия «AutoCast», чтобы они ссылались на ваше конкретное устройство Google Home. Кроме того, убедитесь, что команда AutoVoice Natural Language, указанная в моем профиле, совпадает с той, которую вы создали. Если нет, просто измените профиль, чтобы он указывал на вашу команду. Должно занять всего несколько секунд.

Загрузите домашнюю страницу — прочитайте профиль голосовой почты Tasker

Загрузив указанный выше XML-файл, сохраните его в любом месте на своем устройстве. Откройте Tasker и отключите режим новичка в настройках. Затем вернитесь на главный экран и нажмите и удерживайте вкладку «Профили», пока не увидите всплывающее окно с опцией «Импорт». Нажмите ее и перейдите туда, где вы сохранили файл .prf.xml, и выберите его для импорта.

Надеюсь, вы нашли этот урок полезным. Мне нравилось возиться с API и Tasker, пока я не смог заставить все работать. Я знаю, что это не очень элегантно, но в основном это демонстрация того, насколько эффективно вы можете интегрировать свой Google Home с различными веб-сервисами и своим телефоном. Надеюсь, это вдохновит вас на создание чего-то, о чем вы раньше не думали!