Cum să ascultați mesageria vocală Google Voice pe Google Home

Acesta este un tutorial care vă arată cum să faceți ca dispozitivul dvs. Google Home să citească cel mai recent mesaj vocal din Google Voice utilizând Tasker, AutoWeb și AutoVoice.

Când Google Home a fost lansat pentru prima dată, a fost (și încă este) lipsit de multe funcții. Încă nu aveți cum să setați evenimente din calendar, să citiți mesajele text, să creați o listă de activități și multe altele. Cu toate acestea, dacă aveți îndrăzneală, puteți implementa aproape toate aceste caracteristici pe cont propriu, datorită puterii AutoVoice și Tasker. În efortul de a demonstra cât de creativ puteți fi cu Google Home și AutoVoice, vă voi arăta cum să aveți Google Home citiți cel mai recent mesaj vocal Google Voice. Poate părea magie neagră chiar acum, dar sperăm că până la sfârșitul acestui tutorial va avea sens.

Cu AutoVoice, puteți trimite comenzi vocale de pe dispozitivul dvs. Google Home pe telefon, care apoi interpretează aceste comenzi și efectuează anumite acțiuni prin Tasker. Cea mai bună parte este că puteți trimite comenzi în limbaj natural telefonului dvs. datorită puterii lui

API.ai, cu condiția să vă înscrieți pentru un serviciu de abonament de 0,99 USD/lună la AutoVoice pentru a compensa costul găzduirii serverului API.ai. Asta înseamnă că nu trebuie să vorbiți atât de robot/preciz atunci când vorbiți cu Google Home, iar AutoVoice va recunoaște în continuare comanda pe care încercați să o trimiteți.

De ceva vreme, integrarea AutoVoice cu Google Home a fost în versiune beta, dar lansarea AutoVoice 3.0 permite tuturor utilizatorilor plug-in-ului Tasker să se bucure de integrarea Google Home. Acum că AutoVoice este disponibil pe scară largă pentru utilizatori și majoritatea problemelor sale au fost rezolvate, voi începe să prezint câteva dintre lucrurile pe care le-am realizat cu AutoVoice și Tasker. Primul meu tutorial Google Home, citirea celei mai recente mesaje vocale Google Voice, este cel mai complex distribuie, dar este un candidat bun pentru a arăta că ceea ce poți face cu Tasker este limitat doar de dvs imaginație.

Ascult cel mai recent mesaj vocal al meu pe Google Home.

Lectură recomandată: Consultați-ne tutoriale anterioare, unde vă arătăm cum să rezolvați probleme comune pe care puțini alții le-au abordat.


Cerințe

AutoVoice este o cerință ușoară pentru ca acest proiect să funcționeze. Puteți utiliza IFTTT pentru a declanșa Sarcina, dar aceasta va necesita să utilizați o soluție care implică o altă aplicație, cum ar fi A te alatura sau Pushbullet pentru a trimite comenzi către Tasker, deoarece IFTTT nu se integrează direct cu Tasker. În plus, și cel mai important avertisment de a nu folosi AutoVoice, este că comenzile vocale vor fi inflexibile dacă utilizați IFTTT. Aceasta înseamnă că trebuie să rostiți comanda complet exact, de fiecare dată, altfel comanda nu se va declanșa. Aceasta poate fi o problemă în viitor dacă începeți să creați o mulțime de integrări Tasker/Google Home (am 28 în prezent), ceea ce înseamnă că trebuie să memorați și să reproduceți exact comenzile dorite de fiecare dată.

Vei avea nevoie:

  • AutoVoice ($2.49)
  • Abonament AutoVoice Natural Language (0,99 USD/lună)
  • Tasker ($2.99)
  • AutoWeb Beta
  • AutoCast Beta ($0.99)

Pregătirea

Înainte de a intra în carnea acestei integrări cool, trebuie să facem câteva pregătiri pentru ca aceasta să funcționeze corect. Voi aborda această configurație în părți.

Partea 1 - Configurarea AutoVoice

