본인이 노래를 부르지 못하는 사람도 AI를 이용하여 좋아하는 노래를 가수처럼 AI cover로 만들 수 있습니다. 내가 좋아하는 가수의 목소리로도 만들 수 있는데요. 내가 좋아하는 가수가 내가 좋아하는 다른 가수의 노래를 불러준다면 얼마나 좋을까요? 이런 일을 이제 AI가 해줍니다.
이러한 방법을 AI cover라고 하는데요. 간단한 원리와 생성 방법을 설명드릴게요. colab을 이용한 가장 쉬운 방법일겁니다.
간단한 AI cover 원리
해당 원리를 간단하게라도 알아야 모델을 학습하고 AI cover를 추론할 때에 도움이 됩니다. 간단하게라도 이해하고 진행하는 것을 추천드려요.
AI cover는 특정 목소리의 데이터를 모아 학습을 시킨 AI 모델을 이용하여 커버하고 싶은 음원의 목소리만 특정 목소리 형태로 변경하는 방식입니다. 즉 내가 커버하고 싶은 노래의 창법을 원하는 가수처럼 바꿀수가 없어요. 예를들어 드릴게요. 만약 내가 김동률의 취중진담을 크러쉬 AI로 커버 한다고 가정한다고 합시다. 결과물의 음색은 크러쉬이지만 창법은 특유의 김동률 비브라토가 남아있어요. 그저 김동률의 음색을 크러쉬 AI 모델로 변경하기만 했기 때문이에요. 이제 AI cover 원리를 간단하게라도 이해하셨나요?
우리가 사용할 모델은 RVC v2 crepe라는 모델입니다. 이 모델을 특정 음색으로 학습하여 커버를 진행할거에요.
자 그렇다면 이제 우리가 할일은 목소리(노래) 데이터를 모아서 AI 모델을 만든 뒤 커버하고 싶은 노래를 AI를 이용하여 음색을 변경하면 되겠죠? 아래에서 진행해봅시다. 간단하게 알려드릴게요.
음성(노래) 학습 데이터 준비하기
먼저 학습 데이터를 준비해야합니다. 그럼 커버할 가수를 먼저 정해야겠죠? 전 제 목소리로 진행하겠습니다. 여러분은 특정 가수 한명을 정하셔도 되고 저처럼 본인 목소리로 진행하셔도 됩니다. 데이터를 구할 수 있다면요 🙂
여기가 중요한데요 음성 학습 데이터의 조건이 있어요. 오직 가수의 음성만 존재하는 데이터를 준비하셔야 됩니다. 반주, 악기소리가 조금이라도 섞이지 않은 데이터로 준비해주세요. MR 제거라고 들어보셨나요? 이 블로그에 다양한 MR 제거 방법이 있으니 준비하기에는 쉬울겁니다.
MR제거 AI로 보컬과 반주를 분리 추출 해보자! (무제한)
음악 파일 웹에서 보컬, 반주, 악기 분리 추출하기
전 제 목소리로 진행할 것이기 때문에 직접 불렀습니다…
![AI cover 데이터 파일 예시](https://www.infouniverses.com/wp-content/uploads/2023/07/AI-cover-데이터-파일-예시-500x111.png)
총 10분 분량의 길이의 데이터를 준비하세요. 파일이 여러개라면 1, 2, … 이런식으로 이름을 지정해주시면 됩니다. 그리고 꼭 파일의 확장자는 .wav 이어야 합니다. mp3 파일이거나 다른 확장자라도 걱정하지마세요. 제가 또 정리해놨습니다.
wav, mp3등 파일 확장자 변경 쉬운 방법 (무료, 무제한)
총 10분이상, wav 확장자, 오직 음성만 담긴 음원파일 이 세가지 언급한 조건을 맞는 데이터를 준비하셨다면 다음으로 넘어갑니다!
학습 진행을 위하여 colab에서 GUI 연결하기
준비한 데이터를 이용하여 AI 모델을 만들겁니다. 아실지모르겠지만 AI를 학습하는데에는 정말 좋은 고스펙의 컴퓨터가 필요합니다. 하지만 이를 무료로 빌릴수 있는 서비스가 있어요. 바로 구글의 colab 입니다.
Colab이란 무엇인가? 2023 (인공지능 무료 학습)
https://colab.research.google.com/drive/1bGVq_JJYa1hxyyuSDRNTM7bhZ9FFN4ru?usp=sharing
해당 코랩 노트북으로 이동하여 주세요.
![AI cover colab 준비](https://www.infouniverses.com/wp-content/uploads/2023/07/AI-cover-colab-준비-500x383.png)
해당 코랩 노트북에 접속하여 실행버튼을 눌러주세요.
![AI cover colab 준비 - 경고](https://www.infouniverses.com/wp-content/uploads/2023/07/AI-cover-colab-준비-경고-500x383.png)
경고떠도 무시하고 계속하기 눌러주세요. 신경쓰지 않으셔도 됩니다.
![AI cover colab 구글 드라이브 연결](https://www.infouniverses.com/wp-content/uploads/2023/07/AI-cover-colab-구글-드라이브-연결-500x359.png)
구글 드라이브 연결을 해서 구글 드라이브에 백업해야 됩니다. 연결을 눌러 구글 드라이브를 연결해주세요.
Traceback (most recent call last):
File "/content/EasyGUI-RVC-Fork/EasierGUI.py", line 76, in <module>
from lib.infer_pack.models import (
ModuleNotFoundError: No module named 'lib'
해당 오류 발생 시에는 구글 드라이브 체크를 해제해주세요.
![AI cover colab GUI 연결](https://www.infouniverses.com/wp-content/uploads/2023/07/AI-cover-colab-GUI-연결-500x383.png)
조그만 기다리시면 막 코드가 실행되면서 GUI 연결 링크가 뜨게 됩니다. GUI에서 학습과 AI cover를 진행할 예정이니 클릭해주세요.
![AI cover GUI](https://www.infouniverses.com/wp-content/uploads/2023/07/AI-cover-GUI-500x427.png)
해당 웹 페이지에 접속이 된다면 성공하신겁니다. 여기서 AI 모델을 학습하고 AI cover를 진행하게 됩니다. 영어라고 막막하지 않으셔도 됩니다. 밑에서 간단하게 다 설명드릴게요. GUI는 그냥 AI 학습을 편하게하려고 만들어진 웹 페이지라고 생각하시면 편합니다. 그게 다에요.
앞선 colab 페이지, GUI 웹페이지 두 개만 브라우저에 띄워놓으시면 됩니다!
AI cover를 위한 모델 학습하기
우리 학습 데이터를 준비했었죠? 이제 이걸 이용하여 AI 모델을 만들어 내야 됩니다.
![AI cover 학습하기 - 1](https://www.infouniverses.com/wp-content/uploads/2023/07/AI-cover-학습하기-1-2-500x393.png)
train 탭으로 이동하여 주세요. 이 탭 안에서는 모델을 학습을 진행합니다. 학습 데이터를 업로드를 하고 RVC v2 모델의 설정값을 변경가능한 곳입니다. 모르신다면 그냥 따라와 주시면 됩니다.
![AI cover 학습하기 - 2](https://www.infouniverses.com/wp-content/uploads/2023/07/AI-cover-학습하기-2-1-500x393.png)
첫번째 칸에서는 이름을 적어주시면 됩니다. 모델 이름은 그냥 아무거나 적어주세요. 뭐 별칭이 있다면 지어주세요 🙂 전 그냥 간단하게 info-cover라고 지어주었습니다.
![AI cover 학습하기 - 3](https://www.infouniverses.com/wp-content/uploads/2023/07/AI-cover-학습하기-3-500x393.png)
![AI cover 학습하기 - 3-1](https://www.infouniverses.com/wp-content/uploads/2023/07/AI-cover-학습하기-4-500x277.png)
이제 학습데이터를 업로드해야 됩니다. 클릭해서 업로드하기를 클릭해주시고 앞서 준비한 데이터를 업로드해주세요.
![AI cover 학습하기 - 4](https://www.infouniverses.com/wp-content/uploads/2023/07/AI-cover-학습하기-5-500x393.png)
![](https://www.infouniverses.com/wp-content/uploads/2023/07/AI-cover-학습하기-5-1-500x381.png)
해당 음원들이 업로드중인걸 확인할 수 있습니다. 아래와 같이 Download 버튼으로 바뀔때 까지 기다려주세요. 이렇게되면 colab에 학습데이터를 업로드하게 된겁니다. 이 데이터를 이용하여 AI 모델을 생성해봅시다.
![데이터 셋 진행](https://www.infouniverses.com/wp-content/uploads/2023/07/학습데이터-인덱싱중-211x500.png)
버튼을 눌러 데이터 셋을 가공합니다. 우선 눌러주세요.
![colab 데이터 가공](https://www.infouniverses.com/wp-content/uploads/2023/07/colab.research.google.com_drive_1Xw4-rGOFPAo7ebEha7C0Th6KEZ80Yg7V-500x383.png)
colab으로 돌아가보면 데이터 가공이 진행중인걸 확인할 수 있습니다. 무언가 진행 중이죠? 우리가 준비한 데이터 셋을 학습하기 용이하게 한번 더 가공하는 작업입니다. 그냥 기다려주세요. 알아서 가공중입니다.
![데이터 가공 완료](https://www.infouniverses.com/wp-content/uploads/2023/07/인덱싱-완료-500x315.png)
조금만 기다려주시면 아래와 같이 상태에 ‘end preprocess’라고 뜬다면 성공입니다. 다음 단계로 가봅시다.
![AI cover 학습하기 - 7](https://www.infouniverses.com/wp-content/uploads/2023/07/AI-cover-학습하기-7-500x396.png)
AI 모델 알고리즘이 mangio-crepe로 되어 있어요. 이건 모르시면 건드리시지 마시고 그냥 바로 2번 버튼을 눌러주세요.
![알고리즘 colab](https://www.infouniverses.com/wp-content/uploads/2023/07/알고리즘-colab-진행-중-500x359.png)
colab으로 돌아가보면 무언가 또 진행중이네요. 그냥 기다립시다 🙂
![알고리즘 완료](https://www.infouniverses.com/wp-content/uploads/2023/07/알고리즘-완료-500x381.png)
all-feature-done이 뜨셨다면 성공입니다. 다음 단계로 갑니다. 드디어 다음 단계가 모델 학습 시작입니다!
![AI cover 모델 학습중](https://www.infouniverses.com/wp-content/uploads/2023/07/AI-cover-모델-학습-시작-1-500x396.png)
Train Model를 눌러 학습을 진행하세요. 드디어 내가 원하는 음색으로 AI model를 학습시작하기 시작합니다.. ㅠㅠ
![AI cover 모델 학습중](https://www.infouniverses.com/wp-content/uploads/2023/07/AI-cover-모델-학습-시작-colab-1-500x383.png)
우리가 앞서 경험해보았던과 같이 버튼을 누르면 colab에서 무언가 또 돌아갑니다. 자세히 보겠습니다.
![colab에서 확인한 학습진행 상황](https://www.infouniverses.com/wp-content/uploads/2023/07/스크린샷-2023-07-10-오후-12.50.26-500x150.png)
학습 버튼을 누르고 좀만 기다리다보면 colab에서 epoch라는 숫자가 올라가는 걸 확인할 수 있어요. 이게 250이 되면 모델이 완성되도록 설정해두었습니다. epoch는 전체 학습 데이터를 AI 모델에게 한 번 학습했다는 단위입니다. 즉 250이면 전체 데이터가 250번 학습하는거죠. 어려우셔도 그냥 넘어가세요. 따라하기만 하면 됩니다. ㅎㅎ
![AI cover 학습완료 success](https://www.infouniverses.com/wp-content/uploads/2023/07/AI-cover-학습완료-success-500x75.png)
250 epoch까지 좀 긴 시간이 걸립니다. 아마 2시간 가까운 시간이 소요될거에요 어차피 구글 컴퓨터를 빌린거고 무료이니까 모델을 학습동안 다른 업무를 보고오셔도 좋아요. 하지만 내가 원하는 음색으로 모델을 만드는 일이니 그냥 기다려주세요.
위와 같이 Training is done이 뜰 때 가지 기다려주세요. 위처럼 해당 문구까 뜨셨다면 다시 GUI로 이동합니다.
![인덱싱](https://www.infouniverses.com/wp-content/uploads/2023/07/indexing-진행-1-234x500.png)
인덱싱 버튼을 누릅니다.
![인덱싱 완료](https://www.infouniverses.com/wp-content/uploads/2023/07/indexing-결과-500x498.png)
added라는 문구가 뜰때까지 기다립니다.
![다운로드 진행](https://www.infouniverses.com/wp-content/uploads/2023/07/indexing-진행-2-234x500.png)
![모델 다운로드](https://www.infouniverses.com/wp-content/uploads/2023/07/모델-다운로드-500x121.png)
모델 다운로드 버튼을 눌러 다운로드를 진행해주세요. .pth 파일이 우리가 만든 AI 모델입니다. 이제 이 파일만 있다면 어떠한 음성파일도 내가 학습시킨 목소리로 변경이 가능한겁니다! 두 가지 모두 다운로드 받아주시구요. 압축해서 본인의 구글 드라이브에 올려두어서 보관하시면 좋습니다. 그래야 나중에 colab을 끈 뒤에도 Download Model 탭에서 다시 불러올 수 있어요. (AI cover 학습해놓은 나만의 모델 불러오기)
이제 진짜 커버를 진행해봅시다.
AI 커버 생성하기
해당 링크로 이동하여 AI 커버를 진행주세요. 여기서 글이 너무 길어져서 다른곳으로 이동시켰습니다.
마무리
이제 여러분들도 이와 같은 AI커버를 만들수 있으십니다. 천천히 따라해보셨나요? 천천히 따라가해보셨다면 내용만 많지 실제로는 겁나 간단하고 쉽다는걸 아쉴겁니다. 이제 AI를 즐겨보세요~
정말 감사합니다. 한국어 가이드 중 가장 정확하고 쉬운 것 같네요. 차근차근 따라해보겠습니다. 글 지우지 말아주세요 ㅜㅜ 그리고 혹시 에포크를 300정도로 높여도 되나요?
늘려도 상관없습니다. 하지만 그 양이 높다고 해서 더 정확한 모델을 만드는다는 보장은 없어요 🙂
에포크 200으로해도 괜찮겠죠? 데이터 영상 양이 많아서 그런지 201부터 렘 공간이 모자르다면서 안되네요 ㅠㅠ
빠른 결과를 원하시면 50 정도로 해보셔도 됩니다. 높다고 좋은게 아니지만 그래도 150~은 권장드려요.
안녕하세요 포스팅 감사히 읽고 따라하는 중인데요
ModuleNotFoundError: No module named ‘lib’
해당 오류에 해결책을 구글 드라이브 백업 체크 해제라고 하셨는데 해제를 해도 해결되지 않습니다..ㅠㅠ
다른 해결방법 아신다면 알 수 있을까요?
환경패키지가 업데이트되면서 오류가 났었네요. 코랩 링크가 변경되었으니 다시 시도해보세요 🙂
안녕하세요 어제 답변 남기신 거 확인하고 코랩 새로운 링크에 접속하여 정상 작동되는 걸 확인하였으나 지금 확인하니 코랩 링크가 이전 링크와 동일하고 똑같은 오류가 발생합니다 ㅠㅠ…
앗 지금 확인하여 보니 변경된 링크 맞네요 죄송합니다 잘 작동해요 : )
넵 꼭 원하는 작업물 만드셨길 빕니다~
2번단계가 원래 오래 걸리나요..?
2번 단계에서 한참을 기다리네요
2번부분 제가 확인해보니 인덱스 에러가 뜨는데 혹시 해결방법있을까요..
2번단계가 어딘지 모르겠네요. 제일 오래걸리는 곳은 epoch 250 단계인데 50으로 줄여서 시도해보세용
질문 올린게 없어졌네요…?
Traceback (most recent call last):
File “/content/-EVC-/trainset_preprocess_pipeline_print.py”, line 21, in
f = open(“%s/preprocess.log” % exp_dir, “a+”)
FileNotFoundError: [Errno 2] No such file or directory: ‘/content/-EVC-/logs/성규/preprocess.log’
이 오류는 어떻게 해결하나요?
계속해서 코랩이 중지가 되고 초기화 되는 현상이 일어납니다 ㅠㅜ
혹시 다시 시도해보실래요 스크립트를 변경하였습니다.
안녕하세요 음원 준비할때 10분짜리 파일을 여러개 준비해여하나요? 파일 하나당 5분은 안되겠죠?
총 10분으로 하시면 됩니다. e.g. 3분, 3분, 1분 3개 파일