Fix: audio_output Hang + Stimme auf Seraphina

- speak() hing weil pygame.time.wait() die asyncio Event-Loop blockierte.
  Fix: time.sleep(0.05) statt pygame.time.wait() im Playback-Loop.
- asyncio.new_event_loop() statt asyncio.run() — thread-sicher, kein
  "event loop already running" in Worker-Threads.
- _speak_lock verhindert parallele TTS-Aufrufe.
- Stimme: de-DE-SeraphinaMultilingualNeural als Default (modern, weiblich,
  multilingual neural). Dropdown in Settings mit allen DE/EN Optionen.
- speak()-Signatur: voice + rate als Parameter (statt config-Import).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-06-26 22:25:53 +02:00
parent 037c4b11df
commit 8881d65c8d
3 changed files with 43 additions and 26 deletions
+7 -2
View File
@@ -259,8 +259,13 @@ class SettingsWindow(ctk.CTkToplevel):
label("TTS Stimme")
self._voice = dropdown("tts_voice", [
"de-DE-KillianNeural", "de-DE-SeraphinaMultilingualNeural",
"de-DE-ConradNeural", "en-US-AndrewNeural", "en-US-AriaNeural",
"de-DE-SeraphinaMultilingualNeural",
"de-DE-AmalaNeural",
"de-DE-KatjaNeural",
"de-DE-KillianNeural",
"de-DE-ConradNeural",
"en-US-AriaNeural",
"en-US-JennyNeural",
])
label("Whisper Modell")