diff --git a/xtts/f5tts/bridge.py b/xtts/f5tts/bridge.py index 0d90273..3553e68 100644 --- a/xtts/f5tts/bridge.py +++ b/xtts/f5tts/bridge.py @@ -374,7 +374,10 @@ async def request_transcription(ws, wav_path: Path, language: str = "de") -> Opt "requestId": request_id, "audio": audio_b64, "mimeType": "audio/wav", - "model": "small", # klein reicht fuer Voice-Referenz + # KEIN hardcoded model — whisper-bridge nimmt das bereits + # geladene. Sonst wuerde hier ein Swap auf 'small' passieren und + # danach muesste das in Diagnostic konfigurierte Modell (z.B. + # large-v3) wieder geladen werden → doppelter Download. "language": language, }) return await asyncio.wait_for(fut, timeout=_STT_TIMEOUT_S) diff --git a/xtts/whisper/bridge.py b/xtts/whisper/bridge.py index 9a93b43..8f250c4 100644 --- a/xtts/whisper/bridge.py +++ b/xtts/whisper/bridge.py @@ -143,7 +143,11 @@ async def handle_stt_request(ws, payload: dict, runner: WhisperRunner) -> None: request_id = payload.get("requestId", "") audio_b64 = payload.get("audio", "") mime_type = payload.get("mimeType", "audio/mp4") - model = payload.get("model") or WHISPER_MODEL + # Modell-Auswahl: + # payload.model gesetzt → nimm das (aria-bridge sendet's basierend auf Config) + # sonst + Modell geladen → behalt das aktuelle (kein sinnloser Swap) + # sonst → fallback auf ENV-Default + model = payload.get("model") or (runner.model_size if runner.model is not None else WHISPER_MODEL) language = payload.get("language") or WHISPER_LANGUAGE if not audio_b64: