refactor(vosk): share the medium and large language table
The medium and large entries carried the same 22-language table verbatim. Hoist it into _BEST_AVAILABLE_LANGUAGES and give each entry a dict() copy, so the two sizes keep independent mappings. Values are unchanged (the old literals were asserted equal before the move).
This commit is contained in:
@@ -196,6 +196,34 @@ SUPPORTED_LANGUAGES = {
|
||||
}
|
||||
|
||||
|
||||
# medium and large ship the same best-available table. Each entry gets a copy so
|
||||
# no caller can change one size's languages through the other.
|
||||
_BEST_AVAILABLE_LANGUAGES: dict[str, str] = {
|
||||
"en-us": "vosk-model-en-us-0.22",
|
||||
"en-in": "vosk-model-en-in-0.5",
|
||||
"ar": "vosk-model-ar-0.22-linto-1.1.0",
|
||||
"ca": "vosk-model-small-ca-0.4",
|
||||
"zh": "vosk-model-cn-0.22",
|
||||
"cs": "vosk-model-small-cs-0.4-rhasspy",
|
||||
"nl": "vosk-model-nl-spraakherkenning-0.6",
|
||||
"fr": "vosk-model-fr-0.22",
|
||||
"de": "vosk-model-de-0.21",
|
||||
"hi": "vosk-model-hi-0.22",
|
||||
"it": "vosk-model-it-0.22",
|
||||
"ja": "vosk-model-ja-0.22",
|
||||
"ko": "vosk-model-small-ko-0.22",
|
||||
"fa": "vosk-model-fa-0.42",
|
||||
"pl": "vosk-model-small-pl-0.22",
|
||||
"pt": "vosk-model-pt-fb-v0.1.1-pruned",
|
||||
"ru": "vosk-model-ru-0.22",
|
||||
"es": "vosk-model-es-0.42",
|
||||
"sv": "vosk-model-small-sv-rhasspy-0.15",
|
||||
"tr": "vosk-model-small-tr-0.3",
|
||||
"uk": "vosk-model-uk-v3",
|
||||
"vi": "vosk-model-vn-0.4",
|
||||
}
|
||||
|
||||
|
||||
# VOSK model metadata for display and download path resolution.
|
||||
# When Alphacephei only ships a small model, medium/large point at that same
|
||||
# zip so size selection never resolves to None (issue #550).
|
||||
@@ -231,58 +259,12 @@ VOSK_MODEL_INFO = {
|
||||
"medium": {
|
||||
"size_mb": 1500,
|
||||
"desc": "Balanced accuracy/speed",
|
||||
"languages": {
|
||||
"en-us": "vosk-model-en-us-0.22",
|
||||
"en-in": "vosk-model-en-in-0.5",
|
||||
"ar": "vosk-model-ar-0.22-linto-1.1.0",
|
||||
"ca": "vosk-model-small-ca-0.4",
|
||||
"zh": "vosk-model-cn-0.22",
|
||||
"cs": "vosk-model-small-cs-0.4-rhasspy",
|
||||
"nl": "vosk-model-nl-spraakherkenning-0.6",
|
||||
"fr": "vosk-model-fr-0.22",
|
||||
"de": "vosk-model-de-0.21",
|
||||
"hi": "vosk-model-hi-0.22",
|
||||
"it": "vosk-model-it-0.22",
|
||||
"ja": "vosk-model-ja-0.22",
|
||||
"ko": "vosk-model-small-ko-0.22",
|
||||
"fa": "vosk-model-fa-0.42",
|
||||
"pl": "vosk-model-small-pl-0.22",
|
||||
"pt": "vosk-model-pt-fb-v0.1.1-pruned",
|
||||
"ru": "vosk-model-ru-0.22",
|
||||
"es": "vosk-model-es-0.42",
|
||||
"sv": "vosk-model-small-sv-rhasspy-0.15",
|
||||
"tr": "vosk-model-small-tr-0.3",
|
||||
"uk": "vosk-model-uk-v3",
|
||||
"vi": "vosk-model-vn-0.4",
|
||||
},
|
||||
"languages": dict(_BEST_AVAILABLE_LANGUAGES),
|
||||
},
|
||||
"large": {
|
||||
"size_mb": 1500,
|
||||
"desc": "Same as medium (best available)",
|
||||
"languages": {
|
||||
"en-us": "vosk-model-en-us-0.22",
|
||||
"en-in": "vosk-model-en-in-0.5",
|
||||
"ar": "vosk-model-ar-0.22-linto-1.1.0",
|
||||
"ca": "vosk-model-small-ca-0.4",
|
||||
"zh": "vosk-model-cn-0.22",
|
||||
"cs": "vosk-model-small-cs-0.4-rhasspy",
|
||||
"nl": "vosk-model-nl-spraakherkenning-0.6",
|
||||
"fr": "vosk-model-fr-0.22",
|
||||
"de": "vosk-model-de-0.21",
|
||||
"hi": "vosk-model-hi-0.22",
|
||||
"it": "vosk-model-it-0.22",
|
||||
"ja": "vosk-model-ja-0.22",
|
||||
"ko": "vosk-model-small-ko-0.22",
|
||||
"fa": "vosk-model-fa-0.42",
|
||||
"pl": "vosk-model-small-pl-0.22",
|
||||
"pt": "vosk-model-pt-fb-v0.1.1-pruned",
|
||||
"ru": "vosk-model-ru-0.22",
|
||||
"es": "vosk-model-es-0.42",
|
||||
"sv": "vosk-model-small-sv-rhasspy-0.15",
|
||||
"tr": "vosk-model-small-tr-0.3",
|
||||
"uk": "vosk-model-uk-v3",
|
||||
"vi": "vosk-model-vn-0.4",
|
||||
},
|
||||
"languages": dict(_BEST_AVAILABLE_LANGUAGES),
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user