按语言模型推荐计划¶
状态: 已批准于 2026-10-22;阶段 A 已实现,阶段 B 等待
transcribe-cpp升级。向现有用户提示更佳模型的操作将推迟到 Rune 移植完成之后(参见ROADMAP.md中的“为现有用户推荐更佳模型”);阶段 A 不新增任何 UI。本计划综合了docs/research/language-recommendations-european.md(ebd9fc8)、docs/research/language-recommendations-other.md(fde2bb3) 和docs/research/model-watch.md,并与docs/plans/transcription-quality.md集成(后者负责transcribe-cpp的0.2.4 -> 0.4.1升级、共享词汇表以及parakeet-ultra运行时工作)。
摘要¶
Hex 当前的 choices_for_runtime(src/transcription_models.rs:494-567)将 40 个语言条目(auto 加上 39 种语言)路由到四个粗略的分桶中。针对 handy-computer/transcribe.cpp 中精确的 Q8_0 GGUF 工件进行的同条件 FLEURS 测试评估,暴露了三类修复:
Per-language recommendation updates
├── Phase A: Ship now on pinned transcribe-cpp 0.2.4 (0.5d, zero new models)
│ ├── Greek (el): Parakeet v3 gets 1 in 3 words wrong (35.33% WER) -> route to shipped Cohere (8.96%) + Whisper (13.26%)
│ ├── Qwen 0.6B tail failures: Whisper turbo replaces Qwen 0.6B as Recommended on tr, mk, ar, ms, fil, fa, ja (-3.8 to -23.4 pts)
│ ├── Nordic Parakeet gap: Whisper turbo becomes Recommended on fi (8.29 vs 13.30) and sv (8.72 vs 15.25), Parakeet as Fastest
│ ├── Auto & CJK cleanup: drop 5-language SenseVoice from Auto, yue (37.44% CER), and ko (8.27%); Qwen 0.6B becomes Auto Fastest
│ └── Maltese (mt): drop Whisper turbo (70.92% WER) from Recognition hints
└── Phase B: Ship with transcribe-cpp 0.4.1 in transcription-quality.md Phase 3 (+1d)
├── ParakeetUltra (740 MB): replaces Parakeet v3 across 24 EU languages (-0.6 to -6.2 pts everywhere, 30 s pause cuts)
├── Canary1BV2 (1.14 GB): Recommended on lv, sl (-6.2 to -7.6 pts vs ultra); Most accurate on bg, cs, da, et, hr, lt, ro (-1.7 to -4.6 pts)
└── Qwen3Asr17B (2.19 GB): Most accurate on auto, yue, ko, hi, vi, th, id, fa (and en pending ses_e98f7b094ffe1Q3KtZFS6Np4KL)
1. 最终按语言推荐表¶
应用于 LANGUAGES 中全部 40 个条目的规则(src/transcription_models.rs:437-478):
- 噪声下限(
~1.5 个百分点): 在 FLEURS 测试中(每种语言约 860–900 条朗读话语,bootstrap 95% CI ±约 0.9 个百分点),小于约 1.5 WER/CER 个百分点的差异视为持平。对于<1.5 pt的微小优势,我们不会频繁更改现有推荐,也不会添加Most accurate卡片(例如:zhQwen 0.6B 7.57% vs 1.7B 7.14%;koQwen 0.6B 5.82% vs Whisper 5.24%;idQwen 0.6B 8.49% vs Whisper 7.20%;skParakeet Ultra 7.83% vs Canary v2 6.84%;de/es/fr/hu/it/nl/pl/pt/ru/ukUltra vs Canary/Whisper/Voxtral)。 - 角色:
Rec=Recommended(第一个条目同时也是首次运行设置的recommended_selection(lang)),Fast=Fastest,Acc=Most accurate,Hint=Recognition hints。当Whisper turbo为Rec时,不会显示重复的Hint行,因为它已经支持提示。 - 指标:
zh、yue、ja、ko、th使用 CER %;所有其他语言使用 WER %(通过transcribe.cpp在 FLEURS 测试上采用 Q8_0 GGUF)。
| 代码 | 语言 | 当前(0.2.4) |
建议(Phase A: 0.2.4 → Phase B: 0.4.1) |
证据(FLEURS Q8_0 WER/CER %) | 置信度 | 运行时 |
|---|---|---|---|---|---|---|
auto |
自动 | 推荐:Whisper turbo 最快:SenseVoice 推荐:Qwen 0.6B |
A: 推荐:Whisper turbo;最快:Qwen 0.6B(移除 SenseVoice) B: + 最准确:Qwen 1.7B |
30 种语言中位数:Qwen 1.7B 7.6,Whisper turbo 8.6,Qwen 0.6B 13.3(均值 21.4)。SenseVoice 仅覆盖 5 种语言。 | 中 | 0.2.4(B 中使用 1.7B) |
en |
英语 | 推荐:Parakeet Unified 最准确:Cohere 提示:Whisper turbo |
A: 维持当前 B: 推荐:Parakeet Unified;最准确:Qwen 1.7B(或 Cohere,须经审计);提示:Whisper turbo |
FLEURS:Qwen 1.7B 3.23,Unified 3.99,Ultra 4.26,Whisper 4.38,Canary 4.47,v3 4.83,Cohere 5.08。Open ASR 平均:Qwen 1.7B 5.75,Cohere 6.26,v3 6.51。 | 高(推荐) 中(最准确) |
0.2.4 |
zh |
普通话 | 推荐:Qwen 0.6B 最快:SenseVoice 提示:Whisper turbo |
维持当前(不更改;顶尖模型差距在 0.43 个百分点噪声带以内) | Qwen 1.7B 7.14,Fun-ASR-MLT 7.33,Qwen 0.6B 7.57,Whisper turbo 8.50,SenseVoice 10.12(245x)。 | 中 | 0.2.4 |
yue |
粤语 | 推荐:Qwen 0.6B 最快:SenseVoice 提示:Whisper turbo |
A: 推荐:Qwen 0.6B;提示:Whisper turbo(移除 SenseVoice 最快) B: + 最准确:Qwen 1.7B(Qwen 提示在 0.4.1 中启用) |
Qwen 1.7B 6.13,Qwen 0.6B 7.91,对比 Whisper turbo 34.62、SenseVoice 37.44(+29.5 个百分点;需核验脚本归一化)。 | 高 | 0.2.4(B 中使用 1.7B) |
ja |
日语 | 推荐:Qwen 0.6B 最快:SenseVoice 提示:Whisper turbo |
A/B: 推荐:Whisper turbo;最快:SenseVoice | Whisper turbo 4.82,Cohere 5.13,Qwen 1.7B 5.29,SenseVoice 7.63(245x),Qwen 0.6B 8.61(-3.79 个百分点)。(Fun-ASR-MLT 2.10 为离群值,暂缓处理。) | 中高 | 0.2.4 |
ko |
韩语 | 推荐:Qwen 0.6B 最快:SenseVoice 提示:Whisper turbo |
A: 推荐:Qwen 0.6B;提示:Whisper turbo(移除 SenseVoice 最快) B: + 最准确:Qwen 1.7B |
Qwen 1.7B 4.60,Whisper turbo 5.24,Qwen 0.6B 5.82(与 Whisper 的 0.58 个百分点差距属于噪声;Qwen 快 2 倍),SenseVoice 8.27(差 +2.45 个百分点)。 | 中 | 0.2.4(B 中使用 1.7B) |
es |
西班牙语 | 推荐:Parakeet v3 提示:Whisper turbo |
A: 维持当前 B: 推荐:Parakeet Ultra;提示:Whisper turbo |
Ultra 3.06,Canary v2 3.10,Whisper 3.12,Qwen 1.7B 3.31,v3 3.65(所有顶尖模型差距均在 0.25 个百分点以内)。 | 高 | 0.4.1(Ultra) |
fr |
法语 | 推荐:Parakeet v3 提示:Whisper turbo |
A: 维持当前 B: 推荐:Parakeet Ultra;提示:Whisper turbo |
Ultra 4.66,Canary v2 5.09,v3 5.30,Whisper 5.51(Voxtral 3B 4.51 在 13 倍速度下属于 0.15 个百分点的噪声)。 | 高 | 0.4.1(Ultra) |
de |
德语 | Rec: Parakeet v3 Hint: Whisper turbo |
A: 保持当前配置 B: Rec: Parakeet Ultra; Hint: Whisper turbo |
Qwen 1.7B 4.25, Canary v2 4.46, Whisper 4.54, Ultra 4.58, v3 5.24(均在 0.33 个百分点噪声范围内)。 | 高 | 0.4.1(Ultra) |
pt |
葡萄牙语 | Rec: Parakeet v3 Hint: Whisper turbo |
A: 保持当前配置 B: Rec: Parakeet Ultra; Hint: Whisper turbo |
Ultra 4.16, Whisper 4.17, Canary v2 4.50, v3 4.96(Voxtral 3B 3.84 为 0.32 个百分点噪声)。 | 高 | 0.4.1(Ultra) |
it |
意大利语 | Rec: Parakeet v3 Hint: Whisper turbo |
A: 保持当前配置 B: Rec: Parakeet Ultra; Hint: Whisper turbo |
Ultra 2.34, Whisper 2.77, v3 3.02, Canary v2 3.10。 | 高 | 0.4.1(Ultra) |
ar |
阿拉伯语 | Rec: Qwen 0.6B Hint: Whisper turbo |
A/B: Rec: Whisper turbo; Acc: Cohere Transcribe | Cohere(已随附)13.60, Qwen 1.7B 14.91, Whisper turbo 15.48,而 Qwen 0.6B 24.51(-9.03 至 -10.91 个百分点)。 | 高 | 0.2.4 |
hi |
印地语 | Rec: Qwen 0.6B Hint: Whisper turbo |
A: 保持当前配置 B: Rec: Qwen 0.6B; Acc: Qwen 1.7B; Hint: Whisper turbo |
Qwen 1.7B 7.84(-4.84 个百分点),Qwen 0.6B 12.68,Whisper turbo 18.85。 | 高 | 0.2.4(B 阶段使用 1.7B) |
vi |
越南语 | Rec: Qwen 0.6B Hint: Whisper turbo |
A: Rec: Qwen 0.6B; Acc: Cohere; Hint: Whisper turbo B: Rec: Qwen 0.6B; Acc: Qwen 1.7B; Hint: Whisper turbo |
Qwen 1.7B 6.15(-3.17 个百分点),Cohere(已随附)7.39(-1.93 个百分点),Qwen 0.6B 9.32,Whisper turbo 9.48。 | 中 | 0.2.4(B 阶段使用 1.7B) |
ru |
俄语 | Rec: Parakeet v3 Hint: Whisper turbo |
A: 保持当前配置 B: Rec: Parakeet Ultra; Hint: Whisper turbo |
Ultra 5.63, Whisper 5.93, Qwen 1.7B 6.25, v3 6.54, Canary v2 7.83。 | 高 | 0.4.1(Ultra) |
uk |
乌克兰语 | Rec: Parakeet v3 Hint: Whisper turbo |
A: 保持当前配置 B: Rec: Parakeet Ultra; Hint: Whisper turbo |
Ultra 5.71, v3 6.84, Whisper 7.31, Canary v2 10.58。 | 高 | 0.4.1(Ultra) |
nl |
荷兰语 | Rec: Parakeet v3 Hint: Whisper turbo |
A: 保持当前配置 B: Rec: Parakeet Ultra; Hint: Whisper turbo |
Whisper 5.98, Canary v2 6.28, Ultra 6.70, v3 7.66(Whisper 的 0.72 个百分点优势在 1.5 个百分点噪声范围内;Whisper 已作为 Hint 显示)。 | 中 | 0.4.1(Ultra) |
pl |
波兰语 | Rec: Parakeet v3 Hint: Whisper turbo |
A: 保持当前配置 B: Rec: Parakeet Ultra; Hint: Whisper turbo |
Whisper 5.81, Cohere 6.15, Ultra 6.16, Canary v2 6.88, v3 7.37(0.35 个百分点差距属于噪声)。 | 中 | 0.4.1(Ultra) |
tr |
土耳其语 | Rec: Qwen 0.6B Hint: Whisper turbo |
A/B: Rec: Whisper turbo | Whisper turbo 6.97, Qwen 1.7B 9.46,而 Qwen 0.6B 16.74(-9.77 个百分点)。 | 高 | 0.2.4 |
sv |
瑞典语 | Rec: Parakeet v3 Hint: Whisper turbo |
A: Rec: Whisper turbo; Fast: Parakeet v3 B: Rec: Whisper turbo; Fast: Parakeet Ultra |
Whisper turbo 8.72, Canary v2 9.74(与 Whisper 相差 1.02 个百分点),Ultra 12.83, v3 15.25(-6.53 个百分点 vs v3,-4.11 个百分点 vs Ultra)。 | 中高 | 0.2.4(B 阶段使用 Ultra) |
da |
丹麦语 | Rec: Parakeet v3 Hint: Whisper turbo |
A: Rec: Whisper turbo; Fast: Parakeet v3 B: Rec: Parakeet Ultra; Acc: Canary 1B v2; Hint: Whisper turbo |
Canary v2 11.34(相对 Ultra -4.64 个百分点),Whisper 13.60(相对 v3 -5.04 个百分点),Ultra 15.98, v3 18.64。 | 高 | 0.2.4 / 0.4.1 |
fi |
芬兰语 | Rec: Parakeet v3 Hint: Whisper turbo |
A: Rec: Whisper turbo; Fast: Parakeet v3 B: Rec: Whisper turbo; Fast: Parakeet Ultra |
Whisper turbo 8.29, Canary v2 8.86(与 Whisper 相差 0.57 个百分点),Ultra 11.14, v3 13.30(-5.01 个百分点 vs v3,-2.85 个百分点 vs Ultra)。 | 中高 | 0.2.4(B 阶段使用 Ultra) |
cs |
捷克语 | Rec: Parakeet v3 Hint: Whisper turbo |
A: 保持当前配置 B: Rec: Parakeet Ultra; Acc: Canary 1B v2; Hint: Whisper turbo |
Canary v2 8.56(相对 Ultra -2.48 个百分点),Ultra 11.04, Whisper 11.81, v3 12.31。 | 中 | 0.4.1 |
el |
希腊语 | Rec: Parakeet v3 Hint: Whisper turbo |
A/B: Rec: Cohere Transcribe; Hint: Whisper turbo | Cohere(已随附)8.96, Whisper turbo 13.26, 而 Canary v2 26.02, Ultra 32.25, v3 35.33(-26.37 个百分点)。 | 高 | 0.2.4 |
ro |
罗马尼亚语 | Rec: Parakeet v3 Hint: Whisper turbo |
A: 保持当前配置 B: Rec: Parakeet Ultra; Acc: Canary 1B v2; Hint: Whisper turbo |
Canary v2 6.87(相对 Ultra -3.25 个百分点),Ultra 10.12, Whisper 10.90, v3 12.62。 | 高 | 0.4.1 |
hu |
匈牙利语 | Rec: Parakeet v3 Hint: Whisper turbo |
A: 保持当前配置 B: Rec: Parakeet Ultra; Hint: Whisper turbo |
Canary v2 13.06, Ultra 13.09(0.03 个百分点持平),Whisper 15.07, v3 16.06。 | 中 | 0.4.1(Ultra) |
id |
印度尼西亚语 | Rec: Qwen 0.6B Hint: Whisper turbo |
A: 保持当前配置(1.29 个百分点差距 < 1.5 个百分点噪声) B: Rec: Qwen 0.6B; Acc: Qwen 1.7B; Hint: Whisper turbo |
Qwen 1.7B 5.37(相对 0.6B -3.12 个百分点),Whisper turbo 7.20, Qwen 0.6B 8.49。 | 中 | 0.2.4(B 阶段使用 1.7B) |
ms |
马来语 | Rec: Qwen 0.6B Hint: Whisper turbo |
A/B: Rec: Whisper turbo | Whisper turbo 8.64, Qwen 1.7B 10.42,而 Qwen 0.6B 17.18(-8.54 个百分点)。 | 中高 | 0.2.4 |
th |
泰语 | Rec: Qwen 0.6B Hint: Whisper turbo |
A: 保持当前配置 B: Rec: Qwen 0.6B; Acc: Qwen 1.7B; Hint: Whisper turbo |
Qwen 1.7B 6.89(相对 0.6B -1.92 个百分点),Qwen 0.6B 8.81, Whisper turbo 13.15。 | 中 | 0.2.4(B 阶段使用 1.7B) |
fa |
波斯语 | Rec: Qwen 0.6B Hint: Whisper turbo |
A: Rec: Whisper turbo B: Rec: Whisper turbo; Acc: Qwen 1.7B |
Qwen 1.7B 28.29(相对 Whisper -2.27 个百分点),Whisper turbo 30.56,而 Qwen 0.6B 50.30(-19.74 个百分点)。 | 高 | 0.2.4(B 阶段使用 1.7B) |
bg |
保加利亚语 | Rec: Parakeet v3 Hint: Whisper turbo |
A: 保持当前配置 B: Rec: Parakeet Ultra; Acc: Canary 1B v2; Hint: Whisper turbo |
Canary v2 9.22(相对 Ultra -1.82 个百分点),Ultra 11.04, v3 12.81, Whisper 13.58。 | 中 | 0.4.1 |
hr |
克罗地亚语 | 推荐:Parakeet v3 提示:Whisper turbo |
A: 保持现状 B: 推荐:Parakeet Ultra;高精度:Canary 1B v2;提示:Whisper turbo |
Canary v2 8.40(-2.90 个百分点,对比 Ultra),Ultra 11.30,Whisper 12.54,v3 12.59。 | 中 | 0.4.1 |
et |
爱沙尼亚语 | 推荐:Parakeet v3 提示:Whisper turbo |
A: 保持现状 B: 推荐:Parakeet Ultra;高精度:Canary 1B v2;提示:Whisper turbo |
Canary v2 12.72(-1.72 个百分点,对比 Ultra),Ultra 14.44,v3 17.96,Whisper 18.44。 | 中 | 0.4.1 |
lv |
拉脱维亚语 | 推荐:Parakeet v3 提示:Whisper turbo |
A: 保持现状 B: 推荐:Canary 1B v2;快速:Parakeet Ultra;提示:Whisper turbo |
Canary v2 10.41(-7.63 个百分点,对比 Ultra;-13.36 个百分点,对比 v3),Ultra 18.04,Whisper 19.53,v3 23.77。 | 高 | 0.4.1 |
lt |
立陶宛语 | 推荐:Parakeet v3 提示:Whisper turbo |
A: 保持现状 B: 推荐:Parakeet Ultra;高精度:Canary 1B v2;提示:Whisper turbo |
Canary v2 13.45(-3.61 个百分点,对比 Ultra),Ultra 17.06,v3 22.20,Whisper 25.11。 | 中高 | 0.4.1 |
mt |
马耳他语 | 推荐:Parakeet v3 提示:Whisper turbo |
A: 推荐:Parakeet v3(移除 Whisper 提示模型) B: 推荐:Parakeet Ultra |
Ultra 17.01,Canary v2 19.75,v3 20.63,对比 Whisper turbo 70.92(在马耳他语上不可用)。 | 中 | 0.2.4 / 0.4.1 |
sk |
斯洛伐克语 | 推荐:Parakeet v3 提示:Whisper turbo |
A: 保持现状 B: 推荐:Parakeet Ultra;提示:Whisper turbo |
Canary v2 6.84,对比 Ultra 7.83(-0.99 个百分点处于 1.5 个百分点的噪声底限以内;因此省略 Canary v2),v3 10.19,Whisper 10.21。 | 中 | 0.4.1(Ultra) |
sl |
斯洛文尼亚语 | 推荐:Parakeet v3 提示:Whisper turbo |
A: 保持现状 B: 推荐:Canary 1B v2;快速:Parakeet Ultra;提示:Whisper turbo |
Canary v2 12.76(-6.22 个百分点,对比 Ultra;-11.54 个百分点,对比 v3),Ultra 18.98,Whisper 20.56,v3 24.30。 | 高 | 0.4.1 |
mk |
马其顿语 | 推荐:Qwen 0.6B 提示:Whisper turbo |
A/B: 推荐:Whisper turbo | Whisper turbo 17.85,Qwen 1.7B 18.22,对比 Qwen 0.6B 35.09(-17.24 个百分点)。 | 高 | 0.2.4 |
fil |
菲律宾语 | 推荐:Qwen 0.6B 提示:Whisper turbo |
A/B: 推荐:Whisper turbo | Whisper turbo 12.08(tl 运行时提示)对比 Qwen 1.7B 24.29、Qwen 0.6B 35.43(-23.35 个百分点)。 |
高 | 0.2.4 |
2. 新增目录条目(小目录规则)¶
只有在多个语言上以 >1.5 points 的优势获评为 Recommended(推荐)或 Most accurate(最准确),或对某个主要语言有实质性提升的模型,才能获得 MODELS(src/transcription_models.rs)中的位置。有三个模型符合条件;七个候选被拒绝。
符合条件的新增条目(Phase B,transcribe-cpp 0.4.1)¶
TranscriptionModelId |
线上名称 | 显示名称 | 大小(Q8_0) | 速度(M4 Max) | 许可证 | 固定产物仓库 / 文件名 | 架构 / 变体 | 角色 |
|---|---|---|---|---|---|---|---|---|
ParakeetUltra |
parakeet_ultra |
Parakeet Ultra |
~740 MB | ~207x | CC-BY-4.0 | handy-computer/parakeet-ultra-ggufparakeet-ultra-Q8_0.gguf |
parakeet / ultra-0.6b |
在 24 个欧盟语言的选单中取代 ParakeetV3(Rec 用于 20 个语言,Fast 用于 4 个);0.4.1 中具有 30 秒暂停感知 VAD 切分。 |
Canary1BV2 |
canary_1b_v2 |
Canary 1B v2 |
~1.14 GB | ~105x | CC-BY-4.0 | handy-computer/canary-1b-v2-ggufcanary-1b-v2-Q8_0.gguf |
canary / canary-1b-v2 |
对 lv、sl 为 Rec(对比 Ultra -6.2 到 -7.6 个百分点);对 bg、cs、da、et、hr、lt、ro 为 Acc(-1.7 到 -4.6 个百分点)。必须显式指定语言(supports_language_detection: false)。 |
Qwen3Asr17B |
qwen3_asr17_b |
Qwen3-ASR 1.7B |
2.19 GB | ~45x | Apache-2.0 | handy-computer/Qwen3-ASR-1.7B-ggufQwen3-ASR-1.7B-Q8_0.gguf |
qwen3_asr / qwen3-asr-1.7b |
对 auto、yue、ko、hi、vi、th、id、fa 为 Acc(en 待审核);在 0.4.1 中支持词汇提示,且没有 0.6B 的词典回声问题。 |
(注:MoonshineStreamingSmall 在 docs/plans/transcription-quality.md 的 Phase 6 中单独跟踪,作为取代 libmoonshine 的内部语音命令识别器,而非听写选择器条目。)
已在 Phase A(0.2.4)解锁的已随附模型¶
CohereTranscribe(cohere_transcribe,2.41 GB,Apache-2.0): 已编译进MODELS,并在COHERE_LANGUAGES(src/transcription_models.rs:243-245)中包含"el"、"ar"、"vi",但目前仅对"en"提供。将其公开为希腊语(el,8.96% 对比 Parakeet v3 35.33%)的Recommended和阿拉伯语(ar,13.60% 对比 Qwen 0.6B 24.51%)的Most accurate不需要新增任何目录条目。
被拒绝的候选¶
Fun-ASR-MLT-Nano-2512(891 MB,FunASR 模型许可证 v1.1): 仅在日语上表现突出(CER2.10%,对比 Whisper turbo4.82%),这看起来像是 FLEURS 训练集重叠;它带有包含禁止诋毁终止条款的自定义许可证,并默认启用 ITN。除非非 FLEURS 日语基准确认有实际增益,否则暂缓引入。Fun-ASR-Nano-2512(891 MB,FunASR 许可证): 在zh上落后Qwen 0.6B(8.59% 对比 7.57%),在ja上落后Whisper turbo(8.50% 对比 4.82%)。Cohere Transcribe Arabic(cohere-transcribe-arabic-07-2026,2.41 GB,Apache-2.0): 从受限的上游仓库下载单一语言的 2.41 GB 文件,换来的只是相对于已随附的 14 语言CohereTranscribe的 2.54 个百分点提升(ar上11.06%对比13.60%)。Whisper large-v3(1.67 GB,Apache-2.0): 体积是Whisper turbo的 2 倍且速度更慢;只在Qwen3-ASR已经胜出的语言(yue、th)或打平的语言(mk)上实质性地超过 turbo。Voxtral Mini 3B 2507(Apache-2.0,13x Metal): 在fr/it/nl/pt上与ParakeetUltra差距在 0.15–0.32 个百分点以内,但速度只有其 1/15。Nemotron 3.5 ASR Streaming 0.6B(751 MB,OpenMDW-1.1): 在英语(10.51%)和欧洲语言(de10.33%,fr10.78%)上的准确率出现回退。Granite Speech 4.1 2B/5.0 2B(Apache-2.0):4.1未能超过 Unified/Whisper;5.0 2B(Open ASR 排行榜上 5.06%)尚未移植到transcribe.cpp。
3. 英语模型决策¶
ParakeetUnifiedEnglish(parakeet_unified_en,731 MB,约 188x Metal,3.99% FLEURS en)仍然是英语的默认(Recommended)模型。它是 Hex 目录中唯一在热键捕获期间于 GPU 上流式处理的模型(streams: true),因此将默认模型切换为纯离线模型(parakeet-ultra 或 Qwen3-ASR 1.7B)会在每次听写片段上牺牲从松键到粘贴的延迟。
两项决策取决于 Kit 正在进行的自录语音审计(ses_e98f7b094ffe1Q3KtZFS6Np4KL,比较 ParakeetUnifiedEnglish、Qwen3-ASR 1.7B 与 parakeet-ultra):
- 默认(
Recommended)阈值: 除非parakeet-ultra或Qwen3-ASR 1.7B在 Kit 的真实听写语料上,在考虑共享词汇(transcription-quality.md的第 2/4 阶段)之后,以 >= 1.5 个 WER 百分点 胜过ParakeetUnifiedEnglish,并且在 10 秒片段上保持发布后转录 p95 延迟 <= 150 ms,否则继续将ParakeetUnifiedEnglish作为Recommended。 Most accurate槽位(Qwen3-ASR 1.7B对比CohereTranscribe):CohereTranscribe仅在朗读有声书(LibriSpeech clean 1.27%)上领先,而Qwen3-ASR 1.7B在 FLEURSen(3.23% vs 5.08%,-1.85 个百分点)和 9 数据集 Open ASR Leaderboard(5.75% vs 6.26%)上均胜过它,体积略小(2.19 GB vs 2.41 GB),并在0.4.1中增加了词汇提示支持。如果在ses_e98f7b094ffe1Q3KtZFS6Np4KL上Qwen3-ASR 1.7B与CohereTranscribe持平或胜出,则在 Phase B 中用Qwen3-ASR 1.7B替换CohereTranscribe作为英语Most accurate。
4. 发布前验证¶
在锁定有争议的行之前,通过 cargo run --release -- benchmark-transcription 在 30–50 个片段的子集上运行有针对性的本地检查:
- 粤语(
yue)文字规范化(0.2.4,Phase A 之前):- 需验证的说法:
SenseVoice Small(37.44% CER)和Whisper turbo(34.62% CER)是败在粤语声学上,还是仅仅针对繁体 FLEURS 参考输出了简体字? - 验证方法: 对 30 个
yue片段运行Qwen3Asr06B、SenseVoiceSmall和WhisperLargeV3Turbo,并分别对原始 CER 和经繁体/简体规范化的 CER 评分。即使规范化后的 CER 有所改善,也要检查用粤语听写的用户是否收到预期的繁体文本。
- 需验证的说法:
- 随附
CohereTranscribe的希腊语(el)和阿拉伯语(ar)(0.2.4,Phase A 之前):- 需验证的说法: 确认
CohereTranscribe在 Hex 的 35 秒分块上限(src/transcription_models.rs:597-609中的max_audio_chunk_samples)下能否正常加载并转写el和ar,并在 30 个片段子集上与约 9%(el)/ 约 13.6%(ar)的 FLEURS WER 相符。
- 需验证的说法: 确认
Canary 1B v2语言条件化(0.4.1,Phase B 之前):- 需验证的说法: 验证
canary-1b-v2-Q8_0.gguf是否遵循RunOptions对lv、sl、da、ro、cs、hr、lt、bg、et的语言提示,而无需--prefix变通方案,并测量 M 系列 Metal 的加载/预热时间和 RSS。
- 需验证的说法: 验证
Qwen3-ASR 0.6B对比1.7B词汇提示(0.4.1,Phase B /transcription-quality.md第 3 阶段):- 需验证的说法:
transcribe.cpp指出,0.6B比1.7B更频繁地将--vocabulary词典词回显到输出中。在仅对0.6B(而非1.7B)设置supports_recognition_hints: true之前,先在两个模型上运行第 1 阶段无术语防护集(transcription-quality.md)。
- 需验证的说法:
Fun-ASR-MLT-Nano-2512日语离群值(可选,仅当后续考虑添加时):- 需验证的说法: 在 30 个非 FLEURS 日语片段(Common Voice
ja)上测试Fun-ASR-MLT与Whisper turbo,看看2.10%CER 是真实表现还是 FLEURS 训练污染。
- 需验证的说法: 在 30 个非 FLEURS 日语片段(Common Voice
5. 迁移¶
更改 choices_for_runtime 和添加目录条目决不能干扰现有安装:
- 绝不自动切换或自动下载:
AppSettings::load_from(src/app_settings.rs:1086)通过transcription_models::validate(&settings.transcription)(src/transcription_models.rs:569-591)验证已保存的选择;该验证会检查model.available()和model.supports_language(&selection.language)— 而非choices_for_runtime()。- 如果用户保存的选择是
(ParakeetV3, "de")、(ParakeetV3, "el")或(Qwen3Asr06B, "tr"),升级后会保留完全相同的模型和语言,零后台下载、零迁移。 ParakeetV3("parakeet_v3")、CohereTranscribe("cohere_transcribe")、Qwen3Asr06B("qwen3_asr06_b")和SenseVoiceSmall("sense_voice_small")在MODELS中保持available() == true,并具有稳定的传输名称。
- 菜单栏选择器保持原样:
src/macos_rune/status_item.rs:340列出所有满足available()且is_installed()的MODELS,并通过transcription_recents记住每个模型上次使用的语言。已安装ParakeetV3的用户仍可在菜单栏中切换到该模型或从该模型切走。
- 在设置选择器(
src/rune_ui/picker.rs)中保持已激活/已安装的旧模型可见且可删除:- 目前
picker::modal(src/rune_ui/picker.rs:170)只渲染choices_for_runtime(&language)中的卡片。如果用户在ParakeetUltra取代choices_for_runtime("fr")中的ParakeetV3之后升级,且法语上仍激活ParakeetV3(或在磁盘上安装占用 740 MB),ParakeetV3会从法语选择器弹窗中消失,同时隐藏其Active指示器和Delete按钮。 - 修复
picker.rs: 将ModelChoice::recommendation改为Option<Recommendation>(或在picker::modal中追加尾部迭代器),适用于MODELS中支持language、尚未包含在choices_for_runtime(&language)中、并且是用户当前为language激活的选择或is_installed()的任意模型。渲染其卡片时不带推荐徽章,以便用户看到Active,并可在切换到新的Recommended模型后点击Delete回收 740 MB / 850 MB 空间。
- 目前
6. 阶段划分及与 transcription-quality.md 的集成¶
Rollout timeline
├── Phase A (now, on transcribe-cpp 0.2.4, 0.5d)
│ └── Pure routing & picker cleanup in src/transcription_models.rs + src/rune_ui/picker.rs
└── Phase B (with transcription-quality.md Phase 3, transcribe-cpp 0.4.1, +1d)
└── Add ParakeetUltra, Canary1BV2, Qwen3Asr17B + full European/Asian table
阶段 A:针对 0.2.4 的即时路由修复(工作量:0.5 天)¶
在任何 crate 版本升级或新模型下载之前,立即随版发布:
src/transcription_models.rs(choices_for_runtime):- 在
PARAKEET_V3_LANGUAGES分支之前,将"el"(希腊语)路由到[Rec: CohereTranscribe, Hint: WhisperLargeV3Turbo]。 - 将
"fi"和"sv"路由到[Rec: WhisperLargeV3Turbo, Fast: ParakeetV3]。 - 将
"da"路由到[Rec: WhisperLargeV3Turbo, Fast: ParakeetV3](直到ParakeetUltra和Canary1BV2在阶段 B 中落地)。 - 将
"ja"路由到[Rec: WhisperLargeV3Turbo, Fast: SenseVoiceSmall]。 - 从
"yue"和"ko"中移除SenseVoiceSmall(Fastest)。 - 拆分
QWEN_LANGUAGES分支:在"hi" | "vi" | "th" | "id"上保留Qwen3Asr06B作为Recommended(在"vi"上添加Acc: CohereTranscribe),并将"ar" | "tr" | "ms" | "fil" | "fa" | "mk"路由到Rec: WhisperLargeV3Turbo(在"ar"上添加Acc: CohereTranscribe)。 - 在
AUTO_LANGUAGE中:移除SenseVoiceSmall,并将Qwen3Asr06B从第二个Recommended改为Fastest([Rec: WhisperLargeV3Turbo, Fast: Qwen3Asr06B])。 - 在
"mt"(马耳他语)中:在RecognitionHints中省略WhisperLargeV3Turbo,因为其 WER 达到 70.92%。
- 在
src/rune_ui/picker.rs:- 显示已安装或活动模型中支持
language但已不再出现在choices_for_runtime(&language)中的条目,并且不显示推荐徽章,以便用户能看到自己的活动模型并删除旧权重。 - 更新
src/transcription_models.rs中的单元测试。
- 显示已安装或活动模型中支持
阶段 B:使用 transcribe-cpp 0.4.1 的新模型(工作量:在 docs/plans/transcription-quality.md 阶段 3 内额外 +1 天)¶
直接集成到 docs/plans/transcription-quality.md 的阶段 3(该阶段已为 0.2.4 -> 0.4.1 升级和 ParakeetUltra 预留了 2 天):
- 在
MODELS中固定ParakeetUltra、Canary1BV2和Qwen3Asr17B,并附上已验证的字节数和 SHA-256 校验和。 - 将
PARAKEET_V3_LANGUAGES分支从ParakeetV3切换到ParakeetUltra;在lv、sl上将Canary1BV2设为Recommended(ParakeetUltra作为Fastest),并在bg、cs、da、et、hr、lt、ro上设为Most accurate。 - 将
Qwen3Asr17B设为Most accurate,应用于auto、yue、ko、hi、vi、th、id、fa,以及(若经ses_e98f7b094ffe1Q3KtZFS6Np4KL确认)en。 - 在
Qwen3Asr17B上启用supports_recognition_hints: true(若Qwen3Asr06B通过阶段 4 的词典回声检查,也为其启用)。
给 Kit 的决策¶
- 现在发布阶段 A(在
0.2.4上修复el、tr、mk、ar、ms、fil、fa、ja、fi、sv、auto),还是把所有内容合并到0.4.1升级中?- 建议: 立即发布阶段 A(0.5 天) —— 它使用 Hex 已内置的模型修复了有问题的默认路由,例如希腊语(35.3% -> 9.0% WER)、菲律宾语(35.4% -> 12.1%)、波斯语(50.3% -> 30.6%)、马其顿语(35.1% -> 17.9%)和土耳其语(16.7% -> 7.0%)。
- 哪些新模型能在阶段 B 中与
ParakeetUltra一起获得目录名额:同时加入Canary 1B v2(1.14 GB)和Qwen3-ASR 1.7B(2.19 GB),还是只加入其中一个?- 建议: 同时加入
Canary 1B v2和Qwen3-ASR 1.7B(加上ParakeetUltra共 3 个新模型),并拒绝其他 7 个候选模型 ——Canary 1B v2在 9 种欧洲语言上将 WER 降低了 1.7–7.6 个百分点,而Qwen3-ASR 1.7B在Auto、亚洲/中东语言以及可能包括英语上属于Most accurate档。
- 建议: 同时加入
- 在拉脱维亚语(
lv)和斯洛文尼亚语(sl)上,ParakeetUltra的 WER 为 18–19%,而Canary 1B v2为 10.4–12.8%,Canary 1B v2应该是Recommended(默认下载 1.14 GB)还是Most accurate?- 建议: 在
lv和sl上将Canary 1B v2设为Recommended,将ParakeetUltra设为Fastest—— 在 105 倍实时速度下 WER 下降 6.2 到 7.6 个百分点(几乎将错误减半),值得在首次下载时多占用 400 MB。
- 建议: 在
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 hex19/hex