목표: “받아쓰기 세션” 모델¶
Unser Ziel(독일어): “Diktier-Sitzung”을 죽으세요¶
Ein einziger Trigger startet eine “Diktier-Sitzung”, die aus drei Phasen besteht:
시작 단계(Warten auf Sprache):
Nach dem Trigger lauscht das 시스템.
Wenn keine Spracheingabe erfolgt, endet die gesamte Sitzung nach
PRE_RECORDING_TIMEOUT(z.B. 12초).
활성 단계(Kontinuierliches Diktieren):
Sobald die erste Spracheingabe erkannt wird, wechselt die Sitzung in den active Modus.
Immer wenn VOSK eine Sprechpause erkennt und einen Textblock liefert(z.B. einen Satz), wird dieser Block sofort zur Verarbeitung(LanguageTool 등) weitergegeben und als Text ausgegeben.
Die Aufnahme läuft währenddessen nahtlos weiter. Die Sitzung wartet auf den nächsten Satz.
종기(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는 여전히 남아 있습니다.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 beendet.
목표: “받아쓰기 세션” 모델¶
단일 트리거는 세 단계로 구성된 **”받아쓰기 세션”**을 시작합니다.
시작 단계(발언 대기):
트리거 후 시스템이 청취를 시작합니다.
음성이 감지되지 않으면
PRE_RECORDING_TIMEOUT(예: 12초) 후에 전체 세션이 종료됩니다.
활성 단계(연속 받아쓰기):
첫 번째 음성 입력이 감지되는 즉시 세션이 활성 모드로 전환됩니다.
VOSK가 일시 중지를 감지하고 텍스트 청크(예: 문장)를 전달할 때마다 이 청크는 즉시 처리 파이프라인(LanguageTool 등)에 전달되어 텍스트로 출력됩니다.
녹음은 백그라운드에서 원활하게 계속되며 다음 발언을 기다립니다.
종료 단계(세션 종료):
전체 세션은 다음 두 가지 조건 중 하나가 충족되는 경우에만 종료됩니다.
사용자는
SPEECH_PAUSE_TIMEOUT기간(예: 1~2초) 동안 완전히 침묵을 유지합니다.사용자가 트리거를 통해 수동으로 세션을 중지합니다. 간단히 말하면: 하나의 세션으로 여러 개의 즉각적인 텍스트 출력이 가능합니다. 세션은 사용자가 오랫동안 일시 중지하거나 수동으로 종료할 때까지 활성 상태로 유지됩니다.