본문 바로가기
취미공간/AI 관련

AI 목소리 학습 시켜서 노래 커버 만들기 #4

by 현명한 올빼미 2023. 11. 17.
728x90

안녕하세요~ 잡동사니 모으는 블로그입니다!

 

오늘은 목소리 데이터를 학습시키는 포스팅을 해볼 건데요~

 

전에 포스팅에서 말하는 목소리와 노래하는 목소리 2개를 준비했습니다.

 

마지막 포스팅에서 결과물을 비교할 수 있게 8:2 비율과 2:8 비율을 섞어 준비하려 했는데요~

 

제가 준비한 목소리의 음역대가 생각보다 다양한 것 같더라고요!

 

그래서 굳이 섞지 않고 (말하는 데이터), (노래하는 데이터), (합친 데이터) 이렇게 3개를 비교해 보려고 합니다.

 

 

준비한 데이터

 

 

 

1. 말하는 목소리 4분 40초

2. 노래하는 목소리 5분 25초

3. 합친 데이터 10분 6초

 

전에 포스팅에서 UVR을 써서 음성의 잡음을 제거했는데요~

 

말하는 목소리도 Kim Vocal랑 Reverb HQ를 사용해 잡음을 분리했는데 키보드 소리는 안 없어지더라고요!

 

다 없애버리면 분량이 너무 적어져서 작업을 다시 해야 하기 때문에 그대로 한번 진행해 보겠습니다.

 

 

코랩 프로 사용하기

 

RVC Crepe v2 학습 모델을 사용할 건데요~

 

밑에 주소로 들어가 줍시다!

 

https://colab.research.google.com/drive/1TU-kkQWVf-PLO_hSa2QCMZS1XF5xVHqs?usp=sharing

 

RVC Crepe v2 + persistent storage / autosave

Colaboratory notebook

colab.research.google.com

 

전 배경설정을 검정으로 해놨는데 들어가면 이런 코드들이 보이실 겁니다~

 

그럼 우선 구글 로그인하고 내 구글 드라이브에 코드를 저장해 볼게요!

 

 

그럼 새로운 창이 열리는데요~ 

 

제목 뒤에 사본이라고 써져 있으면 구글드라이브에 저장이 된 겁니다!

 

 

이제 코랩 프로로 변경해주어야 하는데요~

 

코랩 페이지 오른쪽 위에 톱니바퀴모양 아이콘을 눌러주세요!

 

 

작은 창이 하나 뜨는데 Colab Pro 탭에 들어가서 자세히 알아보기를 클릭해 주세요~

 

 

 

Colab Pro 월 $9.99를 클릭하고 동의 눌러주세요~

 

 

 

국가에 왜인지 한국이 없기 때문에 미국으로 하고 진행해 줍니다~

 

청구지 우편번호는 아무렇게 써도 상관없어요!

 

 

카드 등록이 되면 구입을 눌러주세요~

 

바로 카드 결제가 됩니다!

 

 

자 이제 바로 써봐야겠죠?

 

왼쪽 위에 프로로 바뀌었는지 확인하고 오른쪽 위에 연결버튼을 눌러줍시다!

 

 

결제 후에는 100 컴퓨팅 단위를 받게 됩니다~

 

100개를 다 쓰면 느려지니깐 참고하세요!

 

 

RVC Crepe v2 코드 실행하기

 

우선 간략하게 코드 작동 순서를 살펴보겠습니다.

 

1. 구글 드라이브에 연결한다.

2. 훈련 모델을 다운로드한다.

3. 드라이브 속에 목소리 데이터를 업로드한다.

4. 훈련시작

 

작동시키기 위해서는 목소리 데이터를 구글 드라이브에 넣어야겠죠~

 

우선 목소리 데이터를 압축파일로 바꿔줍니다!

 

 

제목을 알아보기 쉽게 띄어쓰기가 없게끔 바꿔주고 구글 드라이브에 넣어줍니다~

 

넣을 때는 dataset이라는 이름으로 폴더를 만들어주고 넣어주셔야 합니다!

 

 

준비가 다 됐으면 이제 코드를 실행해 보겠습니다~

 

첫 번째로 아까 넣은 목소리 데이터의 이름을 써넣어줍니다~

 

(DATASET 폴더에 있어야 인식이 되니깐 폴더 이름하고 ZIP파일인지 꼭 확인해 주세요!)

 

그리고 2~5번 순서대로 플레이버튼을 순서대로 눌러줍니다~

 

6번에 백업설정은 체크 풀어주시고 위에 easy_gui 체크는 해줍시다!

 

 

 

첫 번째 코드에서 구글 드라이브에 연결창이 뜨니깐 연결버튼을 누르고 로그인해 주면서 진행해 주세요~

 

10분에서 15분 정도 걸리네요!

 

 

실행되는 동안 나중에 입력해야 하는 경로를 복사를 해줍시다~

 

코랩 왼쪽탭에서 폴더모양을 클릭하고 아까 목소리 데이터를 넣어준 dataset 폴더의 경로를 복사해 줍시다!

 

 

 

이제 기다리다가 보면 마지막 실행탭 코드 부분에 링크가 나옵니다~

 

이걸 클릭해서 들어가 줍니다!

 

 

 

영어가 잔뜩 써진 훈련 UI가 나오는데 위에 처럼 Train탭에 들어가 줍니다~

 

 

 

1. 알아보기 쉬운 이름으로 바꾸고 48K, v2를 눌러줍니다.

 

2. 아까 복사한 dataset 경로를 붙여 넣고 Process data를 클릭해 줍니다.

end preprocess를 확인하고 다음으로 넘어갑니다.

 

3. 훈련모델을 골라주고 Feature extraction을 클릭해 줍니다.

훈련모델은 조금씩 차이가 있는데 데이터의 품질이 좋다면 harvest, crepe, mangio-crepe 중에 골라주고 데이터 품질이 좋지 않다면 rmvpe를 골라줍시다.

코랩창에서 all-feature-done을 확인하고 다음으로 넘어갑니다.

 

4. Save frequency는 자동저장, Total training은 훈련 횟수, Batch size per GPU는 훈련기준입니다.

자동저장은 최대로 하시고 훈련 횟수는 400~1000회로 해주시면 됩니다~

훈련기준은 AI가 훈련할 때 랜덤성을 부여하기 위해서 쓰는 기준이니 아무 숫자나 넣어줍시다.

 

5. 클릭!

 

코랩창에 Epoch가 훈련 횟수이니 1000 에포크가 될 때까지 이제 기다리기만 하면 됩니다~

 

목소리 데이터 길이에 따라 훈련시간이 길어지는데 저는 5분 정도 되는 데이터라 5~6시간 걸릴 거 같네요!

 

훈련시간 동안 전 포스팅을 참고해 커버곡 MR을 분리해 주시면 좋습니다~

 

유튜브에서 음원 추출해서 UVR5로 제거하면 됩니다!

 

 

나머지는 다음에..

 

분량이 너무 길어지는 것 같아서 다음 포스팅에서 계속할게요~

 

훈련이 끝나고 이 포스팅에 추가내용이 있을 수 있습니다!

 

댓글