fix stt timeout
This commit is contained in:
parent
23b7209f6a
commit
a9fafdc6f8
|
|
@ -691,15 +691,30 @@ Erst wenn ich [READY] sehe, starten die TICKs mit Bildern!"""
|
||||||
# ════════════════════════════════════════════════════════════════
|
# ════════════════════════════════════════════════════════════════
|
||||||
# STEFAN-ZEIT: Nach Claudes Antwort warten ob Stefan was sagen will.
|
# STEFAN-ZEIT: Nach Claudes Antwort warten ob Stefan was sagen will.
|
||||||
# Sammle ALLE Eingaben bis Stefan wirklich fertig ist.
|
# Sammle ALLE Eingaben bis Stefan wirklich fertig ist.
|
||||||
|
#
|
||||||
|
# WICHTIG: Wir prüfen BEIDES:
|
||||||
|
# 1. _recording Flag (gesetzt wenn STT Sprache erkennt)
|
||||||
|
# 2. Ob gerade kein Mute aktiv ist (damit wir überhaupt hören können)
|
||||||
|
#
|
||||||
|
# Die Schleife läuft solange bis ENTWEDER:
|
||||||
|
# - Stefan fertig gesprochen hat (Buffer gefüllt, kein Recording mehr)
|
||||||
|
# - ODER der Timeout abläuft UND kein Recording aktiv ist
|
||||||
# ════════════════════════════════════════════════════════════════
|
# ════════════════════════════════════════════════════════════════
|
||||||
logger.debug("Warte auf Stefan...")
|
logger.debug("Warte auf Stefan...")
|
||||||
stefan_wait_start = time.time()
|
stefan_wait_start = time.time()
|
||||||
stefan_initial_timeout = 5.0 # Sekunden um mit Sprechen zu beginnen
|
stefan_initial_timeout = 5.0 # Sekunden um mit Sprechen zu beginnen
|
||||||
stefan_has_spoken = False
|
stefan_has_spoken = False
|
||||||
|
|
||||||
while self.running and (time.time() - stefan_wait_start) < stefan_initial_timeout:
|
while self.running:
|
||||||
|
# Timeout nur anwenden wenn Stefan NICHT gerade spricht
|
||||||
|
if not self._recording.is_set():
|
||||||
|
if (time.time() - stefan_wait_start) >= stefan_initial_timeout:
|
||||||
|
logger.debug("Stefan-Timeout, kein Recording aktiv")
|
||||||
|
break
|
||||||
|
|
||||||
# Wenn Stefan anfängt zu sprechen, sammle ALLES was er sagt
|
# Wenn Stefan anfängt zu sprechen, sammle ALLES was er sagt
|
||||||
if self._recording.is_set():
|
if self._recording.is_set():
|
||||||
|
if not stefan_has_spoken:
|
||||||
logger.debug("Stefan spricht, sammle alle Eingaben...")
|
logger.debug("Stefan spricht, sammle alle Eingaben...")
|
||||||
stefan_has_spoken = True
|
stefan_has_spoken = True
|
||||||
|
|
||||||
|
|
@ -708,7 +723,7 @@ Erst wenn ich [READY] sehe, starten die TICKs mit Bildern!"""
|
||||||
while self.running:
|
while self.running:
|
||||||
# Warte bis aktuelles Recording endet
|
# Warte bis aktuelles Recording endet
|
||||||
while self.running and self._recording.is_set():
|
while self.running and self._recording.is_set():
|
||||||
time.sleep(0.3)
|
time.sleep(0.1) # Schnellere Prüfung
|
||||||
|
|
||||||
# Recording ist beendet - aber spricht Stefan gleich weiter?
|
# Recording ist beendet - aber spricht Stefan gleich weiter?
|
||||||
# Warte kurz und prüfe ob neues Recording startet
|
# Warte kurz und prüfe ob neues Recording startet
|
||||||
|
|
@ -723,7 +738,7 @@ Erst wenn ich [READY] sehe, starten die TICKs mit Bildern!"""
|
||||||
logger.debug("Stefan spricht weiter!")
|
logger.debug("Stefan spricht weiter!")
|
||||||
weiter_gesprochen = True
|
weiter_gesprochen = True
|
||||||
break
|
break
|
||||||
time.sleep(0.2)
|
time.sleep(0.1) # Schnellere Prüfung
|
||||||
|
|
||||||
if not weiter_gesprochen:
|
if not weiter_gesprochen:
|
||||||
# Stefan hat nicht weiter gesprochen - jetzt ist er fertig
|
# Stefan hat nicht weiter gesprochen - jetzt ist er fertig
|
||||||
|
|
@ -740,11 +755,11 @@ Erst wenn ich [READY] sehe, starten die TICKs mit Bildern!"""
|
||||||
if self._stefan_buffer:
|
if self._stefan_buffer:
|
||||||
logger.debug(f"Stefan-Buffer gefüllt: {len(self._stefan_buffer)} Einträge")
|
logger.debug(f"Stefan-Buffer gefüllt: {len(self._stefan_buffer)} Einträge")
|
||||||
break
|
break
|
||||||
time.sleep(0.2)
|
time.sleep(0.1) # Schnellere Prüfung
|
||||||
|
|
||||||
logger.debug("STT-Verarbeitung abgeschlossen")
|
logger.debug("STT-Verarbeitung abgeschlossen")
|
||||||
break
|
break
|
||||||
time.sleep(0.3)
|
time.sleep(0.1) # Schnellere Prüfung für bessere Reaktion
|
||||||
|
|
||||||
if not self.running:
|
if not self.running:
|
||||||
break
|
break
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue