Jak odsłuchać pocztę głosową Google Voice w Google Home

To jest samouczek pokazujący, jak na urządzeniu Google Home odczytać najnowszą pocztę głosową z Google Voice za pomocą Taskera, AutoWeb i AutoVoice.

Kiedy Google Home został wydany po raz pierwszy, brakowało (i nadal) brakuje mu wielu funkcji. Nadal nie możesz ustawiać wydarzeń w kalendarzu, czytać wiadomości tekstowych, tworzyć listy rzeczy do zrobienia i nie tylko. Jeśli jednak masz pomysł, możesz wdrożyć prawie wszystkie te funkcje samodzielnie, dzięki mocy Autogłos I Zadanie. Aby pokazać, jak kreatywny możesz być dzięki Google Home i AutoVoice, pokażę Ci, jak mieć Google Home przeczytaj najnowszą pocztę głosową Google Voice. W tej chwili może się to wydawać czarną magią, ale mam nadzieję, że pod koniec tego samouczka wszystko będzie miało sens.

Dzięki AutoVoice możesz wysyłać polecenia mówione z urządzenia Google Home do telefonu, który następnie interpretuje te polecenia i wykonuje pewne czynności za pomocą Taskera. Najlepsze jest to, że możesz wysyłać polecenia w języku naturalnym na swój telefon dzięki mocy

API.ai, pod warunkiem, że zarejestrujesz się w usłudze subskrypcji AutoVoice za 0,99 USD miesięcznie, aby zrównoważyć koszt hostingu serwera API.ai. Oznacza to, że nie musisz mówić tak automatycznie/precyzyjnie, gdy mówisz do Google Home, a AutoVoice nadal rozpozna polecenie, które próbujesz wysłać.

Przez jakiś czas integracja AutoVoice z Google Home była w fazie beta, ale wydanie AutoVoice 3.0 pozwala wszystkim użytkownikom wtyczki Tasker cieszyć się integracją z Google Home. Teraz, gdy AutoVoice jest powszechnie dostępny dla użytkowników i większość jego problemów została naprawiona, zacznę prezentować niektóre rzeczy, które zrobiłem za pomocą AutoVoice i Taskera. Mój pierwszy samouczek dotyczący Google Home, polegający na czytaniu najnowszej poczty głosowej Google Voice, jest dla mnie najbardziej skomplikowany udostępnij, ale jest to dobry kandydat do pokazania, że ​​to, co możesz zrobić z Taskerem, jest ograniczone tylko przez twoje wyobraźnia.

Słucham mojej najnowszej poczty głosowej w Google Home.

Zalecana lektura: Sprawdź nasze poprzednie tutoriale, gdzie pokazujemy, jak rozwiązać typowe problemy, z którymi poradziło sobie niewiele innych osób.


Wymagania

AutoVoice jest miękkim wymogiem, aby ten projekt działał. Możesz użyć IFTTT do uruchomienia zadania, ale będzie to wymagało zastosowania obejścia obejmującego inną aplikację, np Dołączyć Lub Pushbullet wysyłać polecenia do Taskera, ponieważ IFTTT nie integruje się bezpośrednio z Taskerem. Co więcej, najważniejszym zastrzeżeniem dotyczącym nieużywania AutoVoice jest to, że polecenia głosowe będą nieelastyczne w przypadku korzystania z IFTTT. Oznacza to, że za każdym razem musisz wypowiedzieć polecenie całkowicie dokładnie, w przeciwnym razie polecenie nie zostanie uruchomione. Może to stanowić problem w przyszłości, jeśli zaczniesz tworzyć mnóstwo integracji Tasker/Google Home (mam 28), co oznacza, że ​​za każdym razem musisz zapamiętać i odtworzyć dokładnie te polecenia, które chcesz.

Będziesz potrzebować:

  • Autogłos ($2.49)
  • Subskrypcja języka naturalnego AutoVoice (0,99 USD/miesiąc)
  • Zadanie ($2.99)
  • Beta AutoWeba
  • Wersja beta automatycznego rzucania ($0.99)

Przygotowanie

Zanim zajmiemy się sednem tej fajnej integracji, musimy poczynić pewne przygotowania, aby wszystko działało prawidłowo. Zajmę się tą konfiguracją etapami.

Część 1 — Konfigurowanie funkcji AutoVoice

