| 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() |
| |
| 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) |