Cel: model „sesji dyktowania”.

Unser Ziel (niemiecki): Die „Diktier-Sitzung”

Ein einziger Trigger startet eine “Diktier-Sitzung”, die aus drei Phasen besteht:

  1. Faza początkowa (Warten auf Sprache):

  • Nach dem Trigger lauscht das System.

  • Wenn keine Spracheingabe erfolgt, endet die gesamte Sitzung nach PRE_RECORDING_TIMEOUT (np. 12 s).

  1. Aktivphase (Kontinuierliches Diktieren):

  • Sobald die erste Spracheingabe erkannt wird, wechselt die Sitzung in den aktywny Modus.

  • Immer wenn VOSK eine Sprechpause erkennt und einen Textblockliefert (z.B. einen Satz), wird dieser Block sofort zur Verarbeitung (LanguageTool itp.) weitergegeben und als Text ausgegeben.

  • Die Aufnahme läuft währenddessen nahtlos weiter. Die Sitzung wartet auf den nächsten Satz.

  1. Faza końcowa (Ende der Sitzung):

  • Die gesamte Sitzung endet nur, wenn eine dieser beiden Bedingungen erfüllt ist:

  • Der Nutzer bleibt für die Dauer des SPEECH_PAUSE_TIMEOUT (z.B. 1-2s) komplett Still.

  • Der Nutzer stoppt die Sitzung manuell per Trigger.

Zusammengefasst: Eine Sitzung, viele sofortige Textausgaben. Die Sitzung bleibt aktiv, bis der Nutzer eine längere Pause macht oder sie manuell bedet.

Cel: model „sesji dyktowania”

Pojedynczy wyzwalacz inicjuje „Sesję dyktowania”, która składa się z trzech faz:

  1. Faza uruchamiania (oczekiwanie na mowę):

  • Po uruchomieniu system rozpoczyna nasłuchiwanie.

  • Jeśli nie zostanie wykryta mowa, cała sesja zakończy się po upływie PRE_RECORDING_TIMEOUT (np. 12 s).

  1. Faza aktywna (dyktowanie ciągłe):

  • Po wykryciu pierwszego wejścia głosowego sesja przełącza się w tryb aktywny.

  • Ilekroć VOSK wykryje pauzę i dostarczy fragment tekstu (np. zdanie), fragment ten jest natychmiast przekazywany do potoku przetwarzania (LanguageTool itp.) i wyprowadzany jako tekst.

  • Nagranie trwa płynnie w tle w oczekiwaniu na następną wypowiedź.

  1. Faza zakończenia (zakończenie sesji):

  • Cała sesja kończy się dopiero po spełnieniu jednego z dwóch warunków:

  • Użytkownik pozostaje całkowicie cichy przez czas SPEECH_PAUSE_TIMEOUT (np. 1-2 s).

  • Użytkownik ręcznie zatrzymuje sesję za pomocą wyzwalacza. W skrócie: Jedna sesja, wiele natychmiastowych wyników tekstowych. Sesja pozostaje aktywna do czasu, aż użytkownik zrobi długą pauzę lub ręcznie ją zakończy.