BLOG

[AI Song Cover] Part3. so-vits-svc 5.0 (1)

[AI Song Cover] Part3. so-vits-svc 5.0 (1)

여러 SVC 모델들을 알아보았는데 가장 많이, 그리고 쉽게 접할 수 있는 모델은 so-vits-svc 4.0인 것 같았다. 이걸 기반으로 좀 더 발전된 so-vits-svc 5.0이 나와 있는데, 이왕 하는 거 최신 모델로 돌리고 싶어서 아래 링크의 so-vits-svc 5.0을 일단 사용해 보기로 했다.

https://github.com/PlayVoice/so-vits-svc-5.0

GitHub - PlayVoice/so-vits-svc-5.0: Core Engine of Singing Voice Conversion & Singing Voice CloneCore Engine of Singing Voice Conversion & Singing Voice Clone - PlayVoice/so-vits-svc-5.0github.com

위 링크에 들어가서 설명을 쭉 읽다 보면 Setup Environment가 나오는데 이 부분을 잘 읽고 따라해야 한다. 먼저 git clone을 해주고, so-vits-svc-5.0 폴더로 들어가서, 안내한 대로 PyTorch, requirements를 설치한다. 깃허브에서는 무슨 사이트를 입력하는데 나는 저 코드가 동작하지 않아서 그냥 클론한 파일에 있는 requirements.txt를 이용해 설치했다. 찾아보니 저 링크 안에 requirements.txt 파일이 없는 것 같던데..


git clone https://github.com/PlayVoice/so-vits-svc-5.0

pip install torch pip install -r requirements.txt

전에 노트북으로 돌려볼까 싶어서 아래 링크에 있는 파일들을 컴퓨터에 다운로드 받아놨었다. 그래서 이 파일들을 scp 명령어를 통해 ssh 서버로 옮기기로 했다. 명령어는 다음과 같다. FILEPATH, USERNAME, IP, DESTPATH는 상황에 맞게 잘 입력하자. FILEPATH는 로컬 서버의 파일 위치이고, USERNAME, IP, DESTPATH는 ssh 서버 기준이다. 명령어를 실행시키면 초당 10MB 이상의 속도로 빠르게 파일이 전송된다.


scp [FILEPATH] [USERNAME]@IP:[DESTPATH]

For example

scp /Users/USERNAME/Downloads/full.pth USERNAME@[IP]:/home/USERNAME/so-vits-svc-5.0/crepe/assets

이렇게 파일을 잘 옮겨줬으면, 테스트를 해봐야 한다. 7번 및에 있는 코드를 터미널에 입력해서 실행해준다. 잘 돌아가면 성공.


python svc_inference.py --config configs/base.yaml --model ./vits_pretrain/sovits5.0.pretrain.pth --spk ./configs/singers/singer0001.npy --wave test.wav

저 코드를 입력한지 얼마 되지 않아 ssh 서버와의 연결이 끊겼다. 다시 접속하려고 해도 연결 시간 초과 어쩌구저쩌구.. GCP에서 여러 수치들을 확인해보니 CPU 사용률이 거의 100%였다. 아마 이게 문제가 되지 않았을까.. inference가 완료되기 전까지는 확인할 수가 없다!!! 답답한 노릇이다.

CPU 사용률이 내려간 후 다시 접속해보니 멀쩡하게 연결이 되었고, 테스트 결과로 test.wav 파일이 생성되었다. 이제 다음 단계는 내가 원하는 방향으로 pretrained 모델을 학습시켜보는 것인데.. 더 큰 CPU를 할당받아야 하나.. 얼마나 커야하나..