TTS: Worker-Pool aktivieren (LUCY_WORKERS=4 x 2 Threads beim Spawn) — lief seit je SERIELL

Realtest-Fund (User-Logs): workers=0 -> lange Antworten trudelten seriell nach
(9,9s Audio in 9,7s gen). Mit Pool rechnen Folgesaetze parallel zum Sprechen.
TTFB des ERSTEN Satzes bleibt ~1,6-2,3s (Voll-Generierung + Kollaps-Gate vor Emission) —
Fix dafuer = generate_audio_stream fuer Satz 1 (API vorhanden), braucht Hoer-Tests -> naechste Session.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-07-02 15:18:13 +02:00
parent 195b07deef
commit 646031e5c0
+8 -1
View File
@@ -95,7 +95,14 @@ async function ensureTtsServer() {
} catch { /* selbst starten */ }
console.log("[lucy] starte pocket_server:", PY, "(cwd:", TTS_DIR + ")")
ttsProc = spawn(PY, ["-m", "uvicorn", "pocket_server:app", "--host", "127.0.0.1", "--port", PORT],
{ cwd: TTS_DIR, windowsHide: true, env: { ...process.env } })
{ cwd: TTS_DIR, windowsHide: true, env: {
...process.env,
// Bench-Optimum aus Phase B2 (docs/LUCY_TTS_PLAN.md): 4 Worker x 2 Threads = RTF 0,44
// statt 0,67 seriell. Ohne diese Envs startete der Server SERIELL (workers=0) ->
// TTS-TTFB 1,7-2,3 s je Antwort (Realtest 02.07.). Per Umgebung überschreibbar.
LUCY_WORKERS: process.env.LUCY_WORKERS || "4",
LUCY_WORKER_THREADS: process.env.LUCY_WORKER_THREADS || "2",
} })
ttsProc.stdout?.on("data", (d) => console.log("[tts]", d.toString().trimEnd()))
ttsProc.stderr?.on("data", (d) => console.log("[tts]", d.toString().trimEnd()))
ttsProc.on("error", (e) => console.error("[lucy] pocket_server-Spawn fehlgeschlagen:", e))