Come ascoltare la segreteria telefonica di Google Voice sul tuo Google Home

Questo è un tutorial che ti mostra come fare in modo che il tuo dispositivo Google Home legga i tuoi ultimi messaggi vocali da Google Voice utilizzando Tasker, AutoWeb e AutoVoice.

Quando Google Home fu lanciato per la prima volta, era (ed è tuttora) privo di molte funzionalità. Non hai ancora modo di impostare eventi del calendario, leggere i tuoi messaggi di testo, creare un elenco di cose da fare e altro ancora. Tuttavia, se hai il coraggio, puoi implementare quasi tutte queste funzionalità da solo, grazie alla potenza di Voce automatica E Tasker. Nel tentativo di dimostrare quanto puoi essere creativo con Google Home e AutoVoice, ti mostrerò come avere il tuo Google Home leggere il tuo ultimo messaggio vocale di Google Voice. Potrebbe sembrare magia nera in questo momento, ma si spera che entro la fine di questo tutorial tutto avrà un senso.

Con AutoVoice, puoi inviare comandi vocali dal tuo dispositivo Google Home al tuo telefono che poi interpreta questi comandi ed esegue alcune azioni tramite Tasker. La parte migliore è che puoi inviare comandi in linguaggio naturale al tuo telefono grazie alla potenza di

API.ai, a condizione che tu sottoscriva un servizio di abbonamento di $ 0,99 al mese ad AutoVoice per compensare il costo di hosting del server API.ai. Ciò significa che non devi parlare in modo così robotico/preciso quando parli con Google Home e AutoVoice riconoscerà comunque il comando che stai tentando di inviare.

Per un po', l'integrazione di AutoVoice con Google Home è stata in versione beta, ma rilascio di AutoVoice 3.0 consente a tutti gli utenti del plug-in Tasker di usufruire dell'integrazione di Google Home. Ora che AutoVoice è ampiamente disponibile per gli utenti e la maggior parte dei suoi problemi sono stati risolti, inizierò a mostrare alcune delle cose che ho realizzato con AutoVoice e Tasker. Il mio primo tutorial su Google Home, leggere il tuo ultimo messaggio vocale di Google Voice, è il più complesso condividi, ma è un buon candidato per dimostrare che ciò che puoi fare con Tasker è limitato solo dal tuo immaginazione.

Ascolto il mio ultimo messaggio vocale sul mio Google Home.

Lettura consigliata: dai un'occhiata al nostro tutorial precedenti, dove ti mostriamo come risolvere problemi comuni che pochi altri hanno affrontato.


Requisiti

AutoVoice è un requisito soft affinché questo progetto funzioni. Puoi utilizzare IFTTT per attivare l'attività, ma ciò richiederà l'utilizzo di una soluzione alternativa che coinvolga un'altra applicazione come Giuntura O Proiettile a spinta per inviare comandi a Tasker, poiché IFTTT non si integra direttamente con Tasker. Inoltre, e l'avvertenza più importante di non utilizzare AutoVoice, è che i comandi vocali non saranno flessibili se si utilizza IFTTT. Ciò significa che devi pronunciare il tuo comando in modo assolutamente accurato, ogni volta, altrimenti il ​​comando non verrà attivato. Questo potrebbe essere un problema in futuro se inizi a creare tonnellate di integrazioni Tasker/Google Home (ho 28 attualmente), il che significa che devi memorizzare e riprodurre ogni volta esattamente i comandi che desideri.

Avrai bisogno:

  • Voce automatica ($2.49)
  • Abbonamento al linguaggio naturale AutoVoice ($ 0,99/mese)
  • Tasker ($2.99)
  • Auto Web Beta
  • AutoCast Beta ($0.99)

Preparazione

Prima di entrare nel vivo di questa interessante integrazione, dobbiamo fare alcuni preparativi affinché funzioni correttamente. Affronterò questa configurazione in parti.

Parte 1: configurazione di AutoVoice

