Kako slušati govornu poštu Google Voice na svom Google Homeu

Ovo je vodič koji vam pokazuje kako da vaš Google Home uređaj čita vašu najnoviju govornu poštu s Google Voicea pomoću Taskera, AutoWeba i AutoVoicea.

Kada je Google Home prvi put objavljen, nedostajale su mu (i još uvijek je) mnoge značajke. I dalje ne možete postaviti događaje u kalendaru, pročitati tekstualne poruke, izraditi popis obaveza i još mnogo toga. Međutim, ako imate pameti, možete implementirati gotovo sve ove značajke sami, zahvaljujući snazi AutoVoice i Tasker. U nastojanju da pokažem koliko kreativni možete biti s Google Homeom i AutoVoiceom, pokazat ću vam kako imati svoj Google Home pročitajte svoju najnoviju govornu poštu Google Voicea. Možda se trenutno čini kao crna magija, ali nadamo se da će do kraja ovog vodiča sve imati smisla.

S AutoVoiceom možete slati govorne naredbe sa svog Google Home uređaja na vaš telefon koji zatim tumači te naredbe i izvodi neke radnje putem Taskera. Najbolji dio je što možete slati naredbe prirodnog jezika na svoj telefon zahvaljujući snazi

API.ai, pod uvjetom da se prijavite za uslugu pretplate od 0,99 USD mjesečno na AutoVoice kako biste nadoknadili troškove hostinga API.ai poslužitelja. To znači da ne morate govoriti tako robotski/precizno kada govorite svom Google Homeu, a AutoVoice će i dalje prepoznati naredbu koju pokušavate poslati.

Neko je vrijeme integracija AutoVoicea s Google Homeom bila u beta verziji, ali je izdanje AutoVoice 3.0 omogućuje svim korisnicima dodatka Tasker da uživaju u integraciji Google Homea. Sada kada je AutoVoice široko dostupan korisnicima i kada je većina njegovih mana izglađena, počet ću predstavljati neke od stvari koje sam napravio s AutoVoiceom i Taskerom. Moj prvi vodič za Google Home, čitanje vaše najnovije govorne pošte Google Voicea, najsloženiji mi je podijeliti, ali je dobar kandidat da pokažete da je ono što možete učiniti s Taskerom ograničeno samo vašim mašta.

Slušam najnoviju govornu poštu na svom Google Homeu.

Preporučena literatura: pogledajte naš prethodne lekcije, gdje vam pokazujemo kako riješiti uobičajene probleme kojima je malo tko pristupio.


Zahtjevi

AutoVoice je meki uvjet za rad ovog projekta. Možete upotrijebiti IFTTT za pokretanje zadatka, ali to će zahtijevati korištenje zaobilaznog rješenja koje uključuje drugu aplikaciju kao što je Pridružiti ili Pushbullet za slanje naredbi Taskeru, budući da se IFTTT ne integrira izravno s Taskerom. Nadalje, i najvažnije upozorenje nekorištenja AutoVoicea, jest da će glasovne naredbe biti nefleksibilne ako koristite IFTTT. To znači da morate izgovoriti svoju naredbu potpuno točno, svaki put, ili se naredba neće pokrenuti. To može predstavljati problem u budućnosti ako počnete stvarati gomilu Tasker/Google Home integracija (ja jesam 28 trenutno), što znači da svaki put morate zapamtiti i reproducirati točno one naredbe koje želite.

Trebat će vam:

  • AutoVoice ($2.49)
  • Pretplata na AutoVoice Natural Language (0,99 USD mjesečno)
  • Tasker ($2.99)
  • AutoWeb Beta
  • AutoCast Beta ($0.99)

Priprema

Prije nego što uđemo u srž ove cool integracije, moramo izvršiti neke pripreme kako bi ovo ispravno radilo. Ovoj postavci pristupit ću u dijelovima.

Dio 1 - Postavljanje AutoVoicea

