로그인이 필요합니다.
최근 방문한 채널이 없습니다.
등록된 채널이 없습니다.

알림

등록된 알람이 없습니다.
  • {{item.Type == 1 ? '댓글' : (item.Type == 2 ? '답글' : (item.Type == 3 ? '방명록' : '알림'))}}
    {{item.Title}}
    {{item.From}}{{item.Datetime}}
로그인
애니메이션 친목 채널, 아무나 오세요 ㅇㅅㅇ
채널 정보
글쓰기
[잡담]

Diff-SVC colab으로 학습하기

히카리
댓글 4
조회수 973
작성일시 2023.02.23 00:08
수정일시 2023.03.05 05:03

https://github.com/SWNA-P/Diff-SVC-notebooks

GitHub - SWNA-P/Diff-SVC-notebooks
Contribute to SWNA-P/Diff-SVC-notebooks development by creating an account on GitHub.
github.com

깃에서 ipynb 파일을 둘 다 받으셈 ㅇㅅㅇ

ipynb 파일이 원래 공개된게 아니고 요청해야 보내주는 파일인데, 누군가 올려주심

Diff_SVC_inference_notebook_(colab_ver_).ipynb -> 학습된 모델로 추론

Diff_SVC_training_notebook_(colab_ver_).ipynb -> 학습하기

1. 준비 작업

코랩 https://colab.research.google.com/ Diff_SVC_training_notebook_(colab_ver_).ipynb 파일 업로드

ipynb 파일이 구버전이라 다운받는 URL들이 변경된 게 있어서 수정이 필요합니다.

Step 1: Install Diff-SVC 소스보기 한 다음에

파일 다운 받는 부분의 URL를 수정해주세요.

checkpoints.zip
-> https://github.com/haru0l/Diff-SVC-notebooks/releases/download/start/checkpoints.zip

config.yaml

-> https://github.com/haru0l/Diff-SVC-notebooks/releases/download/models_24khz/config.yaml

hifigan_24k.zip

-> https://github.com/haru0l/Diff-SVC-notebooks/releases/download/models_24khz/hifigan_24k.zip

Step 3: Edit training parameters에서는 nyaru.ckpt URL 수정

nyaru.ckpt
->https://github.com/haru0l/Diff-SVC-notebooks/releases/download/models_24khz/nyaru.ckpt

2. 데이터셋 준비

TTS 데이터셋과 다르게 말을 흐리거나 그래도 상관없음.

wav 파일들을 모와서 (가수 이름).zip으로 구글 drive에 업로드하세요.

노래는 당연히 보컬만 들어가야 됩니다.

vocal extractor로 보컬만 추출해 (https://vocalremover.org/)

3. 학습

위에서부터 순서대로 실행하면 됩니다.

시키는데로 경로 설정하셈.

Step 2-A: Decompress training data은 처음 학습하는 경우에는 생략합니다.

Decompresses training data directly to diff-svc/data/binary, usable only if you already have the output files of Step 4. ㅇㅅㅇ

Use custom save directory에서 use_save_dir 체크

save_dir에 저장할 곳 지정. (/content/drive/MyDrive/diff-svc/)

/content/drive/MyDrive/ 폴더가 구글 드라이브임

Pretrain model usage에서

use_pretrain_model: 체크

pretrain_model_select: nyaru

기존 모델가지고 fine tuning(미세조정) 하겠단거임.

처음부터 학습시키면 수십시간 걸릴텐데, fine tuning하면 6시간 정도면 충분함.

데이터셋이 적을 경우 endless_ds 체크

이제 학습 고고

tensorboard 보면 학습이 진행되는것을 볼 수 있다.

audio 메뉴에서 직접 들어볼 수도 있는데

gt(ground truth)는 데이터셋 원본이고

wav을 들어보면 모델로 생성한 음성을 들을 수 있음.

loss가 떨어지지 않아도 오래 학습하면 성능이 더 좋아짐.

4. 추론

Diff_SVC_inference_notebook_(colab_ver_).ipynb 파일을 돌리면 된다 ㅇㅅㅇ

추론할때 반드시 GPU가 필요한게 아니지만, 짧은 음성파일 추론하는데 9분이나 걸렸다.

누군가 만들어둔 huggingface을 이용해도 된다.

https://huggingface.co/spaces/DIFF-SVCModel/Inference

DiffSVC Inference - a Hugging Face Space by DIFF-SVCModel
Discover amazing ML apps made by the community
huggingface.co

비밀번호가 필요한데, 비밀번호는 fuck2023arianitesshitcelebrities 이다. 

현재 암호 바뀜.


파라미터 추가 설명

· key :

→ 음성의 키를 반음 단위로 변경합니다. 그렇지 않으면 "0"이 입력되지 않으면 오류가 발생합니다. 크게 변경하면 활설 등이 붕괴 될 가능성이 있으므로 조심하십시오.

 

· pndm_speedup :

→값을 크게 하면 빨리 합성할 수 있습니다만, 50 이상으로 하면 음질이 저하하기 때문에 망설이지 않는 편이 좋습니다

 

· wav_gen :

→ 합성된 wav를 어디에 저장할지입니다.

기본값은 런타임 내에 있으므로 'test_output.wav' 앞에 '/content/drive/MyDrive/'를 붙여 GDrive에 저장하도록 변경하는 것이 좋습니다.

 

· add_noise_step :

→use_gt_mel 매개변수를 사용할 때 사용할 수 있습니다. 1로 하면 학습 음성 100%, 1000으로 하면 완전히 모델의 음성에 들립니다. 값이 300 부근이 되면, 음색이 섞여 있는 느낌이 됩니다. (이 매개 변수를 매우 낮게 설정하여 pndm_speedup 값을 줄이면 렌더링 품질이 높아지는 것 같습니다)

 

·thre:

→원음원이 깨끗하면 값을 늘릴 수 있습니다. 음질이 미묘하면 값을 줄이십시오.

※use_crepe에 체크를 넣지 않은 경우는 사용할 수 없습니다.

 

· use_crepe :

→ 체크하면 피치 계산 방법에 crepe를 사용합니다.

기본적으로는 체크를 넣으면 좋은 느낌이 됩니다. 끄면 공식 Diff-SVC 리포지토리를 사용하면 parselmouth, UtaUtaUtau는 Harvest를 사용합니다.

다만, 개인적으로는 UtaUtaUtau의 Harvest를 사용하는 것이 품질 나옵니다.

 

· use_pe :

→ 체크를 하면 메르켑스트럼에서 피치를 입력하고 끄면 원음의 F0가 사용됩니다. 기본적으로는 체크를 넣으면 좋은 느낌이 됩니다.

 

· use_gt_mel :

→체크를 넣으면 좋은 느낌이 됩니다만, 원래 음성다움은 약간 잃어버립니다. (설명에 의하면, AI에 의한 화상 생성의 image-to-image와 유사하고, 입력 음성과 타겟 음성의 혼합 음성이 된다는 것입니다)

※키 변경 기능은 사용할 수 없습니다

(분위기로서는 이런 느낌)

작성된지 3개월 이상 지난 게시글은 로그인한 사용자만 작성할 수 있습니다.



번호게시판제목글쓴이날짜조회추천
공지잡담

수정할 사항들.

(6)
히카리22.11.096291