내 목소리를 학습한 음성 AI 모델인 TTS를 만들어봤다.
요즘 TTS는 한국 모델들의 성능이 매우 좋다. (펄럭.)
그런데? 영어만. 한국어는? 비공개~ ^0^~
그래서 그냥 내가 한번 학습 코드를 만들어 봤다.

XTTS v2는 꽤 오래된 모델이고 학습하는 코드가 널렸다.
한국어를 학습시키는 깃허브가 없어서 짜집기해서 만들어 봤다.
성격이 급하신 분들을 위해 먼저 코드부터 공유.
깃허브 링크는 여기.
GitHub - HiMyNameIsDavidKim/xtts_training_ko: XTTS v2 training (fine-tuning) on Korean, XTTS v2 한국어 학습 (파인튜닝)
XTTS v2 training (fine-tuning) on Korean, XTTS v2 한국어 학습 (파인튜닝) - HiMyNameIsDavidKim/xtts_training_ko
github.com
1. 데이터셋
AI 모델을 학습하려면 데이터셋이 필요하다.
이게 사실 엄청난 장벽에 가깝다.
이 프로젝트는 간단하게 내 목소리를 녹음만 하면 가능하다.
음성 쪽에 보편적인 데이터셋 구조가 있는데 (LJSpeech)
이 구조에 맞게 자동으로 구축되도록 코드를 짜놨다.
내 목소리를 녹음해서 시키는대로 맞는 위치에 저장만 하고 실행하면 된다.
혹시나 내 목소리가 마음에 안드는 셀프 헤이러들을 위해
유튜브에서 동영상을 받아 실행하는 것도 가능하게 해놨다.
(유튜버의 음성을 상업적으로 사용하는 것은 저작권에 위배되는 일이므로 주의)
# 음성 파일으로 데이터셋 구축
python build_dataset.py --existing_audio ./data/my_voice_audio.mp3
# 유튜브 영상으로 데이터셋 구축
python build_dataset.py --youtube_url '<YOUTUBE_VIDEO_URL>'
2. 학습
XTTS v2 모델을 내가만든 수제 DIY 한국어 데이터셋으로 파인튜닝 (fine-tuning)한다.
또한 텐서보드를 켜면 학습하는 과정을 볼 수 있다.
이 과정을 보고 하이퍼파라미터 (특히, lr)을 잘 조절하면 더 좋은 모델을 얻을 수 있다.
python train_gpt_xtts.py
tensorboard --logdir=./run/training
3. 데모
학습이 끝나면 어떠한 문장도 읽게 만들 수 있다.
python trained_demo.py
다른 기타 설명은 깃허브 README를 참고하면 된다.
깃허브 링크는 여기.
GitHub - HiMyNameIsDavidKim/xtts_training_ko: XTTS v2 training (fine-tuning) on Korean, XTTS v2 한국어 학습 (파인튜닝)
XTTS v2 training (fine-tuning) on Korean, XTTS v2 한국어 학습 (파인튜닝) - HiMyNameIsDavidKim/xtts_training_ko
github.com
그런데 이렇게 학습한 뒤 실제 목소리를 들어보면
그렇게 좋은 성능이 아닌 것을 알 수 있다.
XTTS v2를 최대한 잘 학습했으나 여전히 좀 어색한 감이 있다.
그래서 이 XTTS v2는 더이상 개발을 지원하지 않는다.
coqui/XTTS-v2 · Hugging Face
ⓍTTS ⓍTTS is a Voice generation model that lets you clone voices into different languages by using just a quick 6-second audio clip. There is no need for an excessive amount of training data that spans countless hours. This is the same or similar model
huggingface.co
그 이유는 zero-shot TTS들의 성능이 미쳐 돌아가기 때문이다.
그 대표적인 예시가 supertonic 모델이다.
Supertone/supertonic · Hugging Face
Supertonic — Lightning Fast, On-Device TTS Supertonic is a lightning-fast, on-device text-to-speech system designed for extreme performance with minimal computational overhead. Powered by ONNX Runtime, it runs entirely on your device—no cloud, no API c
huggingface.co
MS에서도 VibeVoice 라는 모델을 출시 했다.
microsoft/VibeVoice-Realtime-0.5B · Hugging Face
VibeVoice: A Frontier Open-Source Text-to-Speech Model VibeVoice-Realtime is a lightweight real‑time text-to-speech model supporting streaming text input and robust long-form speech generation. It can be used to build realtime TTS services, narrate live
huggingface.co
요즘에는 학습을 안해도 충분히 좋은 성능들을 보인다.
zero-shot TTS는 레퍼런스하는 짧은 음성 (30초 이내) 만 있어도 잘 돌아간다는 말이다.
학습 단계가 필요 없고 그냥 레퍼런스만 해주면 잘 되는 것.
그리고 zero-shot에 한국어가 가능한 모델들은 조금만 찾아보면 많이 나온다.
그러니 어쩌면 학습하는 방법을 아는 것보다 얘네를 쓰는 방법을 아는게 나을지도 ㅎㅁㅎ
아차차! 그런데 이제 한국어는 비공개지? 하하하~
끝.
'사이드 프로젝트' 카테고리의 다른 글
| 이미지 설명 생성 AI 모델 만들기, 깃허브, 코드, CLIP, sLLM, MLP (0) | 2025.12.17 |
|---|