Am scris deja pe larg despre cum să configurați AutoVoice cu Google Home, așa că vă rog consultați articolul meu anterior aici. Singura modificare de remarcat este că nu mai aveți nevoie de AutoVoice beta, deoarece integrarea funcționează acum cu actualizarea stabilă AutoVoice. De asemenea, vă recomand să citiți scurtul tutorial despre a face un profil Tasker să reacționeze la comanda AutoVoice, deoarece vom face același lucru aici. Esența este că există patru lucruri principale pe care le veți face în acest proces de configurare:

  1. Activați serviciul AutoVoice în aplicația Google Home.
  2. Configurați un cont API.ai și obțineți cheile API
  3. Adăugați aceste chei API la setarea Natural Language din AutoVoice
  4. Abonați-vă la serviciul de abonament AutoVoice Natural Language

Din nou, acești pași sunt descriși mult mai detaliat în articolul meu anterior, așa că vă recomand să-l citiți.

Partea 2 - Configurarea Google Voice

Avem nevoie de o modalitate de a accesa mesajele dvs. vocale Google Voice, astfel încât Tasker să poată extrage conținutul mesageriei vocale. Modul în care vom realiza acest lucru este redirecționând toate mesajele noastre vocale către contul dvs. Gmail conectat. Aceasta este o caracteristică nativă a Google Voice și tot ce trebuie să faceți este să comutați un singur buton în aplicația Google Voice.

Odată ce ați făcut acest lucru, veți începe să primiți toate mesajele vocale noi în e-mailul dvs. După cum puteți vedea, e-mailul conține atât o transcriere a mesajului vocal, cât și un link către sunetul real al mesajului vocal. Vom folosi acest e-mail în scopurile noastre.

Partea 3 - Configurarea AutoWeb

Pentru a extrage conținutul acestui e-mail, trebuie să accesăm conținutul e-mail-ului folosind API-ul Gmail. Vom face acest lucru folosind aplicația AutoWeb care a fost conectată aproape de început. Deschideți AutoWeb și atingeți „Răsfoiți serviciile web”. Derulați în jos la API-ul Gmail și atingeți-l pentru a importa. După importare, AutoWeb vă va cere să autentificați contul Gmail pe care doriți să îl utilizați cu API. Selectează același cont Gmail către care sunt redirecționate mesajele vocale.

Acum v-ați conectat telefonul la contul Gmail prin utilizarea API-ului Gmail!

Partea 4 - Configurarea AutoCast

Înainte de a putea trimite mesajul audio la Google Home, trebuie să setăm AutoCast astfel încât să se poată conecta la Google Home. Deschideți AutoCast și selectați „Gestionați dispozitivele Cast”. Loveste "+pictograma " din bara de sus și selectați dispozitivul dvs. Google Home.

În cele din urmă, suntem gata să punem efectiv această setare.


Citirea celei mai recente mesaje vocale Google Voice pe Google Home

AutoVoice

Primul lucru pe care trebuie să-l facem este să creăm o comandă AutoVoice Natural Language. Acest lucru este destul de simplu de făcut.

  1. Deschideți AutoVoice
  2. Apăsați pe Limbajul natural
  3. Atingeți Comenzi
  4. Atingeți pe + pictograma pentru a adăuga o nouă comandă
  5. Introduceți o listă de comenzi vocale, separate prin virgule, care să conțină atâtea variante ale comenzii vocale pe care credeți că le puteți vorbi pentru a declanșa această comandă.
  6. Pentru răspunsuri, puteți introduce atâtea răspunsuri, sau niciunul, pe care doriți să le citească Google Home când rostiți această comandă.
  7. După ce ați terminat, dați un nume acestei comenzi. Orice va funcționa aici.

Chiar dacă introduceți o mulțime de variații de comenzi și răspunsuri, nu trebuie să vă faceți griji să vă amintiți să rostiți aceste comenzi exact așa cum sunt scrise. API.ai va analiza automat orice vorbiți și, folosind algoritmii săi în limbaj natural, vă va potrivi comanda vorbită cu una dintre comenzile pe care le enumerați aici.

Alternativ, dacă doriți doar să descărcați propria mea configurație, puteți face acest lucru la următorul link. Cred că deocamdată, pentru a-l importa, va trebui să te autentifici pe API.ai și să-l importați acolo.

Descărcați AutoVoice Natural Language Intent

