Spaces:
Running
Running
from melo.api import TTS | |
import os | |
import glob | |
import sys | |
language = sys.argv[1] | |
model = TTS(language=language) | |
speaker_ids = model.hps.data.spk2id | |
speakers = list(speaker_ids.keys()) | |
root_folder = language.lower() | |
if 'zh' in root_folder: | |
texts = open('basetts_test_resources/zh_mix_en_egs_text.txt', 'r').readlines() | |
language = 'ZH_MIX_EN' | |
elif 'es' in root_folder: | |
texts = open('basetts_test_resources/es_egs_text.txt', 'r').readlines() | |
language = 'SP' | |
elif 'fr' in root_folder: | |
texts = open('basetts_test_resources/fr_egs_text.txt', 'r').readlines() | |
language = 'FR' | |
elif 'en' in root_folder: | |
texts = open('basetts_test_resources/en_egs_text.txt', 'r').readlines() | |
# texts = ["Boss? You're not my boss, you're just a sad little person who likes to hide behind a computer screen and pretend you have power over others. "] | |
language = 'EN' | |
elif 'jp' in root_folder: | |
texts = open('basetts_test_resources/jp_egs_text.txt', 'r').readlines() | |
language = 'JP' | |
elif 'kr' in root_folder: | |
texts = open('basetts_test_resources/kr_egs_text.txt', 'r').readlines() | |
language = 'KR' | |
else: | |
raise NotImplementedError() | |
save_dir = os.path.join('basetts_outputs_package', root_folder.split('/')[-1]) | |
for speed in [1.0]: | |
for speaker in speakers: | |
for sent_id, text in enumerate(texts): | |
output_path = f'{save_dir}/{speaker}/speed_{speed}/sent_{sent_id:03d}.wav' | |
os.makedirs(os.path.dirname(output_path), exist_ok=True) | |
model.tts_to_file(text, speaker_ids[speaker], output_path, speed=speed) |