feat(whisper): add Distil-Whisper Small and Large v3 as first-class models
Two new registry entries (crates/core/src/model_registry.rs): - whisper-distil-small-en — 336 MB, ~6× faster than whisper-small-en - whisper-distil-large-v3 — 1.55 GB, near large-v3 accuracy at medium size Both are whisper.cpp-compatible GGML binaries hosted on HF by the distil-whisper org; no runtime change, just wider model choice. English-only by design (matches upstream Distil-Whisper). The Settings model picker widens to six options — Tiny, Base, Small, Distil-S, Medium, Distil-L — ordered roughly by accuracy. Download/load commands now take the resolved model id (whisper-distil-*) instead of the lowercased label, so the frontend owns the label↔id mapping. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -15,7 +15,11 @@ fn whisper_model_id(size: &str) -> ModelId {
|
||||
"tiny" => ModelId::new("whisper-tiny-en"),
|
||||
"base" => ModelId::new("whisper-base-en"),
|
||||
"small" => ModelId::new("whisper-small-en"),
|
||||
"distil-small" | "distilsmall" => ModelId::new("whisper-distil-small-en"),
|
||||
"medium" => ModelId::new("whisper-medium-en"),
|
||||
"distil-large" | "distil-large-v3" | "distillarge" => {
|
||||
ModelId::new("whisper-distil-large-v3")
|
||||
}
|
||||
other => ModelId::new(other),
|
||||
}
|
||||
}
|
||||
@@ -297,7 +301,9 @@ pub fn list_models() -> Result<Vec<String>, String> {
|
||||
"whisper-tiny-en" => "Tiny".to_string(),
|
||||
"whisper-base-en" => "Base".to_string(),
|
||||
"whisper-small-en" => "Small".to_string(),
|
||||
"whisper-distil-small-en" => "Distil-S".to_string(),
|
||||
"whisper-medium-en" => "Medium".to_string(),
|
||||
"whisper-distil-large-v3" => "Distil-L".to_string(),
|
||||
other => other.to_string(),
|
||||
})
|
||||
.collect())
|
||||
|
||||
Reference in New Issue
Block a user