跳转至

按语言模型推荐计划

状态: 已批准于 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 卡片(例如:zh Qwen 0.6B 7.57% vs 1.7B 7.14%;ko Qwen 0.6B 5.82% vs Whisper 5.24%;id Qwen 0.6B 8.49% vs Whisper 7.20%;sk Parakeet Ultra 7.83% vs Canary v2 6.84%;de/es/fr/hu/it/nl/pl/pt/ru/uk Ultra 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-gguf
parakeet-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-gguf
canary-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-gguf
Qwen3-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): 仅在日语上表现突出(CER 2.10%,对比 Whisper turbo 4.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%)和欧洲语言(de 10.33%,fr 10.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):

  1. 默认(Recommended)阈值: 除非 parakeet-ultra 或 Qwen3-ASR 1.7B 在 Kit 的真实听写语料上,在考虑共享词汇(transcription-quality.md 的第 2/4 阶段)之后,以 >= 1.5 个 WER 百分点 胜过 ParakeetUnifiedEnglish,并且在 10 秒片段上保持发布后转录 p95 延迟 <= 150 ms,否则继续将 ParakeetUnifiedEnglish 作为 Recommended。
  2. Most accurate 槽位(Qwen3-ASR 1.7B 对比 CohereTranscribe): CohereTranscribe 仅在朗读有声书(LibriSpeech clean 1.27%)上领先,而 Qwen3-ASR 1.7B 在 FLEURS en(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 个片段的子集上运行有针对性的本地检查:

  1. 粤语(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 有所改善,也要检查用粤语听写的用户是否收到预期的繁体文本。
  2. 随附 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 相符。
  3. 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。
  4. 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)。
  5. Fun-ASR-MLT-Nano-2512 日语离群值(可选,仅当后续考虑添加时):
    • 需验证的说法: 在 30 个非 FLEURS 日语片段(Common Voice ja)上测试 Fun-ASR-MLT 与 Whisper turbo,看看 2.10% CER 是真实表现还是 FLEURS 训练污染。

5. 迁移

更改 choices_for_runtime 和添加目录条目决不能干扰现有安装:

  1. 绝不自动切换或自动下载:
    • 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,并具有稳定的传输名称。
  2. 菜单栏选择器保持原样:
    • src/macos_rune/status_item.rs:340 列出所有满足 available() 且 is_installed() 的 MODELS,并通过 transcription_recents 记住每个模型上次使用的语言。已安装 ParakeetV3 的用户仍可在菜单栏中切换到该模型或从该模型切走。
  3. 在设置选择器(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 的决策

  1. 现在发布阶段 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%)。
  2. 哪些新模型能在阶段 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 档。
  3. 在拉脱维亚语(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