Kuinka kuunnella Google Voice -vastaajaviestiäsi Google Homessa

Tämä opetusohjelma näyttää, kuinka saat Google Home -laitteen lukemaan uusimmat vastaajaviestisi Google Voicesta Taskerin, AutoWebin ja AutoVoicen avulla.

Kun Google Home julkaistiin ensimmäisen kerran, siitä puuttui (ja on edelleen) monia ominaisuuksia. Et voi edelleenkään asettaa kalenteritapahtumia, lukea tekstiviestejä, luoda tehtävälistaa ja paljon muuta. Jos kuitenkin osaat, voit toteuttaa lähes kaikki nämä ominaisuudet itse, kiitos AutoVoice ja Tasker. Pyrin osoittamaan, kuinka luova voit olla Google Homen ja AutoVoicen kanssa, näytän sinulle, kuinka saat Google Homesi lukea uusimman Google Voice -vastaajaviestisi. Se saattaa tällä hetkellä tuntua mustalta magialta, mutta toivottavasti tämän opetusohjelman loppuun mennessä se on järkevää.

AutoVoicen avulla voit lähettää puhekomentoja Google Home -laitteestasi puhelimeesi, joka sitten tulkitsee nämä komennot ja suorittaa joitain toimintoja Taskerin kautta. Parasta on, että voit lähettää luonnollisen kielen komentoja puhelimeesi tehon ansiosta

API.ai, jos tilaat 0,99 $/kk AutoVoice-tilauspalvelun korvataksesi API.ai-palvelimen isännöintikulut. Tämä tarkoittaa, että sinun ei tarvitse puhua niin robotti/tarkasti, kun puhut Google Homelle, ja AutoVoice tunnistaa silti komennon, jota yrität lähettää.

AutoVoice-integraatio Google Homen kanssa on ollut jonkin aikaa beta-vaiheessa, mutta AutoVoice 3.0:n julkaisu antaa kaikille Tasker-laajennuksen käyttäjille mahdollisuuden nauttia Google Home -integraatiosta. Nyt kun AutoVoice on laajalti käyttäjien saatavilla ja suurin osa sen mutkista on korjattu, aloitan esittelemään joitain asioita, joita olen tehnyt AutoVoicella ja Taskerilla. Ensimmäinen Google Home -opetusohjelma, uusimman Google Voice -vastaajasi lukeminen, on minulle monimutkaisin jakaa, mutta se on hyvä ehdokas osoittamaan, että sitä, mitä voit tehdä Taskerilla, rajoittaa vain sinun mielikuvitus.

Kuuntelen viimeisintä vastaajaviestiäni Google Homessani.

Suositeltavaa luettavaa: Tutustu meidän aiemmat tutoriaalit, jossa näytämme, kuinka voit ratkaista yleisiä ongelmia, joita harvat muut ovat lähestyneet.


Vaatimukset

AutoVoice on pehmeä vaatimus tämän projektin toimimiselle. Voit käyttää IFTTT: tä tehtävän käynnistämiseen, mutta se edellyttää kiertotapaa, johon liittyy toinen sovellus, kuten Liittyä seuraan tai Pushbullet lähettää komentoja Taskerille, koska IFTTT ei integroidu suoraan Taskeriin. Lisäksi ja tärkein varoitus AutoVoicea käyttämättä jättämisestä on, että äänikomennot ovat joustamattomia, jos käytetään IFTTT: tä. Tämä tarkoittaa, että sinun on sanottava komentosi täysin tarkasti, joka kerta, tai komento ei laukea. Se voi olla ongelma tulevaisuudessa, jos alat luoda monia Tasker/Google Home -integraatioita (minulla on 28 tällä hetkellä), mikä tarkoittaa, että sinun on opittava ulkoa ja toistettava täsmälleen haluamasi komennot joka kerta.

Tarvitset:

  • AutoVoice ($2.49)
  • AutoVoice Natural Language -tilaus (0,99 $/kk)
  • Tasker ($2.99)
  • AutoWeb Beta
  • AutoCast Beta ($0.99)

Valmistautuminen

Ennen kuin pääsemme tämän hienon integraation ytimeen, meidän on tehtävä joitakin valmisteluja, jotta tämä toimii kunnolla. Aion lähestyä tätä asetusta osissa.

Osa 1 - AutoVoice-asetusten määrittäminen

