diff --git a/python_bridge/chat_audio_bridge.py b/python_bridge/chat_audio_bridge.py index 24cb084..3f19348 100755 --- a/python_bridge/chat_audio_bridge.py +++ b/python_bridge/chat_audio_bridge.py @@ -148,7 +148,9 @@ class ClaudesEyesAudioBridge: self._mute_lock = threading.Lock() # Silence-Timeout: Wie lange Stille bevor Aufnahme als fertig gilt - self._silence_timeout = 5.0 # Sekunden + # 2 Sekunden ist ein guter Kompromiss zwischen natürlichen Pausen + # und schneller Reaktion. Bei 5s dauert es zu lange. + self._silence_timeout = 2.0 # Sekunden def _load_config(self, config_path: str) -> dict: """Lädt die Konfiguration""" @@ -701,8 +703,16 @@ Erst wenn ich [READY] sehe, starten die TICKs mit Bildern!""" logger.debug("Stefan spricht, warte auf Stille...") while self.running and self._recording.is_set(): time.sleep(0.5) - logger.debug("Stefan fertig") + logger.debug("Stefan fertig mit Sprechen") stefan_has_spoken = True + + # WICHTIG: Zusätzliche Wartezeit für STT-Verarbeitung! + # Google Speech Recognition braucht Zeit um den letzten + # Text-Block zu verarbeiten und in den Buffer zu schreiben. + stt_processing_wait = 2.0 # Sekunden für API-Verarbeitung + logger.debug(f"Warte {stt_processing_wait}s für STT-Verarbeitung...") + time.sleep(stt_processing_wait) + logger.debug("STT-Verarbeitung abgeschlossen") break time.sleep(0.5) @@ -978,7 +988,7 @@ Erst wenn ich [READY] sehe, starten die TICKs mit Bildern!""" logger.warning("STT nicht verfügbar") return - logger.info(f"STT-Loop gestartet (5s Stille = fertig)") + logger.info(f"STT-Loop gestartet ({self._silence_timeout}s Stille = fertig)") # Temporärer Buffer für aktuelle Aufnahme-Session current_session_texts = []