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

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-mediumEl complemento Piper de Home Assistant también sirve (puerto 10200). Piper descarga una voz la primera vez que se le pide.
Configuración
- 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. - 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-mediumcon 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. - 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.
- 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:10200en 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=debugpara 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ámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| Su servidor Wyoming | section | No | Piper 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 servidor | string | Sí | 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. |
| Puerto | number | No | 10200 para Piper; cada servicio Wyoming tiene su propio puerto. |
| Voces preferidas | string | No | Opcional, 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 audio | select | No | El 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
- En Gladys, abre Integraciones: Piper (Wyoming) aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
- 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). - Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
- 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.
- Explorar todas las integraciones, nativas y de la comunidad
- Crear y publicar tu propia integración externa
- Código fuente en GitHub — fuente de esta documentación