개요
GPT-SoVITS는 RVC-Boss 팀이 개발한 오픈소스 음성 합성(TTS) 모델로, 단 1분의 음성 데이터만으로 고품질 보이스 클로닝이 가능한 혁신적인 도구입니다. 5초의 레퍼런스 음성만으로도 제로샷(Zero-Shot) 음성 합성이 가능하며, GPT 모델의 의미 이해 능력과 SoVITS의 음향 합성 능력을 결합하여 자연스러운 감정 표현과 높은 음색 유사도를 달성합니다. 한국어, 영어, 중국어, 일본어, 광둥어까지 다국어 합성을 지원하며, MIT 라이선스로 공개되어 누구나 자유롭게 사용할 수 있습니다.

기존 음성 합성 모델들의 한계
GPT-SoVITS가 왜 혁신적인지 이해하려면, 먼저 기존 음성 합성 모델들의 한계를 알아야 합니다.
Tacotron / Tacotron 2
Tacotron 2는 어텐션 메커니즘을 사용해 텍스트에서 멜-스펙트로그램을 순차적으로 생성합니다. 자연스러운 억양과 감정 표현이 가능하지만, 프레임을 하나씩 순서대로 생성하기 때문에 추론 속도가 매우 느립니다. 또한 어텐션 실패로 인해 특정 단어를 건너뛰거나 반복하는 문제가 빈번하게 발생합니다. 무엇보다 새로운 화자의 음성을 합성하려면 수 시간 이상의 음성 데이터로 처음부터 다시 학습해야 하는 구조적 한계가 있습니다.
FastSpeech / FastSpeech 2
FastSpeech는 음소의 지속 시간을 명시적으로 예측한 뒤 전체 스펙트로그램을 병렬로 한 번에 생성합니다. 이 덕분에 Tacotron 대비 약 270배 빠른 멜-스펙트로그램 생성 속도를 달성합니다. 하지만 미리 정해진 지속 시간을 기반으로 생성하기 때문에 자연스러운 감정 변화나 즉흥적인 억양 표현이 제한됩니다. 역시 새로운 화자를 위해서는 대량의 데이터와 별도 학습이 필요합니다.
VITS
VITS는 변분 오토인코더(VAE)와 적대적 학습을 결합하여 텍스트에서 직접 음성 파형을 생성하는 엔드투엔드 모델입니다. 별도의 보코더 없이도 고품질 음성을 생성할 수 있어 음성 합성의 큰 도약이었습니다. 하지만 새로운 화자 적응을 위해서는 여전히 상당량의 학습 데이터가 필요하고, 제로샷 음성 클로닝 능력이 부족합니다.
공통된 한계
- 대량 데이터 의존: 새로운 화자를 위해 수 시간 이상의 고품질 음성 데이터 필요
- 언어 제한: 대부분 단일 언어에 최적화, 다국어 지원 미흡
- 감정 표현 부족: 단조로운 감정 표현, 풍부한 억양 변화 어려움
- 높은 진입 장벽: 비전문가가 직접 학습하고 사용하기 어려움