Već sam opširno pisao o tome kako postaviti AutoVoice s Google Homeom, pa vas molim pogledajte moj prethodni članak ovdje. Jedina promjena koju treba primijetiti jest da vam više ne treba AutoVoice beta jer integracija sada radi sa stabilnim ažuriranjem AutoVoicea. Također preporučujem da pročitate kratki vodič o tome kako Tasker profil reagira na naredbu AutoVoice, jer ćemo mi ovdje raditi istu stvar. Suština je da postoje četiri glavne stvari koje ćete raditi u ovom procesu postavljanja:

  1. Omogućite uslugu AutoVoice u aplikaciji Google Home.
  2. Postavite API.ai račun i preuzmite svoje API ključeve
  3. Dodajte ove API ključeve postavci prirodnog jezika u AutoVoiceu
  4. Pretplatite se na uslugu pretplate AutoVoice Natural Language

Ponavljam, ti su koraci mnogo detaljnije opisani u mom prethodnom članku, pa preporučujem da ga pročitate.

Dio 2 - Postavljanje Google Voicea

Trebamo način za pristup vašoj govornoj pošti Google Voicea kako bi Tasker mogao izdvojiti sadržaj govorne pošte. Način na koji ćemo to postići jest prosljeđivanje svih naših govornih poruka na vaš povezani Gmail račun. Ovo je izvorna značajka Google Voicea i sve što trebate učiniti je prebaciti jedan gumb u aplikaciji Google Voice.

Nakon što to učinite, počet ćete primati sve nove glasovne poruke na svoju e-poštu. Kao što vidite, e-pošta sadrži i transkripciju govorne pošte kao i vezu na stvarni zvuk govorne pošte. Koristit ćemo ovu e-poštu za naše potrebe.

Dio 3 - Postavljanje AutoWeba

Kako bismo izdvojili sadržaj ove e-pošte, moramo pristupiti sadržaju e-pošte koristeći Gmail API. To ćemo učiniti pomoću aplikacije AutoWeb koja je povezana na početku. Otvorite AutoWeb i dodirnite "Pregledaj web usluge". Pomaknite se prema dolje do Gmail API-ja i dodirnite ga za uvoz. Nakon uvoza, AutoWeb će od vas tražiti da potvrdite autentičnost Gmail računa koji želite koristiti s API-jem. Odaberite isti Gmail račun na koji se prosljeđuju govorne pošte.

Sada ste povezali svoj telefon sa svojim Gmail računom korištenjem Gmail API-ja!

Dio 4 - Postavljanje AutoCasta

Prije nego što možemo poslati zvuk govorne pošte na naš Google Home, moramo postaviti AutoCast tako da se može povezati s Google Homeom. Otvorite AutoCast i odaberite "Manage Cast Devices". Udari "+" na gornjoj traci i odaberite svoj Google Home uređaj.

Konačno smo spremni za ovo postavljanje.


Čitanje vaše najnovije Google Voice govorne pošte na Google Homeu

AutoVoice

Prvo što trebamo napraviti je stvoriti naredbu AutoVoice Natural Language. Ovo je prilično jednostavno učiniti.

  1. Otvorite AutoVoice
  2. Dodirnite Prirodni jezik
  3. Dodirnite Naredbe
  4. Dodirnite na + ikona za dodavanje nove naredbe
  5. Unesite popis glasovnih naredbi, odvojenih zarezima, koji sadrži onoliko varijacija glasovne naredbe za koje mislite da ih možete izgovoriti da biste aktivirali ovu naredbu.
  6. Za odgovore možete unijeti onoliko odgovora, ili nijedan, koje želite da vam Google Home pročita kada izgovorite ovu naredbu.
  7. Kada završite, dodijelite ovoj naredbi naziv. Ovdje će sve raditi.

Iako unosite hrpu varijacija naredbi i odgovora, ne morate se brinuti hoćete li zapamtiti izgovoriti te naredbe točno onako kako su napisane. API.ai će automatski raščlaniti sve što izgovorite i pomoću svojih algoritama prirodnog jezika uskladit će vašu izgovorenu naredbu s jednom od naredbi koje ovdje navodite.

Alternativno, ako samo želite preuzeti moje vlastite postavke, možete to učiniti na sljedećoj poveznici. Vjerujem da ćete se za sada, kako biste ga uvezli, morati prijaviti na API.ai i tamo ga uvesti.

Preuzmite AutoVoice Natural Language Intent

