diff --git a/bridge/aria_bridge.py b/bridge/aria_bridge.py index e21fc1f..3b3f167 100644 --- a/bridge/aria_bridge.py +++ b/bridge/aria_bridge.py @@ -1326,9 +1326,18 @@ class ARIABridge: or 1.0 ) - tts_text = tts_text_preview or text + # Ein vorhandener -Tag ist die EXPLIZITE TTS-Vorgabe von ARIA — + # auch wenn er leer ist. Leeres = bewusst stumm: die + # Bubble erscheint im Chat, aber es wird NICHTS gesprochen. Use-Case: + # Steuerbefehl-Quittungen (Spotify next/pause, Licht an) — dort darf die + # Sprachausgabe NICHT feuern, weil das TTS-Playback auf dem Handy den + # Audio-Fokus klaut, Spotify duckt/pausiert und (bei kurzem Text) nicht + # sauber weiterspielt. Nur OHNE Voice-Tag faellt es auf den vollen Text + # zurueck (normale Antwort ohne TTS-Annotation wird komplett gelesen). + has_voice_tag = "" in (text or "").lower() + tts_text = tts_text_preview if has_voice_tag else (tts_text_preview or text) if not tts_text: - logger.info("[core] TTS-Text leer nach Cleanup — uebersprungen") + logger.info("[core] TTS-Text leer (bewusst stumm via oder nach Cleanup) — uebersprungen") return try: xtts_request_id = str(uuid.uuid4())