Ho già scritto a lungo su come configurare AutoVoice con Google Home, quindi per favore fare riferimento al mio precedente articolo qui. L'unico cambiamento da notare è che non è più necessaria la versione beta di AutoVoice, poiché l'integrazione ora funziona con l'aggiornamento stabile di AutoVoice. Ti consiglio anche di leggere il breve tutorial su come far reagire un profilo Tasker al comando AutoVoice, poiché qui faremo la stessa cosa. Il succo è che ci sono quattro cose principali che farai in questo processo di configurazione:

  1. Abilita il servizio AutoVoice nell'app Google Home.
  2. Configura un account API.ai e ottieni le tue chiavi API
  3. Aggiungi queste chiavi API all'impostazione Linguaggio naturale in AutoVoice
  4. Iscriviti al servizio di abbonamento AutoVoice Natural Language

Ancora una volta, questi passaggi sono descritti in modo molto più dettagliato nel mio articolo precedente, quindi ti consiglio di leggerlo.

Parte 2: configurazione di Google Voice

Abbiamo bisogno di un modo per accedere ai tuoi messaggi vocali di Google Voice, in modo che Tasker possa estrarre il contenuto dei messaggi vocali. Il modo in cui realizzeremo ciò sarà inoltrare tutti i nostri messaggi vocali al tuo account Gmail collegato. Questa è una funzionalità nativa di Google Voice e tutto ciò che devi fare è attivare un singolo pulsante nell'app Google Voice.

Dopo averlo fatto, inizierai a ricevere tutti i nuovi messaggi vocali nella tua posta elettronica. Come puoi vedere, l'e-mail contiene sia una trascrizione del messaggio vocale sia un collegamento all'audio vero e proprio del messaggio vocale. Utilizzeremo questa e-mail per i nostri scopi.

Parte 3: configurazione di AutoWeb

Per estrarre il contenuto di questa e-mail, dobbiamo accedere al contenuto dell'e-mail utilizzando il file API Gmail. Lo faremo utilizzando l'applicazione AutoWeb collegata all'inizio. Apri AutoWeb e tocca "Sfoglia servizi Web". Scorri verso il basso fino all'API Gmail e toccala per importare. Dopo l'importazione, AutoWeb ti chiederà di autenticare l'account Gmail che desideri utilizzare con l'API. Seleziona il stesso account Gmail a cui vengono inoltrati i messaggi vocali.

Ora hai collegato il tuo telefono al tuo account Gmail tramite l'utilizzo dell'API Gmail!

Parte 4: configurazione di AutoCast

Prima di poter inviare l'audio della segreteria al nostro Google Home, dobbiamo configurare AutoCast in modo che possa connettersi a Google Home. Apri AutoCast e seleziona "Gestisci dispositivi di trasmissione". Colpire il "+" nella barra in alto e seleziona il tuo dispositivo Google Home.

Finalmente siamo pronti per impostare effettivamente questa configurazione.


Leggendo i tuoi ultimi messaggi vocali di Google Voice su Google Home

Voce automatica

La prima cosa che dovremo fare è creare un comando AutoVoice Natural Language. Questo è abbastanza semplice da fare.

  1. Apri Voce automatica
  2. Tocca Linguaggio naturale
  3. Tocca Comandi
  4. Tocca il + icona per aggiungere un nuovo comando
  5. Inserisci un elenco di comandi vocali, separati da virgole, contenente tutte le varianti del comando vocale che ritieni di poter pronunciare per attivare questo comando.
  6. Per le risposte, puoi inserire tutte le risposte, o nessuna, che desideri che Google Home ti legga quando pronunci questo comando.
  7. Una volta terminato, dai un nome a questo comando. Tutto funzionerà qui.

Anche se stai inserendo una serie di varianti di comandi e risposte, non devi preoccuparti di ricordarti di pronunciare questi comandi esattamente come scritti. API.ai analizzerà automaticamente tutto ciò che dici e, utilizzando i suoi algoritmi del linguaggio naturale, abbinerà il tuo comando parlato a uno dei comandi che elenchi qui.

In alternativa, se desideri semplicemente scaricare la mia configurazione, puoi farlo al seguente link. Credo che per ora, per importarlo, dovrai accedere ad API.ai e importarlo lì.

Scarica l'intento del linguaggio naturale di AutoVoice

