From 5ac1a0a522188b87837149406ae2edde38f9e0ee Mon Sep 17 00:00:00 2001 From: duffyduck Date: Mon, 20 Apr 2026 16:48:27 +0200 Subject: [PATCH] revert: XTTS-Endpoint zurueck auf /tts_to_audio/ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit /tts_stream war bei der aktiven daswer123-Version nicht erreichbar — Requests hingen stille, App bekam kein Audio. Zurueck auf /tts_to_audio/ + Queue + 32x AudioTrack-Buffer. Das ist zwar nicht echt-streaming aber stabil. Ueberlappung sollte durch die Queue weg sein, Buffer toleriert den bursty Delivery. Echt-Streaming-Migration spaeter mit verifizierter Server-Version oder anderem Endpoint. Co-Authored-By: Claude Opus 4.7 (1M context) --- xtts/bridge.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/xtts/bridge.js b/xtts/bridge.js index b48bcbd..5b9fc11 100644 --- a/xtts/bridge.js +++ b/xtts/bridge.js @@ -195,12 +195,13 @@ async function _runTTSRequest(payload) { } /** - * Ruft /tts_stream auf — echter Streaming-Endpoint von daswer123. - * Chunked Transfer-Encoding: Samples kommen WAEHREND XTTS rendert, - * nicht erst am Ende. Time-to-first-audio ~300-500ms statt 2-3s. + * Ruft /tts_to_audio/ auf und streamt das Response-Body chunkweise an + * den Callback. Kein echtes Server-Streaming (XTTS rendert komplett + * bevor es antwortet), aber stabil und mit der Queue + grosszuegigem + * AudioTrack-Buffer klingt's akzeptabel. * - * stream_chunk_size = Characters pro Render-Iteration. - * 40 = guter Kompromiss zwischen Schnellstart und GPU-Effizienz. + * /tts_stream ist elegant, funktioniert aber nicht in allen Versionen + * von daswer123/xtts-api-server. */ function streamXTTSAsPCM(text, language, speakerWav, onPcmChunk) { return new Promise((resolve, reject) => { @@ -208,10 +209,9 @@ function streamXTTSAsPCM(text, language, speakerWav, onPcmChunk) { text, language, speaker_wav: speakerWav || "", - stream_chunk_size: 40, }); - const url = new URL(`${XTTS_API_URL}/tts_stream`); + const url = new URL(`${XTTS_API_URL}/tts_to_audio/`); const options = { hostname: url.hostname, port: url.port,