ESP32-S3: el asistente de voz se cuelga o la palabra de activación no carga
Tu satélite de voz con ESP32-S3 se reinicia o se queda colgado al arrancar micro_wake_word, o la palabra de activación nunca llega a cargar.
Por qué pasa (diagnóstico)
- Muchas veces la placa sí tiene PSRAM: lo que se queda corto es la RAM interna que usan la tarea de inferencia y el resto de componentes (audio, Wi-Fi, pantalla).
- Los modelos v2 (
models/v2/…) piden ESPHome 2024.7.0 o superior y reservan su propia memoria para el modelo (tensor_arena_sizeen su JSON). Los modelos de la raíz del repositorio son la versión 1. - Mira los logs (ficha de logs de ESPHome): un reinicio por falta de memoria o un error al cargar el modelo te dice cuál de los dos casos es.
- Si usas un ATOM Echo con openWakeWord, mira la serie «Voz e IA local con Home Assistant».
Solución paso a paso
- Asegúrate de tener activado el componente
psram:con el modo correcto de tu placa. - En
micro_wake_word:añadetask_stack_in_psram: truepara que la pila de la tarea de inferencia vaya a PSRAM y libere RAM interna (necesita el componente PSRAM; por defecto esfalse). - Si tu ESPHome es anterior a 2024.7.0, actualízalo o usa el modelo v1 (por ejemplo
model: okay_nabudesde la raíz del repositorio en lugar demodels/v2/). - Prueba con un solo modelo de palabra de activación y sin el modelo VAD, y añade el resto cuando funcione.
- Si no se arregla, quita componentes que consumen mucha RAM (pantalla, Bluetooth) para aislar el problema.
Requisitos
- ESP32-S3 con PSRAM
- ESPHome
- Home Assistant
Compatibilidad
- ESP32-S3 con PSRAM
- ESPHome 2024.7.0 o superior para los modelos v2
Verificación
La opción task_stack_in_psram y los requisitos de los modelos v2 (versión mínima de ESPHome y memoria) salen de la doc y del repositorio oficial. Que estos cambios arreglen tu cuelgue concreto es experiencia de la comunidad, no garantía; si no los resuelven, mira los logs.
Fuentes
- ESPHome — Micro Wake Word (en inglés)
- esphome/micro-wake-word-models (modelos v1 y v2) (en inglés)
Guías relacionadas
- El asistente de voz de Home Assistant se activa solo con la tele
- Conversación continua en bucle con la tele (Linux Voice Assistant)
- Wyoming satellite no soporta conversación continua
- Montar un asistente de voz 100 % local con Whisper y Piper
- Voz local en español: elegir Whisper o Speech-to-Phrase y voz de Piper
- ATOM Echo: la palabra de activación «OK Nabu» no responde
Más guías de Home Assistant.