Ad essere onesti, la parte effettiva di AutoVoice di questa configurazione è abbastanza semplice, poiché non abbiamo a che fare con variabili/parametri o contesti nel comando vocale. La parte effettivamente complicata deriva dalla parte successiva, in cui facciamo reagire Tasker a questo comando AutoVoice Natural Language.

Tasker

Ecco una guida passo passo su cosa stiamo facendo per creare questo profilo.

  1. Apri Tasker e premi il tasto + icona per creare un nuovo profilo.
  2. Vai a Evento -> Plugin -> AutoVoice -> Linguaggio naturale.
  3. Tocca l'icona della matita per aprire la schermata di configurazione di AutoVoice.
  4. Premi "Comandi" e seleziona il nome del comando creato in precedenza.
  5. Premi l'icona del segno di spunta in alto, quindi premi il tasto Indietro per tornare alla schermata principale di Tasker.
  6. Tasker ti chiederà di creare una nuova attività. Puoi dargli un nome se lo desideri, ma premi l'icona del segno di spunta per creare comunque una nuova attività.

Una volta che ti trovi nella schermata di modifica dell'attività, creeremo l'attività mostrata di seguito. Per creare nuove azioni, toccare il + icona in basso al centro. Per tutti i professionisti di Tasker qui, puoi espandere l'interruttore di seguito per mostrare il profilo e la descrizione dell'attività che puoi seguire tu stesso.

Home - Leggi la segreteria telefonica

 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 ]

Per saperne di più

