Spaces:
Running
Running
File size: 1,577 Bytes
4300fed |
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 |
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) |