From 7575a65e7f84db361a78cb6c4277c641849aaa57 Mon Sep 17 00:00:00 2001 From: nox Date: Tue, 5 May 2026 21:28:03 +0200 Subject: [PATCH] fix(backend): pass language/task directly to Whisper generate --- backend/backends/pytorch_backend.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/backend/backends/pytorch_backend.py b/backend/backends/pytorch_backend.py index 3e1db396..012fd85e 100644 --- a/backend/backends/pytorch_backend.py +++ b/backend/backends/pytorch_backend.py @@ -358,15 +358,17 @@ class PyTorchSTTBackend: ) inputs = inputs.to(self.device) - # Generate transcription - # If language is provided, force it; otherwise let Whisper auto-detect + # Generate transcription. + # If language is provided, force it; otherwise let Whisper + # auto-detect. Pass language/task directly to generate() instead + # of building forced_decoder_ids — get_decoder_prompt_ids defaults + # to no_timestamps=True, which injects <|notimestamps|> and + # disables the timestamp tokens that return_timestamps=True (and + # therefore long-form decoding) depend on. generate_kwargs = {} if language: - forced_decoder_ids = self.processor.get_decoder_prompt_ids( - language=language, - task="transcribe", - ) - generate_kwargs["forced_decoder_ids"] = forced_decoder_ids + generate_kwargs["language"] = language + generate_kwargs["task"] = "transcribe" with torch.no_grad(): predicted_ids = self.model.generate(