Olen jo kirjoittanut pitkään siitä, kuinka AutoVoice määritetään Google Homen kanssa, joten ole hyvä katso edellistä artikkeliani täällä. Ainoa todella huomioitava muutos on, että et enää tarvitse AutoVoice-beetaversiota, koska integraatio toimii nyt AutoVoice-stabiilin päivityksen kanssa. Suosittelen myös lukemaan läpi lyhyen opetusohjelman Tasker-profiilin saamisesta reagoimaan AutoVoice-komentoon, koska teemme saman asian täällä. Asian ydin on, että tässä asennusprosessissa on neljä pääasiaa:

  1. Ota AutoVoice-palvelu käyttöön Google Home -sovelluksessa.
  2. Luo API.ai-tili ja hanki API-avaimesi
  3. Lisää nämä API-avaimet AutoVoicen Natural Language -asetuksiin
  4. Tilaa AutoVoice Natural Language -tilauspalvelu

Jälleen kerran, nämä vaiheet on kuvattu paljon yksityiskohtaisemmin edellisessä artikkelissani, joten suosittelen, että luet sen läpi.

Osa 2 – Google Voicen määrittäminen

Tarvitsemme tavan käyttää Google Voice -vastaajaviestejäsi, jotta Tasker voi poimia vastaajaviestin sisällön. Suoritamme tämän siten, että kaikki vastaajaviestimme välitetään linkitetylle Gmail-tilillesi. Tämä on Google Voicen alkuperäinen ominaisuus, ja sinun tarvitsee vain painaa yhtä painiketta Google Voice -sovelluksessa.

Kun olet tehnyt sen, alat vastaanottaa kaikki uudet vastaajaviestit sähköpostiisi. Kuten näet, sähköposti sisältää sekä puhepostin transkription että linkin vastaajaviestin varsinaiseen ääneen. Käytämme tätä sähköpostia tarkoituksiin.

Osa 3 - AutoWebin käyttöönotto

Jotta voimme purkaa tämän sähköpostin sisällön, meidän on päästävä sähköpostin sisältöön käyttämällä Gmail API. Teemme sen käyttämällä AutoWeb-sovellusta, joka oli linkitetty lähellä alkua. Avaa AutoWeb ja napauta "Selaa verkkopalveluita". Vieritä alas Gmail-sovellusliittymään ja napauta sitä tuodaksesi. Tuonnin jälkeen AutoWeb pyytää sinua todentamaan Gmail-tilin, jota haluat käyttää API: n kanssa. Valitse sama Gmail-tili, johon vastaajaviestit välitetään.

Nyt olet yhdistänyt puhelimesi Gmail-tiliisi Gmail API: n avulla!

Osa 4 - AutoCastin määrittäminen

Ennen kuin voimme lähettää vastaajaviestin äänen Google Homeen, meidän on määritettävä AutoCast, jotta se voi muodostaa yhteyden Google Homeen. Avaa AutoCast ja valitse "Hallinnoi Cast-laitteita". Lyö "+" -kuvaketta yläpalkissa ja valitse Google Home -laitteesi.

Viimeinkin olemme valmiita ottamaan tämän käyttöön.


Luemme viimeisintä Google Voice -vastaajaviestiäsi Google Homessa

AutoVoice

Ensimmäinen asia, joka meidän on tehtävä, on luoda AutoVoice Natural Language -komento. Tämä on melko yksinkertainen tehdä.

  1. Avaa AutoVoice
  2. Napauta Luonnollinen kieli
  3. Napauta Komennot
  4. Napauta + -kuvaketta lisätäksesi uuden komennon
  5. Anna luettelo äänikomennoista pilkuilla erotettuina ja sisältää niin monta muunnelmaa äänikomennosta, jonka luulet saavasi puhua tämän komennon käynnistämiseksi.
  6. Vastauksille voit kirjoittaa niin monta vastausta tai ei yhtään, jonka haluat Google Homen lukevan sinulle, kun sanot tämän komennon.
  7. Kun olet valmis, anna tälle komennolle nimi. Kaikki toimii täällä.

Vaikka syötät joukon muunnelmia komentoista ja vastauksista, sinun ei tarvitse huolehtia siitä, että muistat puhua nämä komennot täsmälleen kirjoitetulla tavalla. API.ai jäsentää automaattisesti kaiken, mitä puhut, ja käyttämällä luonnollisen kielen algoritmeja yhdistää puhutun komennon johonkin tässä luettelemastasi komennosta.

Vaihtoehtoisesti, jos haluat vain ladata oman asennukseni, voit tehdä sen seuraavasta linkistä. Uskon, että toistaiseksi, jotta voit tuoda sen, sinun on kirjauduttava sisään API.ai: iin ja tuotava se sinne.

Lataa AutoVoice Natural Language Intent

