Hoy te enseño a mejorar el funcionamiento de Assist, para que por fin puedas empezar a utilizar tu asistente local en cualquier dispositivo.
A continuación puedes comprobar la mejora conseguida!
Contexto
Probablemente ya sepas que Assist es el asistente de voz desarrollado por y para Home Assistant. Si ya has seguido la guía para configurarlo correctamente es posible que quedases un poco decepcionado con su funcionamiento, por el tiempo de respuesta o porque rara vez te entiende.
Esto se debe a distintos factores (como el dispositivo con el que interactúas o el idioma en el que lo haces), pero uno de los más determinantes son los motores que utilizas para convertir la voz a texto (STT o ‘Speech-to-text’), y de texto a voz (TTS o ‘Text-to-speech’), pudiendo variar el rendimiento notablemente como puedes ver a continuación.
En la configuración básica utilizamos Whisper como motor STT y Piper como TTS, porque con ellos nació Assist, y además son gratuitos y funcionan en local. No obstante, esto puede no ser suficiente si tratas de utilizarlo en Español (ya que el modelo de voz está mucho menos desarrollado que en inglés) y lo ejecutas en una máquina con potencia limitada como, por ejemplo, una Raspberry Pi.
🥑 Si estás configurando Assist, te recomiendo que veas el taller de la academia para sacarle el máximo partido!
Microsoft STT
Podemos paliar estas limitaciones en gran medida utilizando motores que se ejecutan en un servidor externo, con más potencia que nuestro servidor local. Esto es lo consigues, por ejemplo, si contratas la suscripción de Nabu Casa (entre otros beneficios, además de apoyar al proyecto).
No obstante, también podemos recurrir a otros motores ‘Speech-to-text’ como el que proporciona Microsoft en su Portal Azure, que de forma gratuita nos permite utilizar 500 horas al mes. En principio, más que suficiente para un uso habitual.
Dicho esto, para mejorar el funcionamiento de Assist sigue estos pasos:
- Entra en el Portal Azure de Microsoft, y crea una cuenta nueva o accede con tu cuenta de Windows.
- De inicio verás tres bloques en la pantalla. Si te fijas en el de la izquierda del todo, este indica «Empiece con una prueba gratuita de Azure«. Pulsa en «Inicio».
- En la ventana emergente pulsa en «Empezar gratis» y rellena los datos de tu perfil.
- Para verificar tu identidad tendrás que introducir tu número de teléfono e introducir un código recibido en un SMS. También tienes que introducir una tarjeta de crédito, pero no se te cobrará nada (en todo caso, para estas situaciones yo utilizo mi tarjeta de N26 que apenas tiene saldo).
- Una vez verificada tu identidad, inicia sesión. Verás un mensaje que indica «Ya estás preparado para empezar con Azure». Pulsa en «Ir a Azure Portal».
- Pulsa sobre el enlace de «Inicio» en la parte superior izquierda. Luego, en la barra de búsqueda de la parte central superior, busca «Servicios de voz».
- Baja por la pantalla y pulsa en «Crear Servicio de Voz». En el apartado que indica «Grupo de recursos» pulsa en «Crear nuevo» y dale un nombre (por ejemplo, «aguacatec»).
- En el apartado «Detalles de la instancia» tienes que indicar, bajo el campo «Region» aquella más cercana a tu localización (en el caso de España, selecciona «France central»). También tienes que darle un nombre a tu instancia (por ejemplo, «aguacatec»).
- Por último, en el desplegable «Plan de tarifa» elige la opción «Free F0» y pulsa en «Revisar y crear». Después pulsa una vez más en «Crear».
- Cuando finalice el proceso pulsa en «Ir al recurso». En esta pantalla tienes que bajar un poco para copiar el contenido de los campos «Clave 1» y «Ubicación» (pulsando en el icono a la derecha). Copia y conserva estos códigos.
- Ahora vamos a instalar este complemento en Home Assistant, que nos va a permitir integrar el motor STT de Microsoft. Para ello sólo tienes que pulsar en este botón, pulsar en «Añadir» y luego en «Instalar».
- Ve a la pestaña de configuración e indica lo siguiente:
- En el campo «Subscription key» indica el contenido copiado desde el campo «Clave 1» en el paso 10.
- En el campo «Service region» indica el contenido copiado desde el campo «Ubicación» en el paso 10.
- Ahora ve a la pestaña de «Información» y pulsa en «Iniciar«. Accede siempre a la pestaña de registro para verificar que no hay ningún mensaje de error y la instalación se ha realizado correctamente.
- Opcionalmente, también puedes instalar el motor ‘Text-to-speech’, pulsando en este enlace y siguiendo el mismo procedimiento. No obstante, yo prefiero usar el motor de ElevenLabs, ya que las voces me parecen mucho más naturales y fluidas.
- Por último, ve a Ajustes > Dispositivos y servicios > Wyoming Protocol. Verás que el complemento añadido aparece como un nuevo descubrimiento. Simplemente pulsa en «Configurar» y «Enviar».
- Ahora ve a Ajustes > Asistentes de voz y pulsa sobre tu asistente predeterminado. En el desplegable de «Voz a texto» selecciona la opción «Microsoft», pulsa en «Actualizar» y reinicia Home Assistant.
Listo! Haz la prueba y verifica que has conseguido mejorar el funcionamiento de Assist!
¿Dudas?¿necesitas ayuda? entra aquí
Y si te ha gustado, compártelo! 🙂