Pentru a fi sincer, partea actuală AutoVoice a acestei setări este destul de simplă, deoarece nu avem de-a face cu variabile/parametri sau contexte în comanda vorbită. Partea reală complicată vine din partea următoare, în care Tasker reacţionează la această comandă AutoVoice Natural Language.

Tasker

Iată un ghid pas cu pas despre ceea ce facem pentru a realiza acest profil.

  1. Deschideți Tasker și apăsați pe + pictograma pentru a crea un profil nou.
  2. Accesați Eveniment --> Plugin --> AutoVoice --> Limbaj natural.
  3. Atingeți pictograma creion pentru a deschide ecranul de configurare al AutoVoice.
  4. Apăsați „Comenzi” și selectați numele comenzii pe care ați creat-o mai devreme.
  5. Apăsați pictograma bifă de mai sus, apoi apăsați tasta Înapoi pentru a reveni la ecranul principal al lui Tasker.
  6. Tasker vă va cere să creați o nouă sarcină. Îi puteți da un nume dacă doriți, dar apăsați pictograma bifă pentru a crea o nouă sarcină indiferent.

Odată ce vă aflați în ecranul de editare a sarcinilor, vom crea sarcina care este afișată mai jos. Pentru a crea acțiuni noi, atingeți + pictograma din mijlocul de jos. Pentru toți profesioniștii Tasker de aici, puteți extinde comutatorul de mai jos pentru a afișa descrierea profilului și a sarcinii pe care le puteți urmări singur.

Acasă - Citiți mesageria vocală

 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 ]

citeşte mai mult

