# Manipulação de áudio de sessão e alternância de voz Aura implementa um loop de processamento de áudio baseado em sessão. Os comandos de voz para gerenciamento de estado só estão ativos dentro de uma sessão de gravação estabelecida. ## Configuração O comportamento interno da sessão é controlado por: `ENABLE_WAKE_WORD = Verdadeiro/Falso` (em `config/settings.py`) ## Lógica Operacional Ao contrário de um ouvinte de fundo persistente, o mecanismo STT do Aura (Vosk) processa áudio apenas quando uma sessão de gravação foi acionada externamente (por exemplo, via Hotkey). > **Aura é o seu telescópio 🔭 para PC: controle à distância!** ### A alternância na sessão ("Teleskop") Quando `ENABLE_WAKE_WORD` está definido como **True**: 1. **Acionador:** O usuário inicia uma sessão manualmente. 2. **Alternar:** Dizer "Teleskop" durante a sessão alterna entre os estados **ATIVO** e **SUSPENSO**. 3. **Comportamento:** permite ao usuário "pausar" e "retomar" o processamento de texto usando comandos de voz sem encerrar o fluxo de áudio. ### Privacidade e eficiência Quando `ENABLE_WAKE_WORD` está definido como **False** (padrão): - **Supressão STT:** Enquanto estiver em estado suspenso, as chamadas para `AcceptWaveform` e `PartialResult` são completamente ignoradas. - **Privacidade:** Nenhum dado de áudio é analisado, a menos que o sistema esteja em um estado ativo explícito. - **Gerenciamento de recursos:** o uso da CPU é minimizado ignorando a análise da rede neural durante a suspensão. ## Latência e desempenho - **Retomada Instantânea:** Como o `RawInputStream` permanece aberto durante toda a sessão, mudar de SUSPENDED de volta para ACTIVE tem **0ms de latência adicional**. - **Loop Timing:** O loop de processamento opera em um intervalo de aproximadamente 100 ms (`q.get(timeout=0.1)`), garantindo tempos de resposta quase instantâneos.