Slik lytter du til Google Voice Voicemail på Google Home

click fraud protection

Dette er en opplæring som viser deg hvordan du får Google Home-enheten til å lese den siste taleposten din fra Google Voice ved å bruke Tasker, AutoWeb og AutoVoice.

Da Google Home først ble utgitt, manglet (og er det fortsatt) mange funksjoner. Du har fortsatt ingen mulighet til å angi kalenderhendelser, lese tekstmeldingene dine, lage en oppgaveliste og mer. Men hvis du har vett, kan du implementere nesten alle disse funksjonene på egen hånd, takket være kraften til AutoVoice og Tasker. I et forsøk på å demonstrere hvor kreativ du kan være med Google Home og AutoVoice, vil jeg vise deg hvordan du har Google Home les den nyeste Google Voice-taleposten din. Det kan virke som svart magi akkurat nå, men forhåpentligvis vil alt være fornuftig mot slutten av denne opplæringen.

Med AutoVoice kan du sende talekommandoer fra Google Home-enheten til telefonen din, som deretter tolker disse kommandoene og utfører en handling gjennom Tasker. Det beste er at du kan sende naturlige språkkommandoer til telefonen takket være kraften til

API.ai, forutsatt at du registrerer deg for en abonnementstjeneste på $0,99/måned til AutoVoice for å kompensere for kostnadene ved å være vert for API.ai-serveren. Det betyr at du ikke trenger å snakke så robotisk/nøyaktig når du snakker til Google Home, og AutoVoice vil fortsatt gjenkjenne kommandoen du prøver å sende.

En stund har AutoVoice-integrering med Google Home vært i beta, men utgivelse av AutoVoice 3.0 lar alle brukere av Tasker-plugin-modulen nyte Google Home-integrasjon. Nå som AutoVoice er allment tilgjengelig for brukere og de fleste av dens kinks har blitt ryddet ut, vil jeg begynne å vise frem noen av tingene jeg har laget med AutoVoice og Tasker. Min første Google Home-opplæring, lesing av den nyeste Google Voice-taleposten din, er min mest komplekse del, men det er en god kandidat til å vise at det du kan gjøre med Tasker kun begrenses av din fantasi.

Lytter til min siste talepost på Google Home.

Anbefalt lesing: Sjekk ut vår tidligere opplæringsprogrammer, hvor vi viser deg hvordan du løser vanlige problemer som få andre har nærmet seg.


Krav

AutoVoice er et mykt krav for at dette prosjektet skal fungere. Du kan bruke IFTTT til å utløse oppgaven, men det vil kreve at du bruker en løsning som involverer en annen applikasjon som Bli med eller Pushbullet å sende kommandoer til Tasker, da IFTTT ikke integreres direkte med Tasker. Videre, og det viktigste forbeholdet ved å ikke bruke AutoVoice, er at talekommandoer vil være lite fleksible hvis du bruker IFTTT. Dette betyr at du må si kommandoen din helt nøyaktig, hver eneste gang, ellers vil ikke kommandoen utløses. Det kan være et problem i fremtiden hvis du begynner å lage tonnevis av Tasker/Google Home-integrasjoner (jeg har 28 for øyeblikket), noe som betyr at du må huske og reprodusere nøyaktig kommandoene du vil ha hver eneste gang.

Du vil trenge:

  • AutoVoice ($2.49)
  • AutoVoice Natural Language-abonnement ($0,99/måned)
  • Tasker ($2.99)
  • AutoWeb Beta
  • AutoCast Beta ($0.99)

Forberedelse

Før vi kommer inn på kjøttet av denne kule integrasjonen, må vi gjøre noen forberedelser for at dette skal fungere skikkelig. Jeg vil nærme meg dette oppsettet i deler.

Del 1 - Sette opp AutoVoice