La seguente guida passo passo ti mostrerà come replicare l'attività, mostrata nello screenshot a destra. L'attività è il fulcro di questa configurazione ed è piuttosto complessa. Il funzionamento è che una volta attivato il profilo, le prime azioni (A2-A4) cercano e estraggono dal tuo Account Gmail per i messaggi provenienti da [email protected], che è il servizio di posta elettronica automatizzato utilizzato da Google Voce. Cerchiamo quindi l'intestazione dell'oggetto (A5-A7) in modo da poter ottenere informazioni su chi ha inviato il messaggio vocale e quando. Successivamente estraiamo il corpo del messaggio Gmail, che è codificato in base 64 quindi dobbiamo utilizzare una funzione Java (A8-A9). Dopo aver recuperato il messaggio decodificato, cerchiamo l'URL che ci collega al file audio della posta vocale (A10-A11) e infine scarichiamo il file come mp3 (A12). A13-A18 cerca semplicemente le informazioni di contatto, se esistenti, per il numero che ha lasciato il messaggio vocale. Infine, A19-A21 leggerà da chi è stato inviato il messaggio vocale e a che ora, nonché l'audio registrato del messaggio vocale.

  1. Plug-in --> AutoCast --> AutoCast Parla. Dispositivo: scegli il tuo Google Home. (Qui non è necessario alcun testo, serve solo per connettersi a Google Home.)
  2. Plug-in --> AutoWeb. API: Gmail. Azione API: elenca i messaggi. ID utente: io. Ricerca: da: [email protected]. Risultati massimi: 5. Produzione: Id.
  3. Attività --> Attendi. Attendi 1 secondo.
  4. Plug-in --> AutoWeb. API: Gmail. Azione API: ricevi messaggio. Formato: completo. ID utente: io. ID messaggio: % aiuto (1). Produzione: Dati del corpo, nome delle intestazioni del carico utile, Valore delle intestazioni del carico utile.
  5. Compito --> Per. Variabile: % intestazioni. Elementi: 1:%payload_headers_name(#)
  6. Variabili --> Insieme di variabili. Nome: %riferimento. A: % intestazioni. Seleziona Se e impostalo su Se %payload_headers_name(%headers) ~ Oggetto.
  7. Attività --> Termina per.
  8. Codice--> Funzione Java. Per la Classe/Oggetto, selezionare Base64. Funzione: decodifica {byte[]} (Stringa, int). Parametro (stringa): % dati corporei (1). Parametro (int): 8. Ritorno: corpo decodificato.
  9. Codice --> Funzione Java. Per la Classe/Oggetto, selezionare Corda. Funzione: nuovo {Stringa} (byte[], Stringa). Parametro (byte[]): corpo decodificato. Parametro (stringa): UTF-8. Ritorno: %corpo.
  10. Variabili --> Divisione variabili. Nome: %corpo. Divisore: https://www.google.com/voice/fm/
  11. Variabili --> Divisione variabili. Nome: %corpo2. Divisore: >
  12. Rete --> Ottieni HTTP. Porta del server: https://www.google.com Sentiero: /voice/fm/%body21 Tipo mimo: Audio/* File di uscita: /sdcard/Tasker/voicemail.mp3
  13. Variabili --> Insieme di variabili. Nome: %segreteria telefonica. A: %payload_headers_value(%riferimento)
  14. Variabili --> Divisione variabili. Nome: %segreteria telefonica. Divisore: da
  15. Variabili --> Divisione variabili. Nome: %segreteria2. Divisore: A
  16. Telefono --> Prova telefono. Tipo: Nome del contatto. Dati: %segreteria21. Memorizza il risultato in: %nome. Assicurati di controllare continuare l'attività dopo l'errore.
  17. Variabili --> Insieme di variabili. Nome: %segreteria telefonica. A: %voicemail1 da %name a %voicemail22. Controlla se in fondo e impostalo su if %nome è impostato.
  18. Variabili --> Insieme di variabili. Nome: %segreteria telefonica. A: %voicemail1 da %voicemail21 a %voicemail22. Controlla se in fondo e impostalo su if %nome non è impostato.
  19. Plug-in --> AutoCast --> Parla. Dispositivo: scegli il tuo Google Home. Testo: %segreteria telefonica
  20. Attività --> Attendi. Aspettare 5 secondi. Questo è un ritardo configurabile per garantire che ci sia sempre tempo sufficiente tra l'annuncio del nuovo messaggio vocale e la riproduzione dell'audio del messaggio vocale. Se questo tempo è troppo breve, puoi aumentarlo. Gioca con questo valore per vedere cosa riduce il ritardo a un livello accettabile.
  21. Plug-in --> AutoCast --> AutoCast. Dispositivo di trasmissione: scegli di nuovo il tuo Google Home. Selezionare supporto a schermo intero come lo schermo. Vai a Elementi multimediali a schermo intero, quindi Audio e inserisci Audio ("brano da riprodurre"). /sdcard/Tasker/voicemail.mp3. Selezionare Riproduzione automatica.

Questo è tutto! Ora, tutto ciò che devi fare per attivare questa attività è inviare il comando al tuo dispositivo Google Home. Puoi farlo dicendo "Ehi/OK Google, lasciami parlare con AutoVoice" e poi pronunciando una delle varianti del tuo comando quando AutoVoice ti dice di pronunciare il tuo comando. Oppure puoi pronunciare il tuo comando tutto in una volta dicendo "Ehi/OK Google, chiedi ad AutoVoice di [comando]" proprio come ho fatto nel video mostrato all'inizio.


Scarica profilo

Puoi scaricare il profilo/attività Tasker che ho creato al link sottostante. Se scegli di farlo, assicurati di accedere e modificare le due azioni "AutoCast" in modo che facciano riferimento al tuo particolare dispositivo Google Home. Inoltre, assicurati che il comando AutoVoice Natural Language indicato nel mio profilo sia lo stesso che hai creato. In caso contrario, modifica semplicemente il profilo in modo che punti al tuo comando. Dovrebbero volerci solo pochi secondi.

Scarica il profilo Tasker Home - Leggi la posta vocale

Una volta scaricato il file XML sopra, salvalo ovunque sul tuo dispositivo. Apri Tasker e disabilita la modalità Principiante nelle preferenze. Quindi torna alla schermata principale e premi a lungo sulla scheda Profili fino a quando non vedi una finestra pop-up con "Importa" come opzione. Premilo e vai al punto in cui hai salvato il file .prf.xml e selezionalo per importarlo.

Spero che tu abbia trovato utile questo tutorial. Mi è piaciuto armeggiare con l'API e Tasker finché non sono riuscito a far funzionare le cose. So che non è super elegante, ma è soprattutto una dimostrazione di quanto potente puoi integrare il tuo Google Home con vari servizi web e il tuo telefono. Spero che questo ti ispiri a creare qualcosa che prima non pensavi fosse possibile!