diff --git a/python_bridge/chat_audio_bridge.py b/python_bridge/chat_audio_bridge.py index 2341c49..d720802 100755 --- a/python_bridge/chat_audio_bridge.py +++ b/python_bridge/chat_audio_bridge.py @@ -207,7 +207,46 @@ class ClaudesEyesAudioBridge: )) # ========================================== - # 1. Chat Interface (Selenium Browser) + # 1. Text-to-Speech (ZUERST - mit Test!) + # ========================================== + console.print("\n[yellow]Initialisiere Text-to-Speech...[/yellow]") + + tts_config = self.config.get("tts", {}) + use_termux = self.config.get("termux", {}).get("use_termux_api", False) + + try: + engine_type = "termux" if use_termux else tts_config.get("engine", "pyttsx3") + self.tts = create_tts_engine( + engine_type=engine_type, + language=tts_config.get("language", "de"), + rate=tts_config.get("rate", 150), + volume=tts_config.get("volume", 0.9) + ) + console.print(f"[green]TTS Engine erstellt ({engine_type})[/green]") + except Exception as e: + console.print(f"[red]TTS Engine konnte nicht erstellt werden: {e}[/red]") + logger.error(f"TTS Engine Fehler: {e}", exc_info=True) + console.print("[dim]Fortfahren ohne TTS[/dim]") + self.tts = None + + # TTS Test - spreche einen Testtext BEVOR der Browser startet + if self.tts: + console.print("[cyan]🔊 TTS Test - du solltest jetzt etwas hören...[/cyan]") + test_text = "Claudes Augen werden aktiviert." + try: + logger.info(f"TTS Test: '{test_text}'") + self.tts.speak(test_text) + console.print("[green]✓ TTS Test abgeschlossen![/green]") + except Exception as e: + console.print(f"[red]TTS Test fehlgeschlagen: {e}[/red]") + logger.error(f"TTS speak() Fehler: {e}", exc_info=True) + console.print("[yellow]TTS deaktiviert - Fortfahren ohne Sprachausgabe[/yellow]") + self.tts = None + else: + console.print("[yellow]⚠ Kein TTS verfügbar - überspringe Test[/yellow]") + + # ========================================== + # 2. Chat Interface (Selenium Browser) # ========================================== console.print("\n[yellow]Starte Browser für Claude.ai...[/yellow]") @@ -241,28 +280,6 @@ class ClaudesEyesAudioBridge: console.print(f"[red]Browser-Fehler: {e}[/red]") return False - # ========================================== - # 2. Text-to-Speech - # ========================================== - console.print("\n[yellow]Initialisiere Text-to-Speech...[/yellow]") - - tts_config = self.config.get("tts", {}) - use_termux = self.config.get("termux", {}).get("use_termux_api", False) - - try: - engine_type = "termux" if use_termux else tts_config.get("engine", "pyttsx3") - self.tts = create_tts_engine( - engine_type=engine_type, - language=tts_config.get("language", "de"), - rate=tts_config.get("rate", 150), - volume=tts_config.get("volume", 0.9) - ) - console.print(f"[green]TTS bereit ({engine_type})![/green]") - except Exception as e: - console.print(f"[yellow]TTS-Warnung: {e}[/yellow]") - console.print("[dim]Fortfahren ohne TTS[/dim]") - self.tts = None - # ========================================== # 3. Speech-to-Text # ==========================================