Jeg har allerede skrevet mye om hvordan du konfigurerer AutoVoice med Google Home, så vær så snill referer til min forrige artikkel her. Den eneste endringen å merke seg er at du ikke lenger trenger AutoVoice beta, siden integrasjonen nå fungerer med AutoVoice stabile oppdatering. Jeg anbefaler også at du leser gjennom den korte veiledningen om hvordan du får en Tasker-profil til å reagere på AutoVoice-kommandoen, siden vi vil gjøre det samme her. Hovedpoenget er at det er fire hovedting du skal gjøre i denne oppsettsprosessen:

  1. Aktiver AutoVoice-tjenesten i Google Home-appen.
  2. Sett opp en API.ai-konto og få API-nøklene dine
  3. Legg til disse API-nøklene til Natural Language-innstillingen i AutoVoice
  4. Abonner på abonnementstjenesten AutoVoice Natural Language

Igjen, disse trinnene er beskrevet i langt større detalj i min forrige artikkel, så jeg anbefaler at du leser gjennom den.

Del 2 - Sette opp Google Voice

Vi trenger en måte å få tilgang til Google Voice-talepostene dine på, slik at Tasker kan trekke ut talepostinnholdet. Måten vi vil oppnå dette på er ved å få alle våre taleposter videresendt til den tilknyttede Gmail-kontoen din. Dette er en innebygd funksjon i Google Voice, og alt du trenger å gjøre er å slå på en enkelt knapp i Google Voice-appen.

Når du har gjort det, vil du begynne å motta alle nye talemeldinger i e-posten din. Som du kan se, inneholder e-posten både en transkripsjon av taleposten samt en lenke til selve lyden til taleposten. Vi vil bruke denne e-posten til våre formål.

Del 3 - Sette opp AutoWeb

For å trekke ut innholdet i denne e-posten, må vi få tilgang til e-postinnholdet ved å bruke Gmail API. Vi vil gjøre det ved å bruke AutoWeb-applikasjonen som ble koblet til nær begynnelsen. Åpne AutoWeb og trykk på "Bla gjennom nettjenester." Rull ned til Gmail API og trykk på den for å importere. Etter importen vil AutoWeb be deg om å autentisere Gmail-kontoen du vil bruke med API. Velg samme Gmail-konto som taleposter videresendes til.

Nå har du koblet telefonen til Gmail-kontoen din ved å bruke Gmail API!

Del 4 - Sette opp AutoCast

Før vi kan sende talepostlyden til Google Home, må vi konfigurere AutoCast slik at den kan kobles til Google Home. Åpne AutoCast og velg "Administrer Cast-enheter". Slå den "+"-ikonet i topplinjen og velg Google Home-enheten din.

Endelig er vi klare til å faktisk sette opp dette.


Leser den nyeste Google Voice-taleposten din på Google Home

AutoVoice

Det første vi må gjøre er å lage en AutoVoice Natural Language-kommando. Dette er ganske enkelt å gjøre.

  1. Åpne AutoVoice
  2. Trykk på Naturlig språk
  3. Trykk på Kommandoer
  4. Trykk på + ikonet for å legge til en ny kommando
  5. Skriv inn en liste over talekommandoer, atskilt med komma, som inneholder så mange varianter av talekommandoen du tror du kan snakke for å utløse denne kommandoen.
  6. For svarene kan du angi så mange svar, eller ingen, som du vil at Google Home skal lese tilbake til deg når du sier denne kommandoen.
  7. Når du er ferdig, gi denne kommandoen et navn. Alt vil fungere her.

Selv om du legger inn en haug med variasjoner av kommandoer og svar, trenger du ikke å bekymre deg for å huske å si disse kommandoene nøyaktig som skrevet. API.ai vil automatisk analysere det du snakker, og ved å bruke dens naturlige språkalgoritmer vil den talte kommandoen din matche en av kommandoene du viser her.

Alternativt, hvis du bare vil laste ned mitt eget oppsett, kan du gjøre det på følgende lenke. Jeg tror at for nå, for å importere den, må du logge på API.ai og importere den der.

Last ned AutoVoice Natural Language Intent