Ollakseni rehellinen, tämän asennuksen varsinainen AutoVoice-osa on melko yksinkertainen, koska emme käsittele muuttujia/parametreja tai konteksteja puhutussa komennossa. Varsinainen monimutkainen osa tulee seuraavasta osasta, jossa saamme Taskerin reagoimaan tähän AutoVoice Natural Language -komentoon.

Tasker

Tässä on vaiheittainen opas siitä, mitä teemme tämän profiilin luomiseksi.

  1. Avaa Tasker ja paina + -kuvaketta luodaksesi uuden profiilin.
  2. Siirry kohtaan Tapahtuma --> Plugin --> AutoVoice --> Natural Language.
  3. Napauta kynäkuvaketta avataksesi AutoVoice-määritysnäytön.
  4. Paina "Komennot" ja valitse aiemmin luomasi komennon nimi.
  5. Paina yllä olevaa valintamerkkikuvaketta ja palaa Taskerin päänäyttöön painamalla takaisin-näppäintä.
  6. Tasker pyytää sinua luomaan uuden tehtävän. Voit antaa sille nimen, jos haluat, mutta paina valintamerkkikuvaketta luodaksesi uuden tehtävän siitä huolimatta.

Kun olet Tehtävän muokkausnäytössä, luomme alla näkyvän tehtävän. Voit luoda uusia toimintoja napauttamalla -kuvaketta + -kuvaketta alaosassa keskellä. Kaikki Tasker-ammattilaiset voivat laajentaa alla olevan vaihtopainikkeen näyttämään profiilin ja tehtävän kuvauksen, jota voit seurata itse.

Etusivu - Lue vastaaja

 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 ]

Lue lisää

