Saltar al contenido principal

Integración domótica Piper (Wyoming), gratuita y de código abierto

Integración Piper (Wyoming) para Gladys Assistant

Gladys habla con una voz local: Piper o cualquier servidor de síntesis de voz Wyoming.

Gladys habla con una voz que funciona en su propia red: Piper, o cualquier servidor de síntesis de voz que hable el protocolo Wyoming (el de Rhasspy y Home Assistant). Sin cuenta ni nube: los textos no salen de su casa.

Lo que obtiene​

  • Una voz para Gladys: la acción de escena «Reproducir una notificación» habla con ella en sus altavoces (Sonos, Google Cast…).
  • Una elección automática de la voz según el idioma de Gladys (francés, inglés, alemán, español), o las voces que usted indique.
  • El estado del servidor en la pantalla Supervisión, y dos desencadenadores de escena cuando deja de responder o vuelve a hacerlo.

Requisitos​

  • Gladys 5.3 o posterior.

  • Un servidor de síntesis de voz Wyoming accesible desde Gladys, por ejemplo Piper en Docker:

    docker run -d --name piper -p 10200:10200 -v piper-data:/data \
    rhasspy/wyoming-piper --voice es_ES-davefx-medium

    El complemento Piper de Home Assistant también sirve (puerto 10200). Piper descarga una voz la primera vez que se le pide.

Configuración​

  1. Rellene Dirección del servidor (dirección IP o nombre de la máquina que ejecuta el servidor) y Puerto (10200 para Piper). Una dirección copiada de Home Assistant, tcp://192.168.1.20:10200, se acepta tal cual.
  2. Voces preferidas (opcional): nombres de voces separados por comas, por ejemplo es_ES-davefx-medium, en_US-lessac-medium. Para cada idioma, Gladys usa la primera voz de la lista en ese idioma; para un idioma sin voz en la lista, elige una que ofrezca el servidor (fr_FR-siwis-medium, en_US-lessac-medium, de_DE-thorsten-medium, es_ES-davefx-medium con Piper). La primera voz de la lista habla también los idiomas que ninguna voz habla. Una voz con varios locutores lleva su locutor tras dos puntos: fr_FR-upmc-medium:pierre. Las voces de Piper se escuchan en su página de ejemplos.
  3. Formato de audio: el MP3 (por defecto) funciona en todos los altavoces, Google Cast incluido. El WAV evita la codificación pero pesa unas cinco veces más.
  4. Guarde, luego abra Integraciones → Inteligencia artificial, tarjeta Voz, y elija Piper (Wyoming).

Acciones​

  • Probar la voz: sintetiza una frase (o su Texto (opcional)) en el Idioma elegido e indica la voz usada, la duración del clip, su tamaño y el tiempo empleado. Su primer uso con una voz que Piper aún no ha descargado espera la descarga (hasta dos minutos): ejecútela una vez por idioma antes de confiar en los anuncios.
  • Mostrar las voces: sin idioma, la voz que usará cada idioma de Gladys; con un Idioma, todas las voces del servidor para él.

Escenas​

Dos desencadenadores, en la categoría Integraciones del editor de escenas:

  • Servidor de voz inaccesible: el servidor Wyoming ha dejado de responder (comprobado cada minuto). Los anuncios fallan hasta que vuelva: buen momento para enviarse un mensaje.
  • Servidor de voz de vuelta: vuelve a responder.

Límites​

  • Gladys corta los textos a 2000 caracteres y espera el clip 30 segundos. Un texto largo tarda más (medido en un mini PC: 2000 caracteres, dos minutos de voz, en unos 40 segundos): la integración envía entonces el comienzo ya listo, unos 50 segundos de voz en ese mini PC, menos en una Raspberry Pi.
  • Gladys acepta clips de 5 MB como máximo: un clip WAV largo se remuestrea (16 kHz, luego 11 kHz, luego 8 kHz) para que quepa. El MP3 nunca se acerca.
  • El asistente de voz de Gladys se queda en texto con una voz local (un límite de los navegadores descrito en la documentación de Gladys): esta voz sirve para los anuncios de las escenas.
  • La velocidad de la voz no se puede ajustar: el protocolo Wyoming no tiene ese ajuste.
  • Probado contra un servidor Piper real en Docker, aún no con todas las marcas de altavoces: sus comentarios son bienvenidos.

Solución de problemas​

  • El servidor Wyoming no responde: compruebe la dirección y el puerto, y que el puerto esté abierto a la red (-p 10200:10200 en Docker).
  • El servidor Wyoming ha rechazado el texto (¿voz desconocida?): el nombre de la voz es incorrecto, o Piper no pudo descargarla (sin internet en el servidor). Mostrar las voces da los nombres exactos.
  • Este servidor Wyoming no ofrece síntesis de voz: el puerto es el de un servicio de reconocimiento de voz o de palabra de activación (Whisper: 10300, openWakeWord: 10400).
  • Ajuste LOG_LEVEL=debug para ver cada síntesis en los registros (longitud del texto, voz, duración, tamaño; nunca el texto en sí).

Soporte​

Preguntas y errores: github.com/guim31/gladys-wyoming/issues.

Parámetros de configuración​

Estos son los parámetros que Piper (Wyoming) te pide en su pantalla de configuración en Gladys.

ParámetroTipoObligatorioDescripción
Su servidor WyomingsectionNoPiper escucha en el puerto 10200 (imagen Docker rhasspy/wyoming-piper o el complemento Piper de Home Assistant). Después, elija esta voz en Integraciones → Inteligencia artificial → Voz.
Dirección del servidorstringSíDirección IP o nombre de la máquina que ejecuta el servidor Wyoming. Un puerto escrito aquí (192.168.1.20:10200) prevalece sobre el campo Puerto.
PuertonumberNo10200 para Piper; cada servicio Wyoming tiene su propio puerto.
Voces preferidasstringNoOpcional, separadas por comas: fr_FR-siwis-medium, en_US-lessac-medium. Cada idioma usa la primera voz de la lista en ese idioma, si no una del servidor; la primera es la predeterminada.
Formato de audioselectNoEl MP3 funciona en todos los altavoces (Google Cast incluido). El WAV evita la codificación pero pesa unas cinco veces más.

Cómo instalar Piper (Wyoming) en Gladys​

  1. En Gladys, abre Integraciones: Piper (Wyoming) aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
  2. Haz clic en Instalar. Gladys descarga la imagen Docker (ghcr.io/guim31/gladys-wyoming:1.0.0), la ejecuta en un entorno aislado del núcleo y genera la interfaz de la integración (dispositivos, descubrimiento y configuración).
  3. Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
  4. También puedes instalarla directamente desde la URL de su repositorio: https://github.com/guim31/gladys-wyoming.

Piper (Wyoming) requiere Gladys >=5.3.0. El catálogo de Gladys se actualiza cada hora, así que una nueva versión está disponible como máximo una hora después de publicarse.

¿Todavía no usas Gladys? Es gratuito y de código abierto: sigue la guía de instalación para empezar.

Sobre las integraciones externas​

Piper (Wyoming) es una integración externa: una integración comunitaria empaquetada como contenedor Docker y publicada en GitHub. Gladys la instala con un clic y la ejecuta en un entorno aislado del núcleo. La publica y mantiene guim31, no el equipo principal de Gladys.

Suscríbete a la newsletter de Gladys Assistant

Unos pocos correos al mes sobre nuevas versiones y novedades del proyecto. Enviados por Pierre-Gilles Leymarie, fundador del proyecto. Puedes darte de baja cuando quieras 🙂