GPT-SoVITS의 혁신적 해결책
GPT-SoVITS는 2단계 신경 코덱 TTS 시스템이라는 독창적인 아키텍처를 도입하여 기존 모델들의 한계를 극복합니다.
핵심 아키텍처: 콘텐츠와 음색의 분리
GPT-SoVITS의 가장 중요한 설계 철학은 콘텐츠(의미) 생성과 음색(화자) 특성을 분리하는 것입니다.
1단계 - GPT 모델 (Text2SemanticLightningModule)
GPT 모델은 입력 텍스트의 음소(phoneme)와 BERT 임베딩을 분석하여 시맨틱 토큰(semantic token)을 생성합니다. 이 과정에서 텍스트의 의미를 이해하고, 적절한 억양과 감정, 운율을 결정합니다. 기존 모델들이 텍스트를 단순히 음소 단위로 처리한 것과 달리, GPT의 문맥 이해 능력을 활용하여 더욱 자연스러운 발화를 생성합니다.
2단계 - SoVITS 모델 (SynthesizerTrn)
SoVITS는 VITS를 개선한 음향 합성 모델로, GPT가 생성한 시맨틱 토큰을 실제 음성 파형으로 변환합니다. 레퍼런스 음성에서 추출한 음색 특성을 반영하여, 원하는 화자의 목소리로 음성을 합성합니다.
버전별 진화
- v1/v2: 32kHz 샘플레이트, 직접 VQ 디코딩 방식으로 빠르고 안정적인 기본 성능 제공
- v3: 24kHz, CFM(Conditional Flow Matching) + BigVGAN 보코더 도입으로 음색 유사도 크게 향상
- v4: 48kHz 네이티브 출력, HiFiGAN 보코더로 v3의 금속성 아티팩트 제거
- v2Pro/Plus: 화자 검증(Speaker Verification) 기술 추가로 음색 유사도 강화
제로샷 & 퓨샷 학습
기존 모델들이 새로운 화자를 위해 수 시간의 데이터가 필요했던 것과 달리, GPT-SoVITS는 다음과 같은 학습 방식을 지원합니다.
- 제로샷 (Zero-Shot): 5초의 레퍼런스 음성만으로 즉시 음성 합성 가능
- 퓨샷 (Few-Shot): 1분의 학습 데이터로 파인튜닝하여 음색 유사도와 자연스러움 대폭 향상
- 풀 파인튜닝: 5~30분의 데이터로 최고 품질의 개인화 모델 생성

학습 데이터 요구사항과 학습 시간
데이터 요구사항
GPT-SoVITS의 가장 큰 장점 중 하나는 적은 양의 데이터로도 충분한 품질을 달성한다는 것입니다.
- 최소 요구량: 1분 (Few-Shot 파인튜닝 기준)
- 권장 데이터량: 5~10분 (고품질 결과를 위한 최적 범위)
- 최대 지원량: 30분 (이 이상은 효율성 감소)
- 제로샷 모드: 5초의 레퍼런스 음성만 필요 (학습 불필요)
데이터 품질 기준
데이터의 양보다 질이 훨씬 중요합니다.
- 배경 잡음이 없는 깨끗한 음성
- 일관된 녹음 환경과 마이크 설정
- 단일 화자의 안정적인 음성
- 2~10초 단위로 적절히 분절된 오디오
- WAV 또는 고품질 오디오 형식 권장
학습 시간 (GPU별)
학습 시간은 데이터량과 GPU 성능에 따라 달라집니다. 1분 분량의 오디오 기준으로 살펴보면 다음과 같습니다.
RTX 3080 기준 (1분 오디오)
- SoVITS 학습 (8 에포크): 약 78초
- GPT 학습 (15 에포크): 약 60초
- 전처리 포함 전체: 약 5~10분
RTX 3090 기준 (5분 오디오)
- SoVITS 학습: 약 15~30분
- GPT 학습: 약 20~40분
RTX 2070 기준 (3분 오디오)
- SoVITS 학습: 약 20~40분
- GPT 학습: 약 30~60분
추론 속도와 성능
RTF (Real-Time Factor)
RTF는 1초의 음성을 생성하는 데 걸리는 시간을 의미합니다. RTF가 0.01이라면 1초 분량의 음성을 0.01초 만에 생성한다는 뜻으로, 숫자가 낮을수록 빠릅니다.
버전별 RTF 비교
- v1/v2: 약 0.020 (가장 빠른 추론 속도)
- v2Pro/Plus: 약 0.014~0.028 (속도와 품질의 최적 균형)
- v3: 약 0.040~0.070 (높은 품질, 상대적으로 느림)
- v4: 약 0.035~0.060 (48kHz 고음질)
실제 사용 사례 (RTX 4090 기준)
v2ProPlus로 약 1,400자(4분 분량)의 음성을 생성하는 데 단 3.36초가 소요됩니다. RTF 0.014는 실시간 대비 약 70배 빠른 속도입니다.
추론 VRAM 요구량
- FP16 정밀도: 4~5GB
- FP32 정밀도: 6~8GB
추론은 학습보다 훨씬 적은 리소스를 사용하므로, GTX 1060 6GB급 이상의 GPU에서도 실행 가능합니다.

