Gestion audio de session et bascules vocales

Aura implémente une boucle de traitement audio basée sur la session. Les commandes vocales pour la gestion de l’état ne sont actives que dans le cadre d’une session d’enregistrement établie.

##Configuration Le comportement interne à la session est contrôlé par : ENABLE_WAKE_WORD = True/False (dans config/settings.py)

Logique opérationnelle

Contrairement à un écouteur persistant en arrière-plan, le moteur STT d’Aura (Vosk) ne traite l’audio que lorsqu’une session d’enregistrement a été déclenchée en externe (par exemple via Hotkey).

Aura est votre télescope 🔭 pour PC : contrôlez à distance !

La bascule en session (“Teleskop”)

Lorsque ENABLE_WAKE_WORD est défini sur True :

  1. Déclencheur : L’utilisateur démarre une session manuellement.

  2. Toggle : Dire « Teleskop » pendant la session bascule entre les états ACTIVE et SUSPENDED.

  3. Comportement : Cela permet à l’utilisateur de “mettre en pause” et de “reprendre” le traitement du texte à l’aide de commandes vocales sans mettre fin au flux audio.

Confidentialité et efficacité

Lorsque ENABLE_WAKE_WORD est défini sur False (par défaut) :

  • STT Suppression : Lorsqu’ils sont dans un état suspendu, les appels à AcceptWaveform et PartialResult sont complètement ignorés.

  • Confidentialité : Aucune donnée audio n’est analysée sauf si le système est dans un état actif explicite.

  • Gestion des ressources : L’utilisation du processeur est minimisée en contournant l’analyse du réseau neuronal pendant la suspension.

Latence et performances

  • Reprise instantanée : Étant donné que RawInputStream reste ouvert tout au long de la session, le passage de SUSPENDED à ACTIVE a 0 ms de latence supplémentaire.

  • Loop Timing : La boucle de traitement fonctionne à un intervalle d’environ 100 ms (q.get(timeout=0.1)), garantissant des temps de réponse quasi instantanés.