| | |
| | | |
| | | var languageProfileOrder = []string{ |
| | | DefaultLanguageID, |
| | | CantoneseLanguageID, |
| | | EnglishLanguageID, |
| | | FrenchLanguageID, |
| | | GermanLanguageID, |
| | |
| | | ProviderOrder: []string{"cpu"}, |
| | | NumThreads: 1, |
| | | }, |
| | | SenseVoiceYueModelID: { |
| | | ID: SenseVoiceYueModelID, |
| | | DisplayName: "SenseVoice Yue", |
| | | BackendKind: BackendSenseVoice, |
| | | Tier: "default", |
| | | SupportedLanguageIDs: []string{CantoneseLanguageID}, |
| | | RecommendedFor: []string{CantoneseLanguageID}, |
| | | Description: "粤语专项离线模型,基于 SenseVoice 并使用粤语数据增强。", |
| | | ApproxSize: "约 226 MiB 模型文件;下载包大小以实际 HTTP HEAD 为准", |
| | | LanguageParam: "yue", |
| | | DownloadURLs: []string{ |
| | | "https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-int8-2025-09-09.tar.bz2", |
| | | }, |
| | | InstallDirName: "sensevoice-yue-2025-09-09", |
| | | RequiredFiles: []RequiredFileRule{ |
| | | { |
| | | Role: "model", |
| | | AllOf: []string{"model.int8.onnx"}, |
| | | Required: true, |
| | | }, |
| | | { |
| | | Role: "tokens", |
| | | AllOf: []string{"tokens.txt"}, |
| | | Required: true, |
| | | }, |
| | | }, |
| | | ProviderOrder: []string{"coreml", "cpu"}, |
| | | NumThreads: 4, |
| | | }, |
| | | } |
| | | |
| | | var languageProfiles = map[string]LanguageProfile{ |
| | |
| | | SystemMatchers: []string{"zh", "zh-CN", "zh-Hans", "zh-Hant"}, |
| | | DefaultModelID: DefaultModelID, |
| | | UpgradeModelIDs: []string{Qwen3ASRModelID, XASRZhEn960ModelID}, |
| | | }, |
| | | CantoneseLanguageID: { |
| | | ID: CantoneseLanguageID, |
| | | DisplayName: "Cantonese", |
| | | NativeName: "粤语", |
| | | UILocale: "zh", |
| | | SystemMatchers: []string{"yue", "yue-HK"}, |
| | | DefaultModelID: SenseVoiceYueModelID, |
| | | }, |
| | | EnglishLanguageID: { |
| | | ID: EnglishLanguageID, |
| | |
| | | } |
| | | |
| | | func NormalizeLanguageID(id string) string { |
| | | if id == "yue" { |
| | | return CantoneseLanguageID |
| | | } |
| | | if _, err := GetLanguageProfile(id); err != nil { |
| | | return DefaultLanguageID |
| | | } |