# Manejo de audio de sesión y alternancia de voz Aura implementa un bucle de procesamiento de audio basado en sesiones. Los comandos de voz para la gestión del estado sólo están activos dentro de una sesión de grabación establecida. ## Configuración El comportamiento interno de la sesión está controlado por: `ENABLE_WAKE_WORD = Verdadero/Falso` (en `config/settings.py`) ## Lógica operativa A diferencia de un oyente en segundo plano persistente, el motor STT de Aura (Vosk) solo procesa audio cuando una sesión de grabación se ha activado externamente (por ejemplo, mediante una tecla de acceso rápido). > **Aura es tu telescopio 🔭 para PC: ¡Controla desde la distancia!** ### La alternancia durante la sesión ("Teleskop") Cuando `ENABLE_WAKE_WORD` se establece en **Verdadero**: 1. **Activador:** El usuario inicia una sesión manualmente. 2. **Alternar:** Al decir "Teleskop" durante la sesión se alterna entre los estados **ACTIVO** y **SUSPENDIDO**. 3. **Comportamiento:** Esto permite al usuario "pausar" y "reanudar" el procesamiento de texto mediante comandos de voz sin finalizar la transmisión de audio. ### Privacidad y eficiencia Cuando `ENABLE_WAKE_WORD` está configurado en **Falso** (predeterminado): - **Supresión de STT:** Mientras está en estado suspendido, las llamadas a `AcceptWaveform` y `PartialResult` se omiten por completo. - **Privacidad:** No se analizan datos de audio a menos que el sistema esté en un estado activo explícito. - **Administración de recursos:** el uso de la CPU se minimiza al omitir el análisis de la red neuronal durante la suspensión. ## Latencia y rendimiento - **Reanudación instantánea:** debido a que `RawInputStream` permanece abierto durante toda la sesión, cambiar de SUSPENDIDO a ACTIVO tiene **0 ms de latencia adicional**. - **Tiempo de bucle:** El bucle de procesamiento opera en un intervalo de ~100 ms (`q.get(timeout=0.1)`), lo que garantiza tiempos de respuesta casi instantáneos.