File size: 1,391 Bytes
f8b4a6c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
from . import cleaned_text_to_sequence
import copy
_language_modules = {}
def _get_language_module(language):
"""Lazy import language modules to avoid unnecessary dependencies."""
if language == 'VI':
from . import vietnamese
_language_modules['VI'] = vietnamese
else:
raise ValueError(f"Unsupported language: {language}")
return _language_modules[language]
def clean_text(text, language):
language_module = _get_language_module(language)
norm_text = language_module.text_normalize(text)
phones, tones, word2ph = language_module.g2p(norm_text)
return norm_text, phones, tones, word2ph
def clean_text_bert(text, language, device=None):
language_module = _get_language_module(language)
norm_text = language_module.text_normalize(text)
phones, tones, word2ph = language_module.g2p(norm_text)
word2ph_bak = copy.deepcopy(word2ph)
for i in range(len(word2ph)):
word2ph[i] = word2ph[i] * 2
word2ph[0] += 1
bert = language_module.get_bert_feature(norm_text, word2ph, device=device)
return norm_text, phones, tones, word2ph_bak, bert
def text_to_sequence(text, language):
norm_text, phones, tones, word2ph = clean_text(text, language)
return cleaned_text_to_sequence(phones, tones, language)
if __name__ == "__main__":
pass |