Il s'agit d'un didacticiel vous montrant comment demander à votre appareil Google Home de lire votre dernier message vocal de Google Voice à l'aide de Tasker, AutoWeb et AutoVoice.
Lorsque Google Home a été lancé pour la première fois, il manquait (et manque toujours) de nombreuses fonctionnalités. Vous n'avez toujours aucun moyen de définir des événements de calendrier, de lire vos messages texte, de créer une liste de tâches, etc. Cependant, si vous en avez le courage, vous pouvez implémenter presque toutes ces fonctionnalités vous-même, grâce à la puissance de Voix automatique et Tâcheur. Dans le but de démontrer à quel point vous pouvez être créatif avec Google Home et AutoVoice, je vais vous montrer comment configurer votre Google Home lisez votre dernier message vocal Google Voice. Cela peut ressembler à de la magie noire pour le moment, mais j'espère qu'à la fin de ce didacticiel, tout cela aura un sens.
Avec AutoVoice, vous pouvez envoyer des commandes vocales depuis votre appareil Google Home vers votre téléphone qui interprète ensuite ces commandes et effectue certaines actions via Tasker. Le meilleur, c'est que vous pouvez envoyer des commandes en langage naturel à votre téléphone grâce à la puissance de
API.ai, à condition de souscrire à un service d'abonnement à 0,99 $/mois à AutoVoice pour compenser le coût d'hébergement du serveur API.ai. Cela signifie que vous n'avez pas besoin de parler de manière aussi robotique/précise lorsque vous parlez à votre Google Home, et AutoVoice reconnaîtra toujours la commande que vous essayez d'envoyer.Depuis un certain temps, l'intégration d'AutoVoice avec Google Home est en version bêta, mais le sortie d'AutoVoice 3.0 permet à tous les utilisateurs du plug-in Tasker de profiter de l'intégration de Google Home. Maintenant qu'AutoVoice est largement disponible pour les utilisateurs et que la plupart de ses problèmes ont été résolus, je vais commencer à présenter certaines des choses que j'ai réalisées avec AutoVoice et Tasker. Mon premier didacticiel Google Home, qui consiste à lire votre dernière messagerie vocale Google Voice, est le plus complexe à réaliser. partager, mais c'est un bon candidat pour montrer que ce que vous pouvez faire avec Tasker n'est limité que par votre imagination.
J'écoute mon dernier message vocal sur mon Google Home.
Lecture recommandée: consultez notre tutoriels précédents, où nous vous montrons comment résoudre des problèmes courants que peu d'autres ont abordés.
Exigences
AutoVoice est une exigence douce pour que ce projet fonctionne. Vous pouvez utiliser IFTTT pour déclencher la tâche, mais cela vous obligera à utiliser une solution de contournement impliquant une autre application telle que Rejoindre ou Pushbullet pour envoyer des commandes à Tasker, car IFTTT ne s'intègre pas directement à Tasker. De plus, et le plus important inconvénient de ne pas utiliser AutoVoice est que les commandes vocales seront rigides si vous utilisez IFTTT. Cela signifie que vous devez énoncer votre commande avec une précision totale, à chaque fois, sinon la commande ne se déclenchera pas. Cela peut être un problème à l'avenir si vous commencez à créer des tonnes d'intégrations Tasker/Google Home (j'ai 28 actuellement), ce qui signifie que vous devez mémoriser et reproduire exactement les commandes souhaitées à chaque fois.
Tu auras besoin de:
- Voix automatique ($2.49)
- Abonnement au langage naturel AutoVoice (0,99 $/mois)
- Tâcheur ($2.99)
- Bêta AutoWeb
- Bêta de diffusion automatique ($0.99)
Préparation
Avant d’entrer dans le vif du sujet de cette intégration intéressante, nous devons faire quelques préparatifs pour que cela fonctionne correctement. J'aborderai cette configuration par parties.
Partie 1 - Configuration d'AutoVoice
J'ai déjà longuement écrit sur la façon de configurer AutoVoice avec Google Home, alors s'il vous plaît référez-vous à mon article précédent ici. Le seul changement à vraiment noter est que vous n'avez plus besoin de la version bêta d'AutoVoice, car l'intégration fonctionne désormais avec la mise à jour stable d'AutoVoice. Je vous recommande également de lire le court didacticiel sur la façon de faire réagir un profil Tasker à la commande AutoVoice, car nous ferons la même chose ici. L'essentiel est que vous ferez quatre choses principales dans ce processus de configuration :
- Activez le service AutoVoice dans l'application Google Home.
- Créez un compte API.ai et obtenez vos clés API
- Ajoutez ces clés API au paramètre Natural Language dans AutoVoice
- Abonnez-vous au service d'abonnement AutoVoice Natural Language
Encore une fois, ces étapes sont décrites de manière beaucoup plus détaillée dans mon article précédent, je vous recommande donc de le lire.
Partie 2 - Configuration de Google Voice
Nous avons besoin d'un moyen d'accéder à vos messages vocaux Google Voice, afin que Tasker puisse extraire le contenu de la messagerie vocale. Pour y parvenir, tous nos messages vocaux seront transférés vers votre compte Gmail associé. Il s'agit d'une fonctionnalité native de Google Voice et tout ce que vous avez à faire est d'activer un seul bouton dans l'application Google Voice.
Une fois que vous avez fait cela, vous commencerez à recevoir tous les nouveaux messages vocaux dans votre courrier électronique. Comme vous pouvez le constater, l'e-mail contient à la fois une transcription du message vocal ainsi qu'un lien vers l'audio du message vocal. Nous utiliserons cet e-mail à nos fins.
Partie 3 - Configuration d'AutoWeb
Afin d'extraire le contenu de cet e-mail, nous devons accéder au contenu de l'e-mail en utilisant le API Gmail. Nous le ferons en utilisant l'application AutoWeb qui a été liée au début. Ouvrez AutoWeb et appuyez sur « Parcourir les services Web ». Faites défiler jusqu'à l'API Gmail et appuyez dessus pour importer. Après l'importation, AutoWeb vous demandera d'authentifier le compte Gmail que vous souhaitez utiliser avec l'API. Sélectionnez le même compte Gmail vers lequel les messages vocaux sont transférés.
Vous avez maintenant lié votre téléphone à votre compte Gmail grâce à l'API Gmail !
Partie 4 - Configuration d'AutoCast
Avant de pouvoir envoyer l'audio de la messagerie vocale à notre Google Home, nous devons configurer AutoCast afin qu'il puisse se connecter à Google Home. Ouvrez AutoCast et sélectionnez « Gérer les appareils Cast ». Appuyez sur le "+" dans la barre supérieure et sélectionnez votre appareil Google Home.
Enfin, nous sommes prêts à mettre en place cette configuration.
Lire votre dernière messagerie vocale Google Voice sur Google Home
Voix automatique
La première chose que nous devrons faire est de créer une commande AutoVoice Natural Language. C'est assez simple à faire.
- Ouvrez AutoVoice
- Appuyez sur le langage naturel
- Appuyez sur Commandes
- Appuyez sur le + icône pour ajouter une nouvelle commande
- Saisissez une liste de commandes vocales, séparées par des virgules, contenant autant de variantes de la commande vocale que vous pensez pouvoir prononcer pour déclencher cette commande.
- Pour les réponses, vous pouvez saisir autant de réponses, ou aucune, que vous souhaitez que Google Home vous lise lorsque vous prononcez cette commande.
- Une fois que vous avez terminé, donnez un nom à cette commande. Tout fonctionnera ici.
Même si vous entrez de nombreuses variantes de commandes et de réponses, vous n'avez pas à vous soucier de vous rappeler de prononcer ces commandes exactement telles qu'elles sont écrites. API.ai analysera automatiquement tout ce que vous dites et, à l'aide de ses algorithmes de langage naturel, fera correspondre votre commande vocale à l'une des commandes que vous répertoriez ici.
Alternativement, si vous souhaitez simplement télécharger ma propre configuration, vous pouvez le faire via le lien suivant. Je pense que pour l'instant, pour l'importer, vous devrez vous connecter à API.ai et l'importer là-bas.
Téléchargez l'intention de langage naturel AutoVoice
Pour être honnête, la partie AutoVoice réelle de cette configuration est assez simple, car nous ne traitons pas de variables/paramètres ou de contextes dans la commande vocale. La partie vraiment compliquée vient de la partie suivante, où Tasker réagit à cette commande AutoVoice Natural Language.
Tâcheur
Voici un guide étape par étape de ce que nous faisons pour créer ce profil.
- Ouvrez Tasker et appuyez sur le bouton + icône pour créer un nouveau profil.
- Accédez à Événement -> Plugin -> AutoVoice -> Natural Language.
- Appuyez sur l'icône en forme de crayon pour ouvrir l'écran de configuration d'AutoVoice.
- Appuyez sur "Commandes" et sélectionnez le nom de la commande que vous avez créée précédemment.
- Appuyez sur l'icône en forme de coche ci-dessus, puis appuyez sur la touche Retour pour revenir à l'écran principal de Tasker.
- Tasker vous demandera de créer une nouvelle tâche. Vous pouvez lui donner un nom si vous le souhaitez, mais appuyez sur l'icône en forme de coche pour créer une nouvelle tâche malgré tout.
Une fois que vous êtes dans l'écran d'édition de tâche, nous créerons la tâche illustrée ci-dessous. Pour créer de nouvelles actions, appuyez sur le + icône en bas au milieu. Pour tous les professionnels de Tasker ici, vous pouvez développer la bascule ci-dessous pour afficher le profil et la description de la tâche que vous pouvez suivre par vous-même.
Accueil - Lire la messagerie vocale
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 ]
En savoir plus
Le guide étape par étape ci-dessous vous montrera comment répliquer la tâche, illustrée dans la capture d'écran de droite. La tâche est ici l’essentiel de cette configuration, et elle est assez complexe. Comment cela fonctionne, c'est qu'une fois le profil activé, les premières actions (A2-A4) recherchent et extraient de votre Compte Gmail pour les messages de [email protected], qui est le service de messagerie automatisé utilisé par Google Voix. Nous recherchons ensuite l'en-tête du sujet (A5-A7) afin d'obtenir des informations sur qui a envoyé le message vocal et quand. Ensuite, nous extrayons le corps du message Gmail, qui est codé en base 64, nous devons donc utiliser une fonction Java (A8-A9). Après avoir récupéré le message décodé, nous recherchons ensuite l'URL qui nous relie au fichier audio de la messagerie vocale (A10-A11) et enfin téléchargeons le fichier au format mp3 (A12). A13-A18 recherche simplement les coordonnées, si elles existent, du numéro qui a laissé la messagerie vocale. Enfin, A19-A21 lira par qui le message vocal a été envoyé et à quelle heure ainsi que l'audio du message vocal enregistré.
- Plugin -> AutoCast -> AutoCast Speak. Appareil: choisissez votre Google Home. (Aucun texte n'est nécessaire ici, il s'agit simplement de se connecter à Google Home.)
- Plugin -> AutoWeb. API: Gmail. Action API: répertorier les messages. Identifiant: moi. Recherche: de: [email protected]. Résultats maximum: 5. Sortir: Identifiant.
- Tâche -> Attendez. Attendez 1 seconde.
- Plugin -> AutoWeb. API: Gmail. Action API: Obtenir un message. Format: complet. Identifiant: moi. ID du message: %aide (1). Sortir: Données du corps, nom des en-têtes de charge utile, et Valeur des en-têtes de charge utile.
- Tâche -> Pour. Variable: %en-têtes. Articles: 1: %payload_headers_name(#)
- Variables -> Ensemble de variables. Nom: %référence. À: %en-têtes. Vérifiez si et réglez-le sur Si %payload_headers_name(%headers) ~ Objet.
- Tâche -> Fin pour.
- Code -> Fonction Java. Pour la Classe/Objet, sélectionnez Base64. Fonction: décoder {byte[]} (String, int). Param (chaîne): %données du corps (1). Param (int): 8. Retour: corps décodé.
- Code -> Fonction Java. Pour la Classe/Objet, sélectionnez Chaîne. Fonction: nouveau {String} (octet[], String). Param (octet[]): corps décodé. Param (chaîne): UTF-8. Retour: %corps.
- Variables -> Répartition des variables. Nom: %corps. Séparateur: https://www.google.com/voice/fm/
- Variables -> Répartition des variables. Nom: %corps2. Séparateur: >
- Net -> HTTP Obtenir. Port de serveur: https://www.google.com Chemin: /voice/fm/%body21 Type de mime: l'audio/* Fichier de sortie: /sdcard/Tasker/voicemail.mp3
- Variables -> Ensemble de variables. Nom: %message vocal. À: %payload_headers_value(%référence)
- Variables -> Répartition des variables. Nom: %message vocal. Séparateur: depuis
- Variables -> Répartition des variables. Nom: %message vocal2. Séparateur: à
- Téléphone -> Test du téléphone. Taper: Nom du contact. Données: %message vocal21. Résultat du magasin dans: %nom. Assurez-vous de vérifier continuer la tâche après une erreur.
- Variables -> Ensemble de variables. Nom: %message vocal. À: %voicemail1 de %name à %voicemail22. Vérifiez si en bas et réglez-le sur si %name est défini.
- Variables -> Ensemble de variables. Nom: %message vocal. À: %voicemail1 de %voicemail21 à %voicemail22. Vérifiez si en bas et réglez-le sur si %name n'est pas défini.
- Plugin -> AutoCast -> Parler. Appareil: choisissez votre Google Home. Texte: %message vocal
- Tâche -> Attendez. Attendez 5 secondes. C'est un délai configurable pour garantir qu'il y a toujours suffisamment de temps entre l'annonce du nouveau message vocal et la lecture audio du message vocal. Si celui-ci est trop court, vous pouvez augmenter ce temps. Jouez avec cette valeur pour voir ce qui réduit le délai à un niveau acceptable.
- Plugin -> AutoCast -> AutoCast. Appareil de diffusion: choisissez à nouveau votre Google Home. Sélectionner médias plein écran comme l'écran. Allez dans Éléments multimédia plein écran, puis Audio, et pour l'Audio ("chanson à jouer"), mettez /sdcard/Tasker/voicemail.mp3. Sélectionner Lecture automatique.
C'est ça! Désormais, tout ce que vous devez faire pour déclencher cette tâche est d'envoyer la commande à votre appareil Google Home. Vous pouvez le faire en disant "Hey/OK Google, laisse-moi parler à AutoVoice" puis prononcez l'une des variantes de votre commande lorsque AutoVoice vous demande de prononcer votre commande. Ou vous pouvez prononcer votre commande d'un seul coup en disant "Hey/OK Google, demande à AutoVoice de [commander]" tout comme je l'ai fait dans la vidéo présentée au début.
Télécharger le profil
Vous pouvez télécharger le profil/tâche Tasker que j'ai créé sur le lien ci-dessous. Si vous choisissez de le faire, assurez-vous d'entrer et de modifier les deux actions "AutoCast" afin qu'elles fassent référence à votre appareil Google Home particulier. Assurez-vous également que la commande AutoVoice Natural Language nommée dans mon profil est la même que celle que vous avez créée. Sinon, modifiez simplement le profil pour qu'il pointe vers votre commande. Cela ne devrait prendre que quelques secondes.
Téléchargez le profil Accueil - Lire le profil du responsable de la messagerie vocale
Une fois que vous avez téléchargé le fichier XML ci-dessus, enregistrez-le n'importe où sur votre appareil. Ouvrez Tasker et désactivez le mode débutant dans les préférences. Revenez ensuite à l'écran principal et appuyez longuement sur l'onglet Profils jusqu'à ce que vous voyiez une boîte contextuelle avec "Importer" comme option. Appuyez dessus et accédez à l'endroit où vous avez enregistré le fichier .prf.xml et sélectionnez-le pour l'importer.
J'espère que vous avez trouvé ce tutoriel utile. J'ai aimé bricoler l'API et Tasker jusqu'à ce que je puisse faire fonctionner les choses. Je sais que ce n'est pas très élégant, mais c'est surtout une démonstration de la puissance avec laquelle vous pouvez intégrer votre Google Home à divers services Web et à votre téléphone. J'espère que cela vous inspirera à créer quelque chose que vous ne pensiez pas possible auparavant !