Este es un tutorial que le muestra cómo hacer que su dispositivo Google Home lea su último correo de voz de Google Voice usando Tasker, AutoWeb y AutoVoice.
Cuando se lanzó Google Home por primera vez, carecía (y todavía carece) de muchas funciones. Todavía no tienes forma de configurar eventos del calendario, leer tus mensajes de texto, crear una lista de tareas pendientes y más. Sin embargo, si tiene el sentido común, puede implementar casi todas estas funciones usted mismo, gracias al poder de Voz automática y Tasker. En un esfuerzo por demostrar lo creativo que puedes ser con Google Home y AutoVoice, te mostraré cómo tener tu Google Home lea su último correo de voz de Google Voice. Puede parecer magia negra en este momento, pero esperamos que al final de este tutorial todo tenga sentido.
Con AutoVoice, puede enviar comandos hablados desde su dispositivo Google Home a su teléfono, que luego interpreta estos comandos y realiza alguna acción a través de Tasker. La mejor parte es que puedes enviar comandos en lenguaje natural a tu teléfono gracias al poder de
API.ai, siempre que se registre en un servicio de suscripción de $0,99 al mes a AutoVoice para compensar el costo de alojar el servidor API.ai. Eso significa que no tienes que hablar de forma tan robótica y precisa cuando hablas con tu Google Home, y AutoVoice seguirá reconociendo el comando que estás intentando enviar.Durante un tiempo, la integración de AutoVoice con Google Home ha estado en versión beta, pero el lanzamiento de AutoVoice 3.0 permite a todos los usuarios del complemento Tasker disfrutar de la integración de Google Home. Ahora que AutoVoice está ampliamente disponible para los usuarios y la mayoría de sus problemas se han solucionado, comenzaré a mostrar algunas de las cosas que he hecho con AutoVoice y Tasker. Mi primer tutorial de Google Home, leer su último correo de voz de Google Voice, es el más complejo de realizar. compartir, pero es un buen candidato para demostrar que lo que puedes hacer con Tasker está limitado sólo por tu imaginación.
Escuchando mi último correo de voz en mi Google Home.
Lectura recomendada: consulte nuestra tutoriales anteriores, donde te mostramos cómo resolver problemas comunes que pocos han abordado.
Requisitos
AutoVoice es un requisito básico para que este proyecto funcione. Puede usar IFTTT para activar la tarea, pero eso requerirá que use una solución alternativa que involucre otra aplicación como Unirse o bala de empuje para enviar comandos a Tasker, ya que IFTTT no se integra directamente con Tasker. Además, y la advertencia más importante al no utilizar AutoVoice, es que los comandos de voz serán inflexibles si se utiliza IFTTT. Esto significa que debe pronunciar su comando con total precisión, cada vez, o el comando no se activará. Eso puede ser un problema en el futuro si comienzas a crear toneladas de integraciones de Tasker/Google Home (tengo 28 actualmente), lo que significa que debes memorizar y reproducir exactamente los comandos que deseas cada vez.
Necesitará:
- Voz automática ($2.49)
- Suscripción de lenguaje natural de AutoVoice ($0,99/mes)
- Tasker ($2.99)
- Auto Web Beta
- AutoCast Beta ($0.99)
Preparación
Antes de entrar en el meollo de esta interesante integración, tenemos que hacer algunos preparativos para que funcione correctamente. Abordaré esta configuración en partes.
Parte 1: Configuración de AutoVoice
Ya he escrito extensamente sobre cómo configurar AutoVoice con Google Home, así que por favor consulte mi artículo anterior aquí. El único cambio a tener en cuenta es que ya no necesita AutoVoice beta, ya que la integración ahora funciona con la actualización estable de AutoVoice. También te recomiendo que leas el breve tutorial sobre cómo hacer que un perfil de Tasker reaccione al comando AutoVoice, ya que aquí haremos lo mismo. La esencia es que hay cuatro cosas principales que harás en este proceso de configuración:
- Habilite el servicio AutoVoice en la aplicación Google Home.
- Configure una cuenta API.ai y obtenga sus claves API
- Agregue estas claves API a la configuración de lenguaje natural en AutoVoice
- Suscríbase al servicio de suscripción de AutoVoice Natural Language
Nuevamente, estos pasos se describen con mucho más detalle en mi artículo anterior, por lo que te recomiendo que lo leas detenidamente.
Parte 2: configurar Google Voice
Necesitamos una forma de acceder a sus mensajes de voz de Google Voice, para que Tasker pueda extraer el contenido del correo de voz. La forma en que lograremos esto es reenviando todos nuestros mensajes de voz a su cuenta de Gmail vinculada. Esta es una función nativa de Google Voice y todo lo que necesita hacer es alternar un solo botón en la aplicación Google Voice.
Una vez que haya hecho eso, comenzará a recibir todos los mensajes de voz nuevos en su correo electrónico. Como puede ver, el correo electrónico contiene tanto una transcripción del correo de voz como un enlace al audio real del correo de voz. Usaremos este correo electrónico para nuestros propósitos.
Parte 3: Configuración de AutoWeb
Para extraer el contenido de este correo electrónico, necesitamos acceder al contenido del correo electrónico utilizando el API de Gmail. Lo haremos utilizando la aplicación AutoWeb que estaba vinculada cerca del principio. Abra AutoWeb y toque "Buscar servicios web". Desplácese hacia abajo hasta la API de Gmail y tóquela para importar. Después de la importación, AutoWeb le pedirá que autentique la cuenta de Gmail que desea utilizar con la API. Selecciona el misma cuenta de Gmail a la que se reenvían los mensajes de voz.
¡Ahora ha vinculado su teléfono a su cuenta de Gmail mediante el uso de la API de Gmail!
Parte 4: Configuración de AutoCast
Antes de que podamos enviar el audio del correo de voz a nuestro Google Home, debemos configurar AutoCast para que pueda conectarse a Google Home. Abra AutoCast y seleccione "Administrar dispositivos de transmisión". Golpea el "+" en la barra superior y seleccione su dispositivo Google Home.
Finalmente, estamos listos para configurar esto.
Leer su último correo de voz de Google Voice en Google Home
Voz automática
Lo primero que tendremos que hacer es crear un comando de AutoVoice Natural Language. Esto es bastante sencillo de hacer.
- Abre AutoVoice
- Toca Lenguaje Natural
- Toca Comandos
- Toca el + icono para agregar un nuevo comando
- Ingrese una lista de comandos de voz, separados por comas, que contengan tantas variaciones del comando de voz que crea que puede pronunciar para activar este comando.
- Para las respuestas, puede ingresar tantas respuestas, o ninguna, que desee que Google Home le lea cuando diga este comando.
- Una vez que hayas terminado, dale un nombre a este comando. Todo funcionará aquí.
Aunque esté ingresando un montón de variaciones de comandos y respuestas, no tiene que preocuparse por recordar pronunciar estos comandos exactamente como están escritos. API.ai analizará automáticamente todo lo que hable y, utilizando sus algoritmos de lenguaje natural, hará coincidir su comando hablado con uno de los comandos que enumera aquí.
Alternativamente, si simplemente desea descargar mi propia configuración, puede hacerlo en el siguiente enlace. Creo que por ahora, para importarlo, tendrás que iniciar sesión en API.ai e importarlo allí.
Descargue la intención de lenguaje natural de AutoVoice
Para ser honesto, la parte real de AutoVoice de esta configuración es bastante simple, ya que no estamos tratando con variables/parámetros o contextos en el comando hablado. La parte realmente complicada proviene de la siguiente parte, donde hacemos que Tasker reaccione a este comando de AutoVoice Natural Language.
Tasker
Aquí hay una guía paso a paso de lo que estamos haciendo para crear este perfil.
- Abre Tasker y presiona el botón + icono para crear un nuevo perfil.
- Vaya a Evento --> Complemento --> AutoVoice --> Lenguaje Natural.
- Toque el ícono de lápiz para abrir la pantalla de configuración de AutoVoice.
- Presione "Comandos" y seleccione el nombre del comando que creó anteriormente.
- Presione el ícono de marca de verificación arriba, luego presione la tecla Atrás para regresar a la pantalla principal de Tasker.
- Tasker te pedirá que crees una nueva tarea. Puede darle un nombre si lo desea, pero presione el ícono de marca de verificación para crear una nueva tarea de todos modos.
Una vez que esté en la pantalla de edición de Tarea, crearemos la Tarea que se muestra a continuación. Para crear nuevas acciones, toque el + icono en la parte inferior central. Para cualquier profesional de Tasker aquí, puede expandir el interruptor a continuación para mostrar la descripción del perfil y la tarea que puede seguir usted mismo.
Inicio - Leer correo de voz
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 ]
leer más
La siguiente guía paso a paso le mostrará cómo replicar la tarea, que se muestra en la captura de pantalla de la derecha. La tarea es la esencia de esta configuración aquí y es bastante compleja. Cómo funciona es que una vez que se activa el perfil, las primeras acciones (A2-A4) buscan y extraen de su Cuenta de Gmail para mensajes de [email protected], que es el servicio de correo electrónico automatizado utilizado por Google. Voz. Luego buscamos el encabezado del asunto (A5-A7) para poder obtener información sobre quién envió el mensaje de voz y cuándo. A continuación extraemos el cuerpo del mensaje de Gmail, que está codificado en base 64 por lo que tenemos que utilizar una función Java (A8-A9). Después de haber recuperado el mensaje decodificado, buscamos la URL que nos vincula al archivo de audio del correo de voz (A10-A11) y finalmente descargamos el archivo como mp3 (A12). A13-A18 simplemente busca la información de contacto, si existe, del número que dejó el correo de voz. Finalmente, A19-A21 leerá de quién se envió el correo de voz y a qué hora, así como el audio del correo de voz grabado.
- Complemento --> AutoCast --> AutoCast Speak. Dispositivo: Elige tu Google Home. (Aquí no es necesario ningún texto, esto es solo para conectarse a Google Home).
- Complemento --> AutoWeb. API: Gmail. Acción de API: enumerar mensajes. ID de usuario: yo. Buscar: de: [email protected]. Resultados máximos: 5. Producción: Identificación.
- Tarea --> Espera. Espere 1 segundo.
- Complemento --> AutoWeb. API: Gmail. Acción API: Obtener mensaje. Formato: completo. ID de usuario: yo. ID de mensaje: %ayuda (1). Producción: Datos del cuerpo, nombre de los encabezados de carga útil, y Valor de encabezados de carga útil.
- Tarea --> Para. Variable: % encabezados. Elementos: 1:%payload_headers_name(#)
- Variables --> Conjunto de variables. Nombre: %referencia. A: % encabezados. Marque Si y configúrelo en Si %payload_headers_name(%headers) ~ Asunto.
- Tarea --> Finalizar para.
- Código--> Función Java. Para la Clase/Objeto, seleccione Base64. Función: decodificar {byte[]} (Cadena, int). Parámetro (cadena): % datos corporales (1). Parámetro (int): 8. Devolver: cuerpo decodificado.
- Código --> Función Java. Para la Clase/Objeto, seleccione Cadena. Función: nueva {Cadena} (byte[], Cadena). Parámetro (byte[]): cuerpo decodificado. Parámetro (cadena): UTF-8. Devolver: %cuerpo.
- Variables --> División de variables. Nombre: %cuerpo. Disidente: https://www.google.com/voice/fm/
- Variables --> División de variables. Nombre: % cuerpo2. Disidente: >
- Red --> HTTP Obtener. Puerto de servicio: https://www.google.com Camino: /voice/fm/%body21 Tipo de Mimica: audio/* Archivo de salida: /sdcard/Tasker/voicemail.mp3
- Variables --> Conjunto de variables. Nombre: %mensaje de voz. A: %payload_headers_value(%referencia)
- Variables --> División de variables. Nombre: %mensaje de voz. Disidente: de
- Variables --> División de variables. Nombre: %correo de voz2. Disidente: en
- Teléfono --> Teléfono de prueba. Tipo: Nombre de contacto. Datos: %correo de voz21. Almacenar resultado en: %nombre. Asegúrate de comprobar continuar la tarea después del error.
- Variables --> Conjunto de variables. Nombre: %mensaje de voz. A: %voicemail1 de %nombre en %voicemail22. Compruebe si está en la parte inferior y configúrelo en si %nombre está configurado.
- Variables --> Conjunto de variables. Nombre: %mensaje de voz. A: %voicemail1 de %voicemail21 en %voicemail22. Compruebe si está en la parte inferior y configúrelo en si %nombre no está configurado.
- Complemento --> AutoCast --> Hablar. Dispositivo: Elige tu Google Home. Texto: %mensaje de voz
- Tarea --> Espera. Esperar 5 segundos. Esto es un retraso configurable para garantizar que siempre haya suficiente tiempo entre el anuncio del nuevo correo de voz y la reproducción del audio del correo de voz. Si es demasiado corto, puedes aumentar este tiempo. Experimente con este valor para ver qué reduce el retraso a un nivel aceptable.
- Complemento --> AutoCast --> AutoCast. Dispositivo de transmisión: Elige tu Google Home nuevamente. Seleccionar medios de pantalla completa como la pantalla. Vaya a Elementos multimedia de pantalla completa, luego Audio y, para Audio ("canción para reproducir"), coloque /sdcard/Tasker/voicemail.mp3. Seleccionar Auto-reproducción.
¡Eso es todo! Ahora, todo lo que necesita hacer para activar esta tarea es enviar el comando a su dispositivo Google Home. Puedes hacerlo diciendo "Hola/OK Google, déjame hablar con AutoVoice" y luego pronunciar una de las variaciones de su comando cuando AutoVoice le indique que diga su comando. O puedes decir tu comando de una sola vez diciendo "Hola/OK Google, pide a AutoVoice que [comando]" tal como lo hice en el video mostrado al principio.
Descargar perfil
Puede descargar el perfil/tarea de Tasker que realicé en el siguiente enlace. Si elige hacerlo, asegúrese de ingresar y modificar las dos acciones "AutoCast" para que hagan referencia a su dispositivo Google Home particular. Además, verifique para asegurarse de que el comando de lenguaje natural de AutoVoice nombrado en mi perfil sea el mismo que usted realizó. De lo contrario, simplemente cambie el perfil para que apunte a su comando. Debería tomar sólo unos segundos.
Descargar Inicio - Leer el perfil de Tasker del correo de voz
Una vez que haya descargado el archivo XML anterior, guárdelo en cualquier lugar de su dispositivo. Abra Tasker y desactive el modo principiante en las preferencias. Luego regrese a la pantalla principal y mantenga presionada la pestaña Perfiles y toque hasta que vea un cuadro emergente con "Importar" como opción. Presione eso y navegue hasta donde guardó el archivo .prf.xml y selecciónelo para importarlo.
Espero que hayas encontrado útil este tutorial. Disfruté jugando con la API y Tasker hasta que pude hacer que todo funcionara. Sé que no es muy elegante, pero esto es principalmente una muestra de cuán poderosamente puedes integrar tu Google Home con varios servicios web y tu teléfono. ¡Esperamos que esto te inspire a crear algo que antes no creías posible!