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