Alla oleva vaiheittainen opas näyttää, kuinka tehtävä kopioidaan oikealla olevassa kuvakaappauksessa. Tehtävä on tämän kokoonpanon liha tässä, ja se on melko monimutkainen. Se toimii siten, että kun profiili on aktivoitu, ensimmäiset toiminnot (A2-A4) hakevat ja vetää Gmail-tili viesteille osoitteesta [email protected], joka on Googlen käyttämä automaattinen sähköpostipalvelu Ääni. Etsimme sitten aiheotsikon (A5-A7), jotta voimme saada tietoa siitä, kuka ja milloin on lähettänyt vastaajaviestin. Seuraavaksi poimimme Gmail-viestin viestin rungon, joka on koodattu base 64:ssä, joten meidän on käytettävä Java-funktiota (A8-A9). Kun olemme hakeneet dekoodatun viestin, etsimme URL-osoitetta, joka linkittää meidät vastaajaviestin äänitiedostoon (A10-A11), ja lopuksi lataamme tiedoston mp3-muodossa (A12). A13-A18 yksinkertaisesti etsii vastaajaviestin jättäneen numeron yhteystiedot, jos sellaisia ​​on. Lopuksi A19-A21 lukee, keneltä vastaaja on lähetetty mihin aikaan, sekä tallennetun puhepostin äänen.

  1. Plugin --> AutoCast --> AutoCast Speak. Laite: valitse Google Home. (Tässä ei tarvita tekstiä, tämä on vain yhteyden muodostamista Google Homeen.)
  2. Plugin --> AutoWeb. API: Gmail. API-toiminto: luettele viestit. Käyttäjätunnus: minä. Hae: lähettäjä: [email protected]. Maksimitulokset: 5. Lähtö: Id.
  3. Tehtävä --> Odota. Odota 1 sekunti.
  4. Plugin --> AutoWeb. API: Gmail. API-toiminto: Hanki viesti. Muoto: täysi. Käyttäjätunnus: minä. Viestin tunnus: % tuki (1). Lähtö: Runkotiedot, hyötykuorman otsikoiden nimi, ja Hyötykuorman otsikoiden arvo.
  5. Tehtävä --> For. Muuttuja: %otsikot. Tuotteet: 1:%payload_headers_name(#)
  6. Muuttujat --> Muuttujat Set. Nimi: %viite. Vastaanottaja: %otsikot. Tarkista If ja aseta se arvoon If %payload_headers_name(%headers) ~ Aihe.
  7. Tehtävä --> Lopeta.
  8. Koodi--> Java-funktio. Valitse luokalle/objektille Perus64. Tehtävä: purkaa {tavu[]} (merkkijono, int). Param (merkkijono): %bodydata (1). Param (int): 8. Palata: dekoodattu vartalo.
  9. Koodi --> Java-funktio. Valitse luokalle/objektille merkkijono. Tehtävä: uusi {String} (tavu[], merkkijono). Parametri (tavu[]): dekoodattu vartalo. Param (merkkijono): UTF-8. Palata: %body.
  10. Muuttujat --> Variable Split. Nimi: %body. Jakaja: https://www.google.com/voice/fm/
  11. Muuttujat --> Variable Split. Nimi: %body2. Jakaja: >
  12. Net -> HTTP Get. Palvelimen portti: https://www.google.com Polku: /voice/fm/%body21 Mime-tyyppi: audio/* Tulostiedosto: /sdcard/Tasker/voicemail.mp3
  13. Muuttujat --> Muuttujajoukko. Nimi: % vastaajaviesti. Vastaanottaja: %payload_headers_value(%viite)
  14. Muuttujat --> Variable Split. Nimi: % vastaajaviesti. Jakaja: alkaen
  15. Muuttujat --> Variable Split. Nimi: %voicemail2. Jakaja: klo
  16. Puhelin --> Testipuhelin. Tyyppi: Yhteyshenkilön nimi. Tiedot: %voicemail21. Myymälän tulos: %nimi. Muista tarkistaa jatkaa tehtävää virheen jälkeen.
  17. Muuttujat --> Muuttujajoukko. Nimi: % vastaajaviesti. Vastaanottaja: %voicemail1 lähettäjältä %name osoitteessa %voicemail22. Tarkista jos alareunassa ja aseta se if-tilaan %name on asetettu.
  18. Muuttujat --> Muuttujajoukko. Nimi: % vastaajaviesti. Vastaanottaja: %voicemail1 lähettäjältä %voicemail21 osoitteessa %voicemail22. Tarkista jos alareunassa ja aseta se if-tilaan %name ei ole asetettu.
  19. Plugin --> AutoCast --> Speak. Laite: valitse Google Home. Teksti: % vastaajaviesti
  20. Tehtävä --> Odota. Odota 5 sekuntia. Tämä on konfiguroitava viive varmistaaksesi, että uuden vastaajaviestin ilmoittamisen ja vastaajaviestin äänen välillä on aina tarpeeksi aikaa. Jos tämä on liian lyhyt, voit pidentää tätä aikaa. Kokeile kuitenkin tätä arvoa nähdäksesi, mikä vähentää viivettä hyväksyttävälle tasolle.
  21. Plugin --> AutoCast --> AutoCast. Cast-laite: valitse Google Home uudelleen. Valitse koko näytön media kuin Näyttö. Siirry kohtaan Koko näytön mediaelementit, sitten Ääni ja aseta Ääni ("soitava kappale"). /sdcard/Tasker/voicemail.mp3. Valitse Automaattinen toisto.

Se siitä! Nyt sinun tarvitsee vain lähettää tämä komento Google Home -laitteellesi. Voit tehdä sen sanomalla "Hei/OK Google, anna minun puhua AutoVoicelle" ja sitten sanomalla jonkin komennon muunnelmista, kun AutoVoice käskee sinua sanomaan komennon. Tai voit sanoa käskysi yhdellä kertaa sanomalla "Hei/OK Google, pyydä AutoVoicea [komento]" aivan kuten tein alussa näytetyssä videossa.


Lataa profiili

Voit ladata tekemäni Tasker-profiilin/tehtävän alla olevasta linkistä. Jos päätät tehdä niin, varmista, että siirryt ja muokkaat kahta "AutoCast"-toimintoa niin, että ne viittaavat tiettyyn Google Home -laitteeseen. Varmista myös, että profiilissani nimetty AutoVoice Natural Language Command on sama kuin antamasi komento. Jos ei, muuta profiilia osoittamaan komentoasi. Sen pitäisi kestää vain muutama sekunti.

Lataa kotisivu – lue puhepostitehtäväprofiili

Kun olet ladannut yllä olevan XML-tiedoston, tallenna se minne tahansa laitteellesi. Avaa Tasker ja poista aloittelijatila käytöstä asetuksista. Palaa sitten päänäyttöön ja paina pitkään Profiilit-välilehteä napauta, kunnes näet ponnahdusikkunan, jossa on vaihtoehto "Tuo". Paina sitä ja siirry kohtaan, johon tallensit .prf.xml-tiedoston ja valitse se tuodaksesi sen.

Toivottavasti tämä opetusohjelma oli sinulle hyödyllinen. Nautin API: n ja Taskerin parissa työskentelemisestä, kunnes sain asiat toimimaan. Tiedän, että se ei ole erittäin tyylikäs, mutta tämä on lähinnä esittely siitä, kuinka tehokkaasti voit integroida Google Homesi eri verkkopalveluihin ja puhelimeesi. Toivottavasti tämä inspiroi sinua luomaan jotain, mitä et aiemmin uskonut olevan mahdollista!