For å være ærlig er den faktiske AutoVoice-delen av dette oppsettet ganske enkelt, siden vi ikke har å gjøre med variabler/parametre eller kontekster i den talte kommandoen. Den faktiske kompliserte delen kommer fra neste del, hvor vi har Tasker til å reagere på denne AutoVoice Natural Language-kommandoen.

Tasker

Her er en trinnvis veiledning for hva vi gjør for å lage denne profilen.

  1. Åpne Tasker og trykk på + ikonet for å opprette en ny profil.
  2. Gå til Event --> Plugin --> AutoVoice --> Natural Language.
  3. Trykk på blyantikonet for å åpne konfigurasjonsskjermen til AutoVoice.
  4. Trykk "Kommandoer" og velg navnet på kommandoen du opprettet tidligere.
  5. Trykk på hakeikonet ovenfor, og trykk deretter på tilbaketasten for å gå tilbake til Taskers hovedskjerm.
  6. Tasker vil be deg om å opprette en ny oppgave. Du kan gi den et navn hvis du vil, men trykk på hakeikonet for å lage en ny oppgave uansett.

Når du er i oppgaveredigeringsskjermen, lager vi oppgaven som vises nedenfor. For å opprette nye handlinger, trykk på + ikonet nederst i midten. For alle Tasker-proffer her, kan du utvide bryteren nedenfor for å vise profilen og oppgavebeskrivelsen du kan følge selv.

Hjem - Les talepost

 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 ]

Les mer

