# Obsługa dźwięku sesji i przełączanie głosu Aura implementuje pętlę przetwarzania dźwięku opartą na sesji. Polecenia głosowe do zarządzania stanem są aktywne tylko w ramach ustanowionej sesji nagrywania. ## Konfiguracja Zachowanie wewnętrzne sesji jest kontrolowane przez: `ENABLE_WAKE_WORD = Prawda/Fałsz` (w `config/settings.py`) ## Logika operacyjna W przeciwieństwie do stałego słuchacza w tle, silnik STT (Vosk) Aury przetwarza dźwięk tylko wtedy, gdy sesja nagrywania została wyzwolona zewnętrznie (np. za pomocą klawisza skrótu). > **Aura to Twój teleskop 🔭 na PC: sterowanie na odległość!** ### Przełącznik w trakcie sesji („Teleskop”) Gdy `ENABLE_WAKE_WORD` jest ustawione na **True**: 1. **Wyzwalacz:** Użytkownik rozpoczyna sesję ręcznie. 2. **Przełączanie:** Wypowiedzenie „Teleskop” podczas sesji przełącza pomiędzy stanami **AKTYWNY** i **ZAWIESZONY**. 3. **Zachowanie:** Umożliwia użytkownikowi „wstrzymanie” i „wznowienie” przetwarzania tekstu za pomocą poleceń głosowych bez przerywania strumienia audio. ### Prywatność i wydajność Gdy `ENABLE_WAKE_WORD` jest ustawione na **False** (domyślnie): - **Tłumienie STT:** W stanie zawieszenia wywołania `AcceptWaveform` i `PartialResult` są całkowicie pomijane. - **Prywatność:** Żadne dane audio nie są analizowane, chyba że system jest w wyraźnie aktywnym stanie. - **Zarządzanie zasobami:** użycie procesora jest zminimalizowane poprzez pominięcie analizy sieci neuronowej podczas zawieszenia. ## Opóźnienie i wydajność - **Natychmiastowe wznowienie:** Ponieważ „RawInputStream” pozostaje otwarty przez całą sesję, przełączenie z ZAWIESZONEGO z powrotem na AKTYWNE powoduje **dodatkowe opóźnienie 0 ms**. - **Czas pętli:** Pętla przetwarzania działa z interwałem ~100 ms („q.get(timeout=0.1)”), zapewniając niemal natychmiastowy czas reakcji.