Add local MeloTTS support

This commit is contained in:
2026-05-03 01:56:09 +09:00
parent 3360015179
commit ad357a6ede
13 changed files with 396 additions and 3 deletions

View File

@@ -0,0 +1,36 @@
import argparse
from pathlib import Path
from melo.api import TTS
def main() -> None:
parser = argparse.ArgumentParser()
parser.add_argument("--text", required=True)
parser.add_argument("--output", required=True)
parser.add_argument("--language", default="KR")
parser.add_argument("--speaker", default="KR")
parser.add_argument("--speed", type=float, default=1.0)
parser.add_argument("--device", default="cpu")
args = parser.parse_args()
output_path = Path(args.output)
output_path.parent.mkdir(parents=True, exist_ok=True)
model = TTS(language=args.language, device=args.device)
speaker_ids = model.hps.data.spk2id
if args.speaker not in speaker_ids:
supported = ", ".join(sorted(speaker_ids.keys()))
raise SystemExit(f"지원하지 않는 speaker 입니다: {args.speaker}. 사용 가능: {supported}")
model.tts_to_file(
args.text,
speaker_ids[args.speaker],
str(output_path),
speed=args.speed,
)
if __name__ == "__main__":
main()