edit | blame | history | raw

多语种扩展实现记录

用户目标

按已确认的三期计划实现多语种正式扩展基础能力:
- 第一期:French、German、Spanish、Italian、Portuguese,默认 Parakeet TDT v3。
- 第二期:Japanese,默认日语 Zipformer ReazonSpeech。
- 第三期:Korean,默认韩语 Zipformer。

已完成事项

  • 扩展后端语言配置,新增 frdeesitptjako
  • 扩展模型配置,新增 Parakeet TDT v3、多语种欧洲模型,以及日语/韩语 Zipformer 专项模型。
  • 新增普通 offline transducer 后端类型,供日语/韩语 Zipformer 使用,避免错误使用 Nemo transducer model type。
  • 前端语言选择从硬编码中文/英文改为以后端 LanguageSettings.Options 动态渲染。
  • 前端 i18n 增加 frdeesitptjako locale 文件,并提供英文 fallback。
  • README 更新语言与模型支持表。

文件变更

  • privatevoice.src/internal/model/profile.go
  • privatevoice.src/internal/model/registry.go
  • privatevoice.src/internal/language/detect.go
  • privatevoice.src/internal/engine/engine.go
  • privatevoice.src/internal/engine/engine_darwin.go
  • privatevoice.src/frontend/src/App.svelte
  • privatevoice.src/frontend/src/components/settings/GeneralPage.svelte
  • privatevoice.src/frontend/src/lib/stores/config.ts
  • privatevoice.src/frontend/src/lib/i18n/*
  • README.md
  • 相关 Go 单元测试文件

验证结论

  • npm run build 通过。
  • go test ./... 通过。
  • 首次并行执行 go test ./... 时因为前端 dist hash 文件尚未更新导致根包 embed 失败;前端构建完成后重跑通过。
  • Go 链接阶段存在现有 macOS / onnxruntime 版本 warning,不影响测试通过。

未决问题

  • Canary-1B-v2 和 Whisper large-v3-turbo benchmark 尚未执行。
  • 新增语言的完整人工翻译与真实语音 QA 语料仍需专项补齐。
  • 未进行真机下载大模型和真实录音识别验证。