coqui-tts/utils/speakers.py

31 lines
947 B
Python

import os
import json
def make_speakers_json_path(out_path):
"""Returns conventional speakers.json location."""
return os.path.join(out_path, "speakers.json")
def load_speaker_mapping(out_path):
"""Loads speaker mapping if already present."""
try:
with open(make_speakers_json_path(out_path)) as f:
return json.load(f)
except FileNotFoundError:
return {}
def save_speaker_mapping(out_path, speaker_mapping):
"""Saves speaker mapping if not yet present."""
speakers_json_path = make_speakers_json_path(out_path)
with open(speakers_json_path, "w") as f:
json.dump(speaker_mapping, f, indent=4)
def copy_speaker_mapping(out_path_a, out_path_b):
"""Copies a speaker mapping when restoring a model from a previous path."""
speaker_mapping = load_speaker_mapping(out_path_a)
if speaker_mapping is not None:
save_speaker_mapping(out_path_b, speaker_mapping)