diff --git a/bridge/aria_bridge.py b/bridge/aria_bridge.py index 72d7110..377d2ec 100644 --- a/bridge/aria_bridge.py +++ b/bridge/aria_bridge.py @@ -295,10 +295,17 @@ def clean_text_for_tts(text: str) -> str: if not text: return "" - # ... wenn vorhanden → nur das nehmen + # ... wenn vorhanden → nur diesen Inhalt lesen. ABER: ein + # LEERES darf die Sprachausgabe nicht verstummen lassen. + # Claude haengt reflexartig manchmal ein leeres Tag an (v.a. bei Spotify- + # Antworten) — frueher wurde daraus text="" → gar keine TTS (Playlist-Wechsel + # 'Prodigy' stumm, 'Fliegen' gesprochen, rein je nachdem ob Claude Inhalt ins + # Tag schrieb). Leeres/whitespace-Tag → ignorieren und den normalen Text lesen. voice_match = _re_tts.search(r'([\s\S]*?)', text, _re_tts.IGNORECASE) - if voice_match: + if voice_match and voice_match.group(1).strip(): text = voice_match.group(1) + else: + text = _re_tts.sub(r'[\s\S]*?', ' ', text, flags=_re_tts.IGNORECASE) t = text