학습 및 추론 방법
로컬 환경 설치
Windows (가장 쉬운 방법)
- GitHub 릴리스 페이지에서 통합 패키지 다운로드
- go-webui.bat 더블클릭으로 실행
- 브라우저에서 WebUI 자동 열림
Linux / macOS
# Conda 환경 생성
conda create -n GPTSoVits python=3.10
conda activate GPTSoVits
# PyTorch 설치 (CUDA 12.4 기준)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
# 의존성 설치
pip install -r requirements.txt
# FFmpeg 설치
conda install ffmpeg
Docker 환경
# CUDA 12.8 기반 Docker 이미지
docker pull breakstring/gpt-sovits
docker run --gpus all -p 9874:9874 -p 9872:9872 breakstring/gpt-sovits
Google Colab 사용
GPU가 없는 사용자를 위해 Google Colab 노트북이 제공됩니다.
- tyc0on/GPT-SoVITS-colab 저장소의 노트북 열기
- 런타임 유형을 GPU(T4)로 설정
- 셀 순차 실행으로 환경 자동 구성
- 생성된 ngrok/gradio URL로 WebUI 접속
Colab 무료 티어의 경우 T4 GPU(16GB VRAM)가 제공되어 학습과 추론 모두 충분히 가능합니다.
WebUI 인터페이스
GPT-SoVITS는 사용자 친화적인 WebUI를 제공합니다.
- webui.py (포트 9874): 전체 워크플로우(전처리 + 학습 + 추론)
- inference_webui.py (포트 9872): TTS 추론 전용
- api_v2.py (포트 9880): FastAPI 기반 스트리밍 API
- batch_inference.py: 대량 텍스트 일괄 처리
필요한 인프라
GPU 요구사항
최소 사양 (추론 전용)
- NVIDIA GPU: GTX 1060 6GB 이상
- VRAM: 6GB 이상
- 시스템 RAM: 8GB 이상
권장 사양 (학습 + 추론)
- NVIDIA GPU: RTX 3060 12GB 이상
- VRAM: 12GB 이상 (v3/v4 풀 파인튜닝은 14GB 이상)
- 시스템 RAM: 16GB 이상
- 저장공간: SSD 50GB 이상
최적 사양
- NVIDIA GPU: RTX 4090 24GB
- 시스템 RAM: 32GB
- NVMe SSD: 100GB 이상
GPU 호환성
- NVIDIA 30/40 시리즈: FP16 추론 권장 (텐서 코어 활용)
- NVIDIA 16 시리즈: FP32만 지원 (텐서 코어 미지원)
- AMD GPU: Linux에서 ROCm 6.2+ 지원
- Apple Silicon (M1~M4): CPU 학습 가능, CPU/MPS 추론 지원
버전별 학습 VRAM 요구량
- v1/v2: 6~8GB
- v3 LoRA 파인튜닝: 8GB
- v3 풀 파인튜닝: 14GB
- v4 LoRA 파인튜닝: 8GB
- v4 풀 파인튜닝: 14GB
- v2Pro: 8~10GB