Napisałem już obszernie o tym, jak skonfigurować AutoVoice w Google Home, więc proszę odsyłam do mojego poprzedniego artykułu tutaj. Jedyną zmianą, którą naprawdę warto zauważyć, jest to, że nie potrzebujesz już wersji beta AutoVoice, ponieważ integracja działa teraz ze stabilną aktualizacją AutoVoice. Polecam również przeczytanie krótkiego samouczka na temat reagowania profilu Taskera na polecenie AutoVoice, ponieważ tutaj będziemy robić to samo. Istota tego jest taka, że ​​w procesie konfiguracji będziesz wykonywać cztery główne czynności:

  1. Włącz usługę AutoVoice w aplikacji Google Home.
  2. Załóż konto API.ai i otrzymaj klucze API
  3. Dodaj te klucze API do ustawienia języka naturalnego w AutoVoice
  4. Zasubskrybuj usługę subskrypcji języka naturalnego AutoVoice

Ponownie kroki te zostały opisane znacznie bardziej szczegółowo w moim poprzednim artykule, dlatego polecam go przeczytać.

Część 2 — Konfigurowanie Google Voice

Potrzebujemy sposobu na uzyskanie dostępu do Twojej poczty głosowej Google Voice, aby Tasker mógł wyodrębnić treść poczty głosowej. Osiągniemy to poprzez przekazywanie wszystkich naszych wiadomości głosowych na połączone konto Gmail. Jest to natywna funkcja Google Voice i wystarczy przełączyć jeden przycisk w aplikacji Google Voice.

Gdy to zrobisz, zaczniesz otrzymywać wszystkie nowe wiadomości głosowe na swoją pocztę e-mail. Jak widać, wiadomość e-mail zawiera zarówno transkrypcję wiadomości głosowej, jak i łącze do rzeczywistego dźwięku wiadomości głosowej. Będziemy używać tego adresu e-mail do naszych celów.

Część 3 — Konfigurowanie AutoWeb

Aby wyodrębnić zawartość tej wiadomości e-mail, musimy uzyskać dostęp do zawartości wiadomości e-mail za pomocą API Gmaila. Zrobimy to za pomocą aplikacji AutoWeb, do której link podaliśmy na początku. Otwórz AutoWeb i dotknij „Przeglądaj usługi internetowe”. Przewiń w dół do interfejsu API Gmaila i dotknij go, aby zaimportować. Po zaimportowaniu AutoWeb poprosi Cię o uwierzytelnienie konta Gmail, którego chcesz używać z API. Wybierz to samo konto Gmail, na które przekazywane są wiadomości głosowe.

Teraz połączyłeś swój telefon z kontem Gmail za pomocą interfejsu Gmail API!

Część 4 — Konfigurowanie funkcji AutoCast

Zanim będziemy mogli wysłać dźwięk poczty głosowej do naszego Google Home, musimy skonfigurować funkcję AutoCast, aby mogła łączyć się z Google Home. Otwórz AutoCast i wybierz „Zarządzaj urządzeniami przesyłającymi”. Uderz w "+" na górnym pasku i wybierz swoje urządzenie Google Home.

Wreszcie jesteśmy gotowi, aby faktycznie to skonfigurować.


Czytanie Twojej najnowszej poczty głosowej Google Voice w Google Home

Autogłos

Pierwszą rzeczą, którą musimy zrobić, to utworzyć polecenie języka naturalnego AutoVoice. Jest to dość proste do wykonania.

  1. Otwórz AutoVoice
  2. Stuknij w Język naturalny
  3. Stuknij w Polecenia
  4. Stuknij w + ikonę, aby dodać nowe polecenie
  5. Wprowadź listę poleceń głosowych oddzielonych przecinkami, zawierającą tyle odmian polecenia głosowego, ile Twoim zdaniem możesz wypowiedzieć, aby uruchomić to polecenie.
  6. W przypadku odpowiedzi możesz wpisać dowolną liczbę odpowiedzi lub żadną, którą Google Home ma odczytać po wypowiedzeniu tego polecenia.
  7. Gdy już skończysz, nadaj temu poleceniu nazwę. Wszystko tu będzie działać.

Nawet jeśli wprowadzasz wiele odmian poleceń i odpowiedzi, nie musisz się martwić, że będziesz pamiętać o wymawianiu tych poleceń dokładnie tak, jak zostały zapisane. API.ai automatycznie przeanalizuje wszystko, co powiesz, a przy użyciu algorytmów języka naturalnego dopasuje wypowiadane polecenie do jednego z poleceń, które tutaj wyszczególnisz.

Alternatywnie, jeśli chcesz po prostu pobrać moją własną konfigurację, możesz to zrobić, klikając poniższy link. Uważam, że na razie, aby go zaimportować, trzeba będzie zalogować się do API.ai i tam go zaimportować.

Pobierz intencję języka naturalnego AutoVoice

Szczerze mówiąc, właściwa część tej konfiguracji AutoVoice jest dość prosta, ponieważ nie mamy do czynienia ze zmiennymi/parametrami ani kontekstami w poleceniu mówionym. Właściwie skomplikowana część pochodzi z następnej części, w której Tasker reaguje na polecenie języka naturalnego AutoVoice.

