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:
@@ -150,6 +150,23 @@ static ALL_MODELS: LazyLock<Vec<ModelEntry>> = LazyLock::new(|| {
|
||||
}],
|
||||
description: "Accuracy-first English transcription",
|
||||
},
|
||||
ModelEntry {
|
||||
id: ModelId::new("whisper-distil-small-en"),
|
||||
engine: Engine::Whisper,
|
||||
display_name: "Distil-Whisper Small (English)",
|
||||
disk_size: Megabytes(336),
|
||||
ram_required: Megabytes(900),
|
||||
speed_tier: SpeedTier::Fast,
|
||||
accuracy_tier: AccuracyTier::Great,
|
||||
languages: LanguageSupport::EnglishOnly,
|
||||
files: vec![ModelFile {
|
||||
filename: "ggml-distil-small.en.bin",
|
||||
url: "https://huggingface.co/distil-whisper/distil-small.en/resolve/main/ggml-distil-small.en.bin",
|
||||
size: Megabytes(336),
|
||||
sha256: None,
|
||||
}],
|
||||
description: "Small accuracy, ~6\u{00d7} faster — distilled variant",
|
||||
},
|
||||
ModelEntry {
|
||||
id: ModelId::new("whisper-medium-en"),
|
||||
engine: Engine::Whisper,
|
||||
@@ -167,6 +184,23 @@ static ALL_MODELS: LazyLock<Vec<ModelEntry>> = LazyLock::new(|| {
|
||||
}],
|
||||
description: "Best Whisper accuracy — needs 4+ GB RAM",
|
||||
},
|
||||
ModelEntry {
|
||||
id: ModelId::new("whisper-distil-large-v3"),
|
||||
engine: Engine::Whisper,
|
||||
display_name: "Distil-Whisper Large v3 (English)",
|
||||
disk_size: Megabytes(1550),
|
||||
ram_required: Megabytes(2800),
|
||||
speed_tier: SpeedTier::Moderate,
|
||||
accuracy_tier: AccuracyTier::Excellent,
|
||||
languages: LanguageSupport::EnglishOnly,
|
||||
files: vec![ModelFile {
|
||||
filename: "ggml-distil-large-v3.bin",
|
||||
url: "https://huggingface.co/distil-whisper/distil-large-v3-ggml/resolve/main/ggml-distil-large-v3.bin",
|
||||
size: Megabytes(1550),
|
||||
sha256: None,
|
||||
}],
|
||||
description: "Near large-v3 accuracy at ~6\u{00d7} the speed",
|
||||
},
|
||||
]
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user