모델의 한계점
GPT-SoVITS는 강력한 도구이지만, 몇 가지 한계점을 인지하고 있어야 합니다.
기술적 한계
- 긴 문장 불안정: 매우 긴 문장에서는 반복이나 누락이 발생할 수 있음. 문장을 적절히 나누어 처리하는 것이 좋습니다.
- 감정 제어 한계: 감정 표현이 자연스럽긴 하지만, 특정 감정을 정밀하게 제어하기는 어렵습니다. 레퍼런스 음성의 감정이 출력에 큰 영향을 미칩니다.
- 언어 간 억양 혼재: 다국어 합성 시 원어민 수준의 발음이 보장되지 않으며, 특히 학습 데이터와 다른 언어를 합성할 때 억양이 혼재될 수 있습니다.
- v3 금속성 아티팩트: v3 버전에서 간헐적으로 발생하는 금속성 음색 문제가 있으며, v4에서 개선되었습니다.
데이터 관련 한계
- 최소 데이터 요구: 제로샷 모드는 5초로도 가능하지만, 높은 품질을 위해서는 최소 1분 이상의 깨끗한 음성이 필요합니다.
- 데이터 품질 민감도: 노이즈, 배경음, 에코 등이 포함된 오디오는 결과 품질을 크게 저하시킵니다.
- 화자 일관성 필요: 학습 데이터 내에서 화자의 음색이 일관되지 않으면 품질이 떨어집니다.
하드웨어 제약
- NVIDIA GPU가 필수적이며, CUDA 지원이 없는 환경에서는 성능이 크게 저하됩니다.
- 시스템 메모리가 16GB 미만이면 학습 과정에서 문제가 발생할 수 있습니다.
- AMD GPU나 Apple Silicon에서의 지원은 제한적입니다.
개인 프로젝트 사용 시 주의사항
저작권 문제
- 타인의 음성 무단 사용 금지: 다른 사람의 음성을 허락 없이 클로닝하는 것은 초상권 및 음성권 침해에 해당할 수 있습니다.
- 유명인 음성 클로닝: 연예인, 정치인, 공인의 음성을 클로닝하여 사용하는 것은 법적 분쟁의 소지가 매우 큽니다.
- 상업적 사용 주의: MIT 라이선스로 모델 자체의 사용은 자유롭지만, 생성된 음성의 상업적 활용에는 음원 저작권과 퍼블리시티권 등의 법적 검토가 필요합니다.
- 학습 데이터 출처: 학습에 사용하는 음성 데이터의 저작권을 반드시 확인해야 합니다.
윤리적 문제
- 딥페이크 악용 방지: AI로 생성한 음성을 실제 인물의 발언으로 위장하는 것은 심각한 윤리적·법적 문제입니다.
- 사기 및 피싱 방지: 음성 클로닝 기술이 보이스 피싱이나 사기에 악용될 수 있으며, 이러한 목적의 사용은 불법입니다.
- 명시적 동의: 다른 사람의 음성을 클로닝할 때는 반드시 사전에 서면 동의를 받아야 합니다.
- AI 생성물 표시: AI로 합성된 음성임을 반드시 명시하여 혼란을 방지해야 합니다.
안전한 사용 가이드라인
- 본인 음성이나 명시적 동의를 받은 음성만 사용
- 생성된 콘텐츠에 AI 음성임을 표시
- 비상업적 개인 프로젝트나 교육 목적으로 시작
- 상업적 활용 전 법률 전문가 자문 권장
개인이 실제로 학습하고 추론하는 단계별 가이드
Step 1: 환경 준비
먼저 NVIDIA GPU가 장착된 컴퓨터에서 환경을 세팅합니다.
# 1. Python 3.10 Conda 환경 생성
conda create -n gpt-sovits python=3.10
conda activate gpt-sovits
# 2. 프로젝트 클론
git clone https://github.com/RVC-Boss/GPT-SoVITS.git
cd GPT-SoVITS
# 3. 의존성 설치
pip install -r requirements.txt
# 4. FFmpeg 설치
conda install ffmpeg
# 5. 사전학습 모델 다운로드 (GPT_SoVITS/pretrained_models/ 에 배치)
# HuggingFace에서 다운로드
Step 2: 음성 데이터 준비
고품질 음성 데이터를 준비합니다.
- 녹음 환경: 조용한 공간, 일정한 마이크 거리
- 녹음 분량: 최소 1분, 권장 5~10분
- 파일 형식: WAV 형식, 44.1kHz 이상 권장
- 내용: 다양한 문장을 자연스럽게 읽기
Step 3: WebUI 실행 및 데이터 전처리
python webui.py
# 브라우저에서 http://localhost:9874 접속
WebUI의 전처리 탭에서 다음 순서로 진행합니다.
0a - 보컬 분리 (UVR5)
배경 음악이 있는 음성의 경우 보컬만 분리합니다. 깨끗한 녹음이라면 건너뛸 수 있습니다.
0b - 오디오 분할
긴 오디오를 2~10초 단위의 짧은 클립으로 자동 분할합니다.
- 임계값(Threshold): -34 dB
- 최소 길이: 4000ms
- 무음 보존: 500ms
0c - 음성 인식 (ASR)
분할된 오디오에 대해 자동으로 텍스트 레이블을 생성합니다. 중국어는 FunASR, 다국어는 Whisper를 사용합니다.
0d - 수동 교정
ASR 결과를 검토하고, 특히 고유명사나 전문 용어의 오류를 수정합니다. 이 단계가 최종 품질에 큰 영향을 미칩니다.
Step 4: 특성 추출 및 모델 학습
1A - 특성 추출 (포맷팅)
"원클릭 포맷팅" 버튼을 클릭하면 다음 세 가지 특성이 순차적으로 추출됩니다.
- BERT 임베딩: 텍스트의 의미 정보 (1024차원)
- CNHuBERT SSL 특성: 음성의 음향 정보 (768차원)
- 시맨틱 토큰: 사전학습 모델 기반 이산 코드
1B - 모델 학습
SoVITS(음향 모델)를 먼저 학습한 후, GPT(의미 모델)를 학습합니다.
SoVITS 학습 설정:
- 에포크: 6~15 (기본 8)
- 배치 사이즈: VRAM에 맞게 조정
- 중간 체크포인트 저장 활성화 권장
GPT 학습 설정:
- 에포크: 12~18 (소규모 데이터셋 기준)
- SoVITS보다 높은 VRAM 사용
- VRAM 부족 시 배치 사이즈를 최우선으로 줄이기
Step 5: 추론 (음성 합성)
학습이 완료되면 추론 탭에서 음성을 생성합니다.
# 추론 전용 WebUI 실행
python inference_webui.py
# http://localhost:9872 접속
- 학습된 SoVITS 모델과 GPT 모델 가중치 파일 선택
- 3~10초 길이의 깨끗한 레퍼런스 음성 업로드
- 합성할 텍스트 입력
- 파라미터 조정 후 합성 실행
추론 파라미터 가이드:
- 발화 속도: 기본 1.0 (1.0~1.3 권장, 1.5 초과 비권장)
- 일시정지: 대화체 0.2~0.4초, 낭독체 0.4~0.6초
- top_k: 5~10 (안정적) / 20~50 (다양한 표현)
- temperature: 0.6~0.9 (안정적) / 1.1~1.3 (변화 풍부)
Step 6: API 활용 (자동화)
프로그래밍을 통한 자동화도 가능합니다.
# API 서버 실행
python api_v2.py
# http://localhost:9880 에서 FastAPI 문서 확인
API를 통해 대량의 텍스트를 일괄 변환하거나, 다른 애플리케이션과 연동할 수 있습니다.