Zadanie

Oto przewodnik krok po kroku, co robimy, aby utworzyć ten profil.

  1. Otwórz Taskera i naciśnij + ikonę, aby utworzyć nowy profil.
  2. Przejdź do Wydarzenie -> Wtyczka -> AutoVoice -> Język naturalny.
  3. Stuknij ikonę ołówka, aby otworzyć ekran konfiguracji AutoVoice.
  4. Naciśnij „Polecenia” i wybierz nazwę utworzonego wcześniej polecenia.
  5. Naciśnij ikonę zaznaczenia powyżej, a następnie naciśnij klawisz Wstecz, aby powrócić do głównego ekranu Taskera.
  6. Tasker poprosi Cię o utworzenie nowego zadania. Jeśli chcesz, możesz nadać mu nazwę, ale mimo to kliknij ikonę znacznika wyboru, aby utworzyć nowe zadanie.

Po przejściu do ekranu edycji zadania utworzymy zadanie pokazane poniżej. Aby utworzyć nowe akcje, dotknij przycisku + ikona na dole pośrodku. W przypadku wszystkich profesjonalistów Taskera możesz rozwinąć poniższy przełącznik, aby wyświetlić opis profilu i zadania, który możesz śledzić dla siebie.

Strona główna — czytaj pocztę głosową

 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 ]

Czytaj więcej

