mirror of https://github.com/coqui-ai/TTS.git
import the spacy language class dynamically with a English fallback when import error
This commit is contained in:
parent
dbf1a08a0d
commit
8aeced16fc
|
@ -8,29 +8,21 @@ import torch
|
||||||
from hangul_romanize import Transliter
|
from hangul_romanize import Transliter
|
||||||
from hangul_romanize.rule import academic
|
from hangul_romanize.rule import academic
|
||||||
from num2words import num2words
|
from num2words import num2words
|
||||||
from spacy.lang.ar import Arabic
|
|
||||||
from spacy.lang.en import English
|
from spacy.lang.en import English
|
||||||
from spacy.lang.es import Spanish
|
from spacy.util import get_lang_class
|
||||||
from spacy.lang.ja import Japanese
|
|
||||||
from spacy.lang.zh import Chinese
|
|
||||||
from tokenizers import Tokenizer
|
from tokenizers import Tokenizer
|
||||||
|
|
||||||
from TTS.tts.layers.xtts.zh_num2words import TextNorm as zh_num2words
|
from TTS.tts.layers.xtts.zh_num2words import TextNorm as zh_num2words
|
||||||
|
|
||||||
|
|
||||||
def get_spacy_lang(lang):
|
def get_spacy_lang(lang):
|
||||||
if lang == "zh":
|
try:
|
||||||
return Chinese()
|
lang_model = get_lang_class(lang)()
|
||||||
elif lang == "ja":
|
except ImportError:
|
||||||
return Japanese()
|
# Fallback to English if the language model is not available
|
||||||
elif lang == "ar":
|
lang_model = English()
|
||||||
return Arabic()
|
return lang_model
|
||||||
elif lang == "es":
|
|
||||||
return Spanish()
|
|
||||||
else:
|
|
||||||
# For most languages, Enlish does the job
|
|
||||||
return English()
|
|
||||||
|
|
||||||
|
|
||||||
def split_sentence(text, lang, text_split_length=250):
|
def split_sentence(text, lang, text_split_length=250):
|
||||||
"""Preprocess the input text"""
|
"""Preprocess the input text"""
|
||||||
|
|
Loading…
Reference in New Issue