마무리
GPT-SoVITS는 음성 합성 분야에서 진입 장벽을 획기적으로 낮춘 모델입니다. 기존에 수 시간의 데이터와 전문 지식이 필요했던 보이스 클로닝을 단 1분의 음성과 직관적인 WebUI만으로 가능하게 만들었습니다. v4까지 꾸준히 개선되며 48kHz 고음질과 다국어 지원까지 갖추었고, MIT 라이선스로 오픈소스 생태계에 기여하고 있습니다.
다만 강력한 만큼 책임감 있는 사용이 필요합니다. 반드시 본인 음성이나 정당한 권리가 있는 음성만 사용하고, AI 생성물임을 명시하는 습관을 기르는 것이 중요합니다.
참고 자료
- GPT-SoVITS 공식 GitHub 저장소
- GPT-SoVITS DeepWiki 기술 문서
- GPT-SoVITS v3/v4 신규 기능 위키
- GPT-SoVITS Colab 노트북 (tyc0on)
- GPT-SoVITS 사용 가이드 (Nite)
- GPT-SoVITS: Zero-Shot Speech Synthesis (ailia Tech)
이 글은 Claude Code를 활용하여 작성되었습니다.
'IT일반' 카테고리의 다른 글
| CodeSpeak — Kotlin 창시자가 만든 LLM 시대의 새로운 프로그래밍 언어 (0) | 2026.03.15 |
|---|---|
| 리워드 캠페인부터 추천 마케팅까지, 고객이 알아서 홍보하게 만드는 법 (0) | 2026.03.10 |
| Maven과 Nexus 완벽 가이드: 아키텍처부터 실전 사용법까지 (0) | 2026.03.08 |
| 팔란티어(Palantir) 온톨로지 완벽 해설: Semantic, Kinetic, Dynamic 3계층 아키텍처 (0) | 2026.03.05 |
| 온톨로지와 RDF: 시맨틱 웹의 핵심 기술 완벽 가이드 (0) | 2026.03.04 |