Poniższy przewodnik krok po kroku pokaże Ci, jak powtórzyć Zadanie, jak pokazano na zrzucie ekranu po prawej stronie. Zadanie jest istotą tej konfiguracji i jest dość złożone. Działa to tak, że po aktywowaniu profilu kilka pierwszych akcji (A2-A4) przeszukuje i pobiera z Twojego Konto Gmail dla wiadomości z adresu [email protected], który jest zautomatyzowaną usługą e-mail używaną przez Google Głos. Następnie szukamy nagłówka tematu (A5-A7), aby uzyskać informacje o tym, kto i kiedy wysłał wiadomość głosową. Następnie wyodrębniamy treść wiadomości Gmaila, która jest zakodowana w formacie Base 64, dlatego musimy użyć funkcji Java (A8-A9). Po pobraniu zdekodowanej wiadomości szukamy adresu URL łączącego nas z plikiem audio poczty głosowej (A10-A11) i na koniec pobieramy plik w formacie mp3 (A12). A13-A18 po prostu wyszukuje informacje kontaktowe, jeśli istnieją, dotyczące numeru, który zostawił wiadomość głosową. Na koniec A19-A21 odczyta, od kogo i o której godzinie wysłano wiadomość głosową, a także nagrany dźwięk poczty głosowej.

  1. Wtyczka --> AutoCast --> AutoCast Speak. Urządzenie: wybierz swój Google Home. (Tutaj nie jest potrzebny żaden tekst, służy to tylko do połączenia z Google Home.)
  2. Wtyczka --> AutoWeb. API: Gmail. Akcja API: Wyświetl listę wiadomości. Identyfikator użytkownika: ja. Szukaj: od: [email protected]. Maksymalne wyniki: 5. Wyjście: ID.
  3. Zadanie --> Czekaj. Poczekaj 1 sekundę.
  4. Wtyczka --> AutoWeb. API: Gmail. Akcja API: Pobierz wiadomość. Format: pełny. Identyfikator użytkownika: ja. ID wiadomości: %pomocy (1). Wyjście: Dane treści, nazwa nagłówka ładunku, Wartość nagłówków ładunku.
  5. Zadanie --> Dla. Zmienny: % nagłówków. Rzeczy: 1:%payload_headers_name(#)
  6. Zmienne --> Zestaw zmiennych. Nazwa: %odniesienie. Do: % nagłówków. Sprawdź Jeśli i ustaw na Jeśli %payload_headers_name(%headers) ~ Temat.
  7. Zadanie --> Zakończ dla.
  8. Kod -> Funkcja Java. Dla klasy/obiektu wybierz Baza64. Funkcjonować: dekodować {bajt[]} (String, int). Parametr (ciąg): %dane ciała (1). Parametr (int): 8. Powrót: rozszyfrowane ciało.
  9. Kod -> Funkcja Java. Dla klasy/obiektu wybierz Strunowy. Funkcjonować: nowy {String} (bajt[], String). Parametr (bajt[]): rozszyfrowane ciało. Parametr (ciąg): UTF-8. Powrót: %ciało.
  10. Zmienne --> Podział zmiennych. Nazwa: %ciało. Rozdzielacz: https://www.google.com/voice/fm/
  11. Zmienne --> Podział zmiennych. Nazwa: %ciało2. Rozdzielacz: >
  12. Net->Pobierz HTTP. Port serwera: https://www.google.com Ścieżka: /voice/fm/%body21 Typ mima: audio/* Plik wyjściowy: /sdcard/Tasker/voicemail.mp3
  13. Zmienne --> Zbiór zmiennych. Nazwa: %poczta głosowa. Do: %payload_headers_value(%referencja)
  14. Zmienne --> Podział zmiennych. Nazwa: %poczta głosowa. Rozdzielacz: z
  15. Zmienne --> Podział zmiennych. Nazwa: %poczta głosowa2. Rozdzielacz: Na
  16. Telefon --> Testuj telefon. Typ: Nazwa Kontaktu. Dane: %poczta głosowa21. Przechowuj wynik w: %nazwa. Koniecznie sprawdź kontynuuj zadanie po błędzie.
  17. Zmienne --> Zbiór zmiennych. Nazwa: %poczta głosowa. Do: %poczta głosowa1 od %nazwa w %poczta głosowa22. Sprawdź, czy na dole i ustaw na if %nazwa jest ustawiona.
  18. Zmienne --> Zbiór zmiennych. Nazwa: %poczta głosowa. Do: %poczta głosowa1 z %poczta głosowa21 o %poczta głosowa22. Sprawdź, czy na dole i ustaw na if %name nie jest ustawione.
  19. Wtyczka -> AutoCast -> Mów. Urządzenie: wybierz swój Google Home. Tekst: %poczta głosowa
  20. Zadanie --> Czekaj. Czekać 5 sekund. To jest konfigurowalne opóźnienie aby mieć pewność, że między ogłoszeniem nowej poczty głosowej a odtworzeniem dźwięku poczty głosowej zawsze upływa wystarczająca ilość czasu. Jeśli jest za krótki, możesz wydłużyć ten czas. Pobaw się jednak z tą wartością, aby zobaczyć, co zmniejsza opóźnienie do akceptowalnego poziomu.
  21. Wtyczka --> AutoCast --> AutoCast. Urządzenie przesyłające: ponownie wybierz Google Home. Wybierać multimedia na pełnym ekranie jako Ekran. Przejdź do elementów multimediów pełnoekranowych, następnie audio i wprowadź opcję audio („utwór do odtworzenia”) /sdcard/Tasker/voicemail.mp3. Wybierać Automatyczne odtwarzanie.

Otóż ​​to! Teraz wszystko, co musisz zrobić, aby uruchomić to zadanie, to wysłać polecenie na urządzenie Google Home. Możesz to zrobić, mówiąc: „Hej/OK Google, pozwól mi porozmawiać z AutoVoice", a następnie wypowiedz jedną z odmian polecenia, gdy AutoVoice poprosi Cię o wypowiedzenie polecenia. Możesz też wypowiedzieć polecenie za jednym razem, mówiąc: „Hej/OK Google, poproś AutoVoice o [polecenie]"tak jak to zrobiłem na filmie pokazanym na początku.


Pobierz profil

Możesz pobrać profil/zadanie Taskera, które wykonałem, klikając poniższy link. Jeśli zdecydujesz się to zrobić, pamiętaj o wejściu i zmodyfikowaniu dwóch akcji „AutoCast”, tak aby odnosiły się do Twojego konkretnego urządzenia Google Home. Sprawdź także, czy polecenie języka naturalnego AutoVoice wymienione w moim profilu jest takie samo, jak to, które wprowadziłeś. Jeśli nie, po prostu zmień profil, aby wskazywał Twoje polecenie. Powinno zająć tylko kilka sekund.

Pobierz stronę główną — czytaj profil zadania poczty głosowej

Po pobraniu powyższego pliku XML zapisz go w dowolnym miejscu na swoim urządzeniu. Otwórz Taskera i wyłącz tryb dla początkujących w preferencjach. Następnie wróć do ekranu głównego i naciśnij długo kartę Profile, aż zobaczysz wyskakujące okienko z opcją „Importuj”. Naciśnij ten przycisk i przejdź do miejsca, w którym zapisałeś plik .prf.xml i wybierz go, aby go zaimportować.

Mam nadzieję, że ten samouczek okazał się przydatny. Lubiłem majstrować przy API i Taskerze, dopóki nie udało mi się sprawić, żeby wszystko działało. Wiem, że to nie jest super eleganckie, ale to przede wszystkim pokaz tego, jak skutecznie możesz zintegrować swój Google Home z różnymi usługami internetowymi i telefonem. Mamy nadzieję, że zainspiruje Cię to do stworzenia czegoś, o czym wcześniej nie myślałeś, że jest możliwe!