Den trinnvise guiden nedenfor viser deg hvordan du replikerer oppgaven, vist i skjermbildet til høyre. Oppgaven er kjøttet i dette oppsettet her, og det er ganske komplekst. Hvordan det fungerer er at når profilen er aktivert, søker og henter de første handlingene (A2-A4) fra din Gmail-konto for meldinger fra [email protected], som er den automatiske e-posttjenesten som brukes av Google Stemme. Vi ser da etter emneoverskriften (A5-A7) slik at vi kan få informasjon om hvem som sendte telefonsvareren og når. Deretter trekker vi ut meldingsteksten til Gmail-meldingen, som er kodet i base 64, så vi må bruke en Java-funksjon (A8-A9). Etter at vi har hentet den dekodede meldingen, ser vi etter URL-en som kobler oss til talepostlydfilen (A10-A11) og laster til slutt ned filen som en mp3 (A12). A13-A18 slår ganske enkelt opp kontaktinformasjonen, hvis den finnes, for nummeret som forlot telefonsvareren. Til slutt vil A19-A21 lese opp hvem taleposten ble sendt fra på hvilket tidspunkt samt den innspilte talepostlyden.

  1. Plugin --> AutoCast --> AutoCast Speak. Enhet: velg Google Home. (Ingen tekst er nødvendig her, dette er bare for å koble til Google Home.)
  2. Plugin --> AutoWeb. API: Gmail. API-handling: List meldinger. Bruker-ID: meg. Søk: fra: [email protected]. Maks resultater: 5. Produksjon: ID.
  3. Oppgave --> Vent. Vent 1 sekund.
  4. Plugin --> AutoWeb. API: Gmail. API-handling: Få melding. Format: full. Bruker-ID: meg. Meldings-ID: %hjelp (1). Produksjon: Kroppsdata, navn på nyttelastoverskrifter, og Verdi for nyttelasthoder.
  5. Oppgave --> For. Variabel: % overskrifter. Varer: 1:%payload_headers_name(#)
  6. Variables --> Variables Set. Navn: %henvisning. Til: % overskrifter. Sjekk If og sett den til If %payload_headers_name(%headers) ~ Emne.
  7. Oppgave --> Slutt for.
  8. Kode --> Java-funksjon. For klassen/objektet, velg Base64. Funksjon: dekode {byte[]} (streng, int). Param (streng): %bodydata (1). Param (int): 8. Komme tilbake: dekodet legeme.
  9. Kode --> Java-funksjon. For klassen/objektet, velg String. Funksjon: ny {String} (byte[], String). Param (byte[]): dekodet legeme. Param (streng): UTF-8. Komme tilbake: %kropp.
  10. Variabler --> Variabel Split. Navn: %kropp. Splitter: https://www.google.com/voice/fm/
  11. Variabler --> Variabel Split. Navn: %body2. Splitter: >
  12. Nett --> HTTP Hent. Server: Port: https://www.google.com Sti: /voice/fm/%body21 Mime-type: lyd/* Output-fil: /sdcard/Tasker/voicemail.mp3
  13. Variabler --> Variablesett. Navn: %talepost. Til: %payload_headers_value(%referanse)
  14. Variabler --> Variabel Split. Navn: %talepost. Splitter: fra
  15. Variabler --> Variabel Split. Navn: %talepost2. Splitter:
  16. Telefon --> Test telefon. Type: Kontakt navn. Data: %talepost21. Butikkresultat i: %Navn. Sørg for å sjekke fortsett oppgave etter feil.
  17. Variabler --> Variablesett. Navn: %talepost. Til: %voicemail1 fra %name på %voicemail22. Sjekk om nederst og sett den til if %navn er satt.
  18. Variabler --> Variablesett. Navn: %talepost. Til: %voicemail1 fra %voicemail21 på %voicemail22. Sjekk om nederst og sett den til if %navn er ikke angitt.
  19. Plugin --> AutoCast --> Snakk. Enhet: velg Google Home. Tekst: %talepost
  20. Oppgave --> Vent. Vente 5 sekunder. Dette er en konfigurerbar forsinkelse for å sikre at det alltid er nok tid mellom kunngjøringen av den nye taleposten og lyden til taleposten spilles av. Hvis dette er for kort, kan du øke denne tiden. Lek deg med denne verdien for å se hva som reduserer forsinkelsen til et akseptabelt nivå.
  21. Plugin --> AutoCast --> AutoCast. Cast-enhet: velg Google Home igjen. Plukke ut media i full skjerm som skjermen. Gå til Medieelementer i full skjerm, deretter Lyd, og for lyd ("sang å spille") /sdcard/Tasker/voicemail.mp3. Plukke ut Auto spill.

Det er det! Nå er alt du trenger å gjøre for å utløse denne oppgaven å sende kommandoen til Google Home-enheten din. Du kan gjøre det ved å si "Hei/OK Google, la meg snakke med AutoVoice" og deretter si en av variantene av kommandoen din når AutoVoice ber deg si kommandoen din. Eller du kan si kommandoen din på én gang ved å si "Hei/OK Google, be AutoVoice om å [kommandere]" akkurat som jeg gjorde i videoen som ble vist i begynnelsen.


Last ned profil

Du kan laste ned Tasker-profilen/oppgaven jeg laget på lenken nedenfor. Hvis du velger å gjøre det, sørg for at du går inn og endrer de to "AutoCast"-handlingene slik at de refererer til din bestemte Google Home-enhet. Kontroller også at AutoVoice Natural Language-kommandoen som er navngitt i profilen min, er den samme som den du laget. Hvis ikke, bare endre profilen til å peke på kommandoen din. Bør ta bare noen få sekunder.

Last ned Home - Les Voicemail Tasker-profilen

Når du har lastet ned XML-filen ovenfor, lagrer du den hvor som helst på enheten. Åpne Tasker og deaktiver nybegynnermodus i innstillingene. Deretter går du tilbake til hovedskjermen og trykker lenge på Profiler-fanen og trykker opp til du ser en popup-boks med "Importer" som et alternativ. Trykk på den og naviger til der du lagret .prf.xml-filen og velg den for å importere den.

Jeg håper du fant denne opplæringen nyttig. Jeg likte å fikle med API og Tasker til jeg fikk ting til å fungere. Jeg vet at det ikke er superelegant, men dette er for det meste et utstillingsvindu for hvor kraftig du kan integrere Google Home med ulike nettjenester og telefonen din. Forhåpentligvis inspirerer dette deg til å lage noe du ikke trodde var mulig før!