fix: use set_language(None) for auto-detect instead of set_detect_language(true)
All checks were successful
Build & Push Docker Image / build-and-push (push) Successful in 6m43s
All checks were successful
Build & Push Docker Image / build-and-push (push) Successful in 6m43s
detect_language=true causes whisper.cpp to return 0 immediately after
language detection without running the decoder (whisper.cpp source:
if (params.detect_language) { return 0; }
Setting language=null triggers auto-detection AND transcription.
This was the root cause of 0 segments on all jobs without explicit language.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -90,7 +90,10 @@ impl Transcriber {
|
|||||||
if let Some(lang) = language {
|
if let Some(lang) = language {
|
||||||
fp.set_language(Some(lang));
|
fp.set_language(Some(lang));
|
||||||
} else {
|
} else {
|
||||||
fp.set_detect_language(true);
|
// Setting language to None (null) triggers whisper's auto-detection AND transcription.
|
||||||
|
// set_detect_language(true) is WRONG: it causes whisper to return 0 after language
|
||||||
|
// detection without transcribing (see whisper.cpp: `if (detect_language) return 0`).
|
||||||
|
fp.set_language(None);
|
||||||
}
|
}
|
||||||
|
|
||||||
fp.set_translate(task == "translate");
|
fp.set_translate(task == "translate");
|
||||||
|
|||||||
Reference in New Issue
Block a user