mirror of
https://github.com/denizsafak/abogen.git
synced 2026-09-20 11:40:57 +02:00
Fix spaCy unknown language error: map Kokoro single-letter codes to Language enum in get_spacy_model
This commit is contained in:
+21
-5
@@ -21,6 +21,19 @@ SPACY_MODELS = {
|
|||||||
Language.HI: "xx_sent_ud_sm",
|
Language.HI: "xx_sent_ud_sm",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Kokoro single-letter codes -> Language enum (inverse of pipeline_factory._KOKORO_LANG_MAP)
|
||||||
|
_KOKORO_TO_LANGUAGE = {
|
||||||
|
"a": Language.EN_US,
|
||||||
|
"b": Language.EN_GB,
|
||||||
|
"e": Language.ES,
|
||||||
|
"f": Language.FR,
|
||||||
|
"h": Language.HI,
|
||||||
|
"i": Language.IT,
|
||||||
|
"j": Language.JA,
|
||||||
|
"p": Language.PT_BR,
|
||||||
|
"z": Language.ZH,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
def _load_spacy():
|
def _load_spacy():
|
||||||
"""Lazy load spaCy module."""
|
"""Lazy load spaCy module."""
|
||||||
@@ -61,11 +74,14 @@ def get_spacy_model(lang_code, log_callback=None):
|
|||||||
|
|
||||||
# Normalize to Language enum
|
# Normalize to Language enum
|
||||||
if not isinstance(lang_code, Language):
|
if not isinstance(lang_code, Language):
|
||||||
try:
|
if isinstance(lang_code, str) and lang_code in _KOKORO_TO_LANGUAGE:
|
||||||
lang_code = Language.from_str(lang_code)
|
lang_code = _KOKORO_TO_LANGUAGE[lang_code]
|
||||||
except ValueError:
|
else:
|
||||||
log(f"\nspaCy: Unknown language '{lang_code}'...")
|
try:
|
||||||
return None
|
lang_code = Language.from_str(lang_code)
|
||||||
|
except ValueError:
|
||||||
|
log(f"\nspaCy: Unknown language '{lang_code}'...")
|
||||||
|
return None
|
||||||
|
|
||||||
# Check if model is cached
|
# Check if model is cached
|
||||||
if lang_code in _nlp_cache:
|
if lang_code in _nlp_cache:
|
||||||
|
|||||||
Reference in New Issue
Block a user