Da budem iskren, stvarni AutoVoice dio ovog postavljanja je prilično jednostavan, budući da nemamo posla s varijablama/parametrima ili kontekstima u izgovorenoj naredbi. Stvarno komplicirani dio dolazi iz sljedećeg dijela, gdje Tasker reagira na ovu naredbu AutoVoice Natural Language.

Tasker

Evo korak po korak vodiča o tome što radimo da napravimo ovaj profil.

  1. Otvorite Tasker i pritisnite + ikona za stvaranje novog profila.
  2. Idite na Događaj --> Dodatak --> AutoVoice --> Prirodni jezik.
  3. Dodirnite ikonu olovke za otvaranje konfiguracijskog zaslona AutoVoicea.
  4. Pritisnite "Naredbe" i odaberite naziv naredbe koju ste prethodno stvorili.
  5. Pritisnite ikonu kvačice iznad, a zatim pritisnite tipku Natrag za povratak na glavni zaslon Taskera.
  6. Tasker će od vas tražiti da izradite novi zadatak. Možete mu dati ime ako želite, ali bez obzira pritisnite ikonu kvačice da biste stvorili novi zadatak.

Kada se nađete na ekranu za uređivanje zadatka, mi ćemo kreirati zadatak koji je prikazan u nastavku. Za izradu novih radnji dodirnite + ikonu u donjoj sredini. Za sve Tasker profesionalce ovdje, možete proširiti prekidač u nastavku da biste prikazali opis profila i zadatka koje možete sami pratiti.

Početna - čitanje govorne pošte

 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 ]

Čitaj više

