기본적으로 한국어와 파인튜닝을 지원하도록 수정하고 추론 webui를 추가한 깃헙 레포지토리
사용법
레포지토리 readme에 적어놓은거 옮겨놓은거라 깃헙만 보고 따라해도 됨
1. 소스코드 클론
git clone https://github.com/ouor/vits
cd vits
2. 가상환경 생성 및 진입
python -m venv .venv
.venv/Scripts/activate
3. 파이토치 설치 (가상환경 상태에서)
pip3 install torch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 --index-url https://download.pytorch.org/whl/cu117
파이토치 2.0 올라가니까 별의별 오류가 나서 수정할거 아니면 1.13 계속 써야 할듯
4. 패키지 설치 (가상환경 상태에서)
pip install -r requirements.txt
(여기서 오류가 난다면 https://visualstudio.microsoft.com/downloads/?q=build+tools 에서 빌드툴을 설치하고 다시 시도하자)
5. monotonic_align 빌드
cd monotonic_align
mkdir monotonic_align
python setup.py build_ext --inplace
cd ..
(여기서 오류가 난다면 https://visualstudio.microsoft.com/downloads/?q=build+tools 에서 빌드툴을 설치하자)
※ 혹시 만들어진 모델 받아다가 음성만 만들어보고 싶다면, 바로 11번으로 건너뛰자
======================여기부터 학습의 영역========================
6. 데이터셋 만들기
https://github.com/ouor/vits/blob/main/example/filelists/korean_train.txt
이 링크 텍스트 파일처럼 음성 파일의 경로와 음성 번호(0부터 시작..) 대본을 작성해줌
사실 이게 제일 번거롭고 귀찮은 일임..
7. 전처리
단일 화자의 경우
python preprocess.py --text_index 1 --filelists path/to/filelist_train.txt path/to/filelist_val.txt --text_cleaners 'korean_cleaners'
다중 화자의 경우
python preprocess.py --text_index 2 --filelists path/to/filelist_train.txt path/to/filelist_val.txt --text_cleaners 'korean_cleaners'
전처리 끝나면 두개의 cleaned로 끝나는 파일이 만들어짐
8. config수정
config파일에 "training_files", "validation_files", "speakers"를 적절하게 수정해줌
아까 전처리로 만들어진 파일을 "training_files", "validation_files"에 넣고
"speakers"아까 데이터셋 작성할때 0번부터 순서대로 리스트로 넣어줌.
예를들어 0번이 민수, 1번이 영희, 2번이 수아라고 하면..
"speakers": ["minsu", "yunghe", "sua"], 처럼 넣어줌
편집이 끝나면 저장을 하고
9. 학습 시작
단일 화자의 경우
python train.py -c <config> -m <folder>
다중 화자의 경우
python train_ms.py -c <config> -m <folder>
파인튜닝을 하고 싶다면 모델이 만들어질 폴더에 미리 G_0 D_0파일을 넣어줌
10. 텐서보드로 학습 현황 확인하기
tensorboard --logdir checkpoints/<folder> --port 6006
======================드디어 학습 끝..========================
11. 학습이 끝나면 gradio web ui로 만들어진 모델을 테스트 해볼 수 있음
python server.py --config_path C:/path/to/config.json --model_path C:/path/to/G_XXXXX.pth