Ghidul pas cu pas de mai jos vă va arăta cum să replicați Sarcina, afișată în captura de ecran din dreapta. Sarcina este carnea acestei configurații aici și este destul de complexă. Cum funcționează este că odată ce profilul este activat, primele câteva acțiuni (A2-A4) caută și extrag din Cont Gmail pentru mesaje de la [email protected], care este serviciul de e-mail automat utilizat de Google Voce. Căutăm apoi antetul subiectului (A5-A7) pentru a putea obține informații despre cine a trimis mesajul vocal și când. Apoi extragem corpul mesajului Gmail, care este codificat în baza 64, așa că trebuie să folosim o funcție Java (A8-A9). După ce am preluat mesajul decodat, căutăm apoi adresa URL care ne leagă la fișierul audio al mesageriei vocale (A10-A11) și în cele din urmă descarcăm fișierul ca mp3 (A12). A13-A18 caută pur și simplu informațiile de contact, dacă există, pentru numărul care a lăsat mesajul vocal. În cele din urmă, A19-A21 va citi de la cine a fost trimis mesajul vocal la ce oră, precum și sunetul înregistrat al mesageriei vocale.

  1. Plugin --> AutoCast --> AutoCast Speak. Dispozitiv: alege-ți Google Home. (Nu este necesar niciun text aici, acesta este doar pentru a vă conecta la Google Home.)
  2. Plugin --> AutoWeb. API: Gmail. Acțiune API: Listează mesajele. ID utilizator: eu. Căutare: de la: [email protected]. Rezultate maxime: 5. Ieșire: Id.
  3. Sarcină --> Așteptați. Așteptați 1 secundă.
  4. Plugin --> AutoWeb. API: Gmail. Acțiune API: Obțineți mesaj. Format: complet. ID utilizator: eu. ID mesaj: %aid (1). Ieșire: Datele corpului, numele antetelor sarcinii utile, și Valoarea antetelor sarcinii utile.
  5. Sarcină --> Pentru. Variabil: %anteturi. articole: 1:%payload_headers_name(#)
  6. Variabile --> Set de variabile. Nume: %referinţă. La: %anteturi. Verificați dacă și setați-l la Dacă %payload_headers_name(%headers) ~ Subiect.
  7. Sarcină --> Încheiere pentru.
  8. Cod--> Funcție Java. Pentru Clasă/Obiect, selectați Baza 64. Funcţie: decodați {octet[]} (Șir, int). Param (șir): %bodydata (1). Param (int): 8. Întoarcere: corp decodat.
  9. Cod --> Funcție Java. Pentru Clasă/Obiect, selectați Şir. Funcţie: {String} nou (octet[], șir). Param (octet[]): corp decodat. Param (șir): UTF-8. Întoarcere: %corp.
  10. Variabile --> Divizare variabilă. Nume: %corp. Splitter: https://www.google.com/voice/fm/
  11. Variabile --> Divizare variabilă. Nume: %body2. Splitter: >
  12. Net --> HTTP Get. Server: Port: https://www.google.com Cale: /voice/fm/%body21 Tip mime: audio/* Fisier de iesire: /sdcard/Tasker/voicemail.mp3
  13. Variabile --> Set de variabile. Nume: %mesageria vocală. La: %payload_headers_value(%referință)
  14. Variabile --> Divizare variabilă. Nume: %mesageria vocală. Splitter: din
  15. Variabile --> Divizare variabilă. Nume: %voicemail2. Splitter: la
  16. Telefon --> Telefon de testare. Tip: Nume de contact. Date: %voicemail21. Păstrați rezultatul în: %Nume. Asigurați-vă că verificați continuați sarcina după eroare.
  17. Variabile --> Set de variabile. Nume: %mesageria vocală. La: %voicemail1 de la %name la %voicemail22. Verificați dacă în partea de jos și setați-l la dacă %name este setat.
  18. Variabile --> Set de variabile. Nume: %mesageria vocală. La: %voicemail1 de la %voicemail21 la %voicemail22. Verificați dacă în partea de jos și setați-l la dacă %name nu este setat.
  19. Plugin --> AutoCast --> Speak. Dispozitiv: alege-ți Google Home. Text: %mesageria vocală
  20. Sarcină --> Așteptați. Aștepta 5 secunde. Acesta este un întârziere configurabilă pentru a vă asigura că există întotdeauna suficient timp între anunțul noului mesaj vocal și redarea sunetului mesajului vocal. Dacă acesta este prea scurt, puteți crește acest timp. Joacă-te cu această valoare totuși pentru a vedea ce reduce întârzierea la un nivel acceptabil.
  21. Plugin --> AutoCast --> AutoCast. Dispozitiv de proiectare: alege din nou Google Home. Selectați media pe ecran complet ca Ecran. Mergeți la Full Screen Media Elements, apoi Audio, iar pentru Audio („melodie de redat”) puneți /sdcard/Tasker/voicemail.mp3. Selectați Redare automata.

Asta este! Acum, tot ce trebuie să faceți pentru a declanșa această sarcină este să trimiteți comanda pe dispozitivul dvs. Google Home. Poți face asta spunând „Hei/OK Google, lasă-mă să vorbesc cu AutoVoice" și apoi rostind una dintre variantele comenzii dvs. când AutoVoice vă spune să rostiți comanda. Sau îți poți spune comanda dintr-o singură dată spunând „Hei/OK Google, cereți AutoVoice să [comandă]" exact așa cum am făcut în videoclipul afișat la început.


Descărcați profilul

Puteți descărca profilul/sarcina Tasker pe care am făcut-o de la linkul de mai jos. Dacă alegeți să faceți acest lucru, asigurați-vă că intrați și modificați cele două acțiuni „AutoCast”, astfel încât acestea să facă referire la dispozitivul dvs. Google Home. De asemenea, verificați pentru a vă asigura că Comanda AutoVoice Natural Language numită în Profilul meu este aceeași cu cea pe care ați făcut-o. Dacă nu, schimbați doar profilul pentru a indica comanda dvs. Ar trebui să dureze doar câteva secunde.

Descărcați pagina de pornire - Citiți profilul personalului de mesagerie vocală

După ce ați descărcat fișierul XML de mai sus, salvați-l oriunde pe dispozitiv. Deschideți Tasker și dezactivați modul începător în preferințe. Apoi reveniți la ecranul principal și apăsați lung pe fila Profiluri, atingeți până când vedeți o casetă pop-up cu opțiunea „Importați”. Apăsați pe acesta și navigați până unde ați salvat fișierul .prf.xml și selectați-l pentru a-l importa.

Sper că ați găsit acest tutorial util. Mi-a plăcut să lucrez cu API-ul și Tasker până când am reușit să fac lucrurile să funcționeze. Știu că nu este super elegant, dar aceasta este în mare parte o vitrină a cât de puternic poți integra Google Home cu diverse servicii web și cu telefonul tău. Sperăm că acest lucru te inspiră să creezi ceva ce nu credeai că este posibil înainte!