Donji vodič korak po korak pokazat će vam kako replicirati zadatak, prikazan na snimci zaslona desno. Zadatak je srž ove postavke ovdje i prilično je složen. Kako to funkcionira je da nakon što je profil aktiviran, prvih nekoliko radnji (A2-A4) traži i povlači iz vašeg Gmail račun za poruke s [email protected], automatizirane usluge e-pošte koju koristi Google Glas. Zatim tražimo zaglavlje predmeta (A5-A7) kako bismo mogli dobiti informacije o tome tko je poslao govornu poštu i kada. Zatim ekstrahiramo tijelo Gmail poruke, koje je kodirano u bazi 64 tako da moramo koristiti Java funkciju (A8-A9). Nakon što smo dohvatili dekodiranu poruku, tražimo URL koji nas povezuje sa audio datotekom govorne pošte (A10-A11) i konačno preuzimamo datoteku kao mp3 (A12). A13-A18 jednostavno traži podatke za kontakt, ako postoje, za broj koji je ostavio govornu poštu. Na kraju, A19-A21 će pročitati od koga je poslana govorna pošta u koje vrijeme, kao i snimljeni zvuk govorne pošte.

  1. Dodatak --> AutoCast --> AutoCast Speak. Uređaj: odaberite svoj Google Home. (Ovdje nije potreban tekst, ovo je samo za povezivanje s Google Homeom.)
  2. Dodatak --> AutoWeb. API: Gmail. API radnja: popis poruka. ID korisnika: ja. Traži: od: [email protected]. Maksimalan broj rezultata: 5. Izlaz: Iskaznica.
  3. Zadatak --> Čekaj. Pričekajte 1 sekundu.
  4. Dodatak --> AutoWeb. API: Gmail. API radnja: Dohvati poruku. Format: puni. ID korisnika: ja. ID poruke: %pomoć (1). Izlaz: Podaci o tijelu, ime zaglavlja nosivosti, Vrijednost zaglavlja nosivosti.
  5. Zadatak --> Za. varijabla: %zaglavlja. Stavke: 1:%payload_headers_name(#)
  6. Varijable --> Skup varijabli. Ime: %referenca. Do: %zaglavlja. Označite If i postavite ga na If %payload_headers_name(%headers) ~ Predmet.
  7. Zadatak --> kraj za.
  8. Kod--> Java funkcija. Za klasu/objekt odaberite Baza64. Funkcija: dekodirati {byte[]} (niz, int). Param (string): %podaci o tijelu (1). Parametar (int): 8. Povratak: dekodirano tijelo.
  9. Kod --> Java funkcija. Za klasu/objekt odaberite Niz. Funkcija: novi {String} (bajt[], niz). Param (bajt[]): dekodirano tijelo. Param (string): UTF-8. Povratak: %tijelo.
  10. Varijable --> Split varijable. Ime: %tijelo. Cjepidlaka: https://www.google.com/voice/fm/
  11. Varijable --> Split varijable. Ime: %tijelo2. Cjepidlaka: >
  12. Net --> HTTP Get. Poslužitelj: Port: https://www.google.com Staza: /voice/fm/%body21 Mime vrsta: audio/* Izlazna datoteka: /sdcard/Tasker/voicemail.mp3
  13. Varijable --> Skup varijabli. Ime: %govorna pošta. Do: %payload_headers_value(%reference)
  14. Varijable --> Split varijable. Ime: %govorna pošta. Cjepidlaka: iz
  15. Varijable --> Split varijable. Ime: %govorna pošta2. Cjepidlaka: na
  16. Telefon --> Test telefona. Tip: Ime kontakta. Podaci: %govorna pošta21. Pohrani rezultat u: %Ime. Svakako provjerite nastavak zadatka nakon greške.
  17. Varijable --> Skup varijabli. Ime: %govorna pošta. Do: %govorna pošta1 od %name na %govorna pošta22. Provjerite if na dnu i postavite ga na if %name je postavljen.
  18. Varijable --> Skup varijabli. Ime: %govorna pošta. Do: %voicemail1 od %voicemail21 na %voicemail22. Provjerite if na dnu i postavite ga na if %name nije postavljeno.
  19. Dodatak --> AutoCast --> Govori. Uređaj: odaberite svoj Google Home. Tekst: %govorna pošta
  20. Zadatak --> Čekaj. Čekati 5 sekundi. Ovo je podesivo kašnjenje kako biste osigurali da uvijek ima dovoljno vremena između najave nove govorne pošte i zvuka govorne pošte koji se reproducira. Ako je ovo prekratko, možete povećati ovo vrijeme. Poigrajte se s ovom vrijednošću kako biste vidjeli što smanjuje kašnjenje na prihvatljivu razinu.
  21. Dodatak --> AutoCast --> AutoCast. Cast uređaj: ponovno odaberite svoj Google Home. Izaberi mediji preko cijelog zaslona kao Zaslon. Idite na Full Screen Media elements pa Audio i za Audio ("song to play") stavite /sdcard/Tasker/voicemail.mp3. Izaberi Auto Play.

To je to! Sada, sve što trebate učiniti da pokrenete ovaj zadatak je poslati naredbu na svoj Google Home uređaj. To možete učiniti tako da kažete "Hej/OK Google, pusti me da razgovaram s AutoVoiceom", a zatim izgovorite jednu od varijacija vaše naredbe kada vam AutoVoice kaže da izgovorite svoju naredbu. Ili možete izgovoriti svoju naredbu odjednom tako što ćete reći "Hej/OK Google, zamoli AutoVoice da [naredba]" baš kao što sam učinio u videu prikazanom na početku.


Preuzmi profil

Tasker profil/zadatak koji sam napravio možete preuzeti na donjem linku. Ako to odlučite, svakako uđite i izmijenite dvije radnje "AutoCast" tako da se odnose na vaš određeni Google Home uređaj. Također provjerite je li naredba prirodnog jezika AutoVoice navedena u mom profilu ista kao ona koju ste napravili. Ako ne, samo promijenite profil da pokazuje na vašu naredbu. Trebalo bi trajati samo nekoliko sekundi.

Preuzmite Home - Read Voicemail Tasker Profil

Nakon što preuzmete gornju XML datoteku, spremite je bilo gdje na svom uređaju. Otvorite Tasker i onemogućite početnički način rada u postavkama. Zatim se vratite na glavni zaslon i dugo pritisnite karticu Profili dok ne vidite skočni okvir s opcijom "Uvoz". Pritisnite to i dođite do mjesta na koje ste spremili .prf.xml datoteku i odaberite je da biste je uvezli.

Nadam se da vam je ovaj vodič bio koristan. Uživao sam petljati s API-jem i Taskerom dok nisam uspio pokrenuti stvari. Znam da nije super elegantno, ali ovo je uglavnom prikaz koliko snažno možete integrirati svoj Google Home s raznim web uslugama i telefonom. Nadamo se da će vas ovo nadahnuti da stvorite nešto što prije niste mislili da je moguće!