with high quality
지난달에 AI 커버 음악 만드는 것이 생각보다 어렵지 않다는 것을 발견하고 저스틴 비버가 부르는 뉴진스의 "New Jeans", "Cool with you" 등 총 4개의 AI cover 음악을 만들었습니다. 그러나 모든 일이 그렇듯 쉽게 하려면 쉽지만 퀄리티를 높이려면 일이 조금 더 복잡해졌습니다.
AI 커버 음악을 만들며 직접 배운, AI 커버 음악 만드는 방법과 퀄리티를 높이는 팁, 그리고 참고한 자료를 이 글에 정리했습니다.
<작업 순서>
1. MR과 보컬 분리
2. 보컬을 리드보컬과 백업보컬로 분리하기 (중요)
3. 보컬을 다른 사람의 목소리로 바꾸기
3-1. 목소리 다운로드
3-2. 음성 style 입히기 저스틴 비버가 부르는 뉴진스의 "New Jeans"
음원에서 배경음에 해당하는 MR과 가수가 부른 보컬을 분리합니다. 저는 유튜브 링크만 넣어도 MR과 보컬을 분리하여 다운로드할 수 있는 "가우디오 스튜디오"의 악기 분리 기능을 사용했습니다.
링크 입력 후 약 3~5분 정도 대기하면 아래와 같이 음원이 분리된 결과를 확인할 수 있습니다. Vocal, Bass, Drum, Other Inst. 를 각각의 음원 파일로 다운로드할 수 있습니다.
AI 커버 음악에서 보컬의 음정이 부정확하거나 기계음이 들리는 경우를 종종 들을 수 있습니다. AI 커버 음악의 퀄리티를 높이기 위해선 음원에서 리드 보컬 파트를 깔끔하게 분리해야 합니다. 보컬에 백업보컬에 해당하는 화음과 코러스가 섞여 있을 경우, 부정확한 오토튠이 적용된 것처럼 변환될 확률이 높습니다.
뉴진스의 곡처럼 메인 보컬이 비교적 명확하고 코러스가 많지 않은 곡은 1번 과정만으로도 보컬이 깔끔하게 분리되므로, 2번 과정이 귀찮다면 화음, 코러스, 에코가 없는 곡을 고르는 것을 추천합니다.
높은 퀄리티로 보컬을 분리하기 위해 "UVR5(Ultimate Vocal Remover)"라는 프로그램을 이용합니다. 1번 과정을 생략하고 원본 음원 파일을 바로 UVR에 넣어서 보컬과 MR을 분리할 수도 있으나, 리드보컬과 백업보컬까지 분리하기 위해선 MR과 보컬을 1차 분리하고 후처리하는 것이 좋습니다.
UVR5에 여러 가지 옵션이 있기 때문에 어디서부터 시작해야 할지 헷갈리는데, 크게 두 가지 옵션이 있다고 생각하면 됩니다. 모델을 하나만 선택할 수도 있고, "앙상블(ensemble)" 모드로 여러 모델을 섞어서 사용할 수도 있습니다. 앙상블 모드를 선택할 경우, 앙상블 모델의 결과와 앙상블 모델 안에 있는 각각의 모델로 추출된 결과가 모두 저장됩니다.
저는 이 가이드에서 추천한 앙상블 조합(아래 이미지)을 적용해 보았는데 앙상블보다 "VR Arc: 6HP-Karaoke-UVR" 모델만 사용했을 때 음성 분리 결과가 더 좋아 이 모델을 주로 사용했습니다. 시간 여유가 있다면 여러 모델을 사용하면서 가장 좋은 모델을 선택하는 것이 좋습니다.
참고로 GPU가 설치된 컴퓨터에서 음성이 훨씬 더 빨리 분리됩니다.
조금 더 좋은 퀄리티로 보컬을 처리하고 싶다면, 리드보컬에서 에코를 제거하는 것이 좋습니다. 대부분의 음악의 보컬에 에코가 적용되어 있는데, 에코가 심할수록 음성 변환 퀄리티가 떨어집니다. 저는 맥북 음악 편집 앱인 GarageBand에 "goyo" 플러그인을 설치하여 에코를 제거했습니다. 에코 제거 강도를 너무 높게 설정하면 에코뿐만 아니라 음악 소리도 사라질 수 있으니 주의해야 합니다.
본격적으로 보컬에 AI 커버를 씌울 단계입니다. 변환할 목소리를 선택하고, 해당 목소리로 보컬을 변환하는 과정으로 구성되어 있습니다.
3-1. 목소리 다운로드
AI hub 디스코드에서 음성 모델을 다운로드할 수 있습니다. 저는 디스코드가 게임할 때 음성으로 대화를 나눌 수 있게 하는 앱 정도로 알고 있었는데 생각보다 많은 기능을 제공하는 앱이더라고요.
상당히 많은 수의 음성 모델이 있기 때문에 필터링이 필요합니다. 저는 주로 Artist 혹은 Korean으로 필터링해서 원하는 음성 모델을 찾았습니다. 아래 이미지는 Korean으로 필터링했을 때의 결과입니다. 민경훈, 있지 리아 등의 가수가 보이네요. 에포크(Epoch) 앞에 있는 숫자가 높을수록 음성 모델 퀄리티가 높습니다.
원하는 음성 모델을 선택한 후 본문에서 마우스 우클릭을 합니다. "메시지 링크 복사"가 아닌 "텍스트 복사하기"를 클릭합니다. 텍스트 복사하기를 클릭하면 텍스트 전문이 복사되므로 메모장 등에서 "https://"로 시작하는 URL 부분만 따로 복사합니다.
3-2. 음성 변환하기
한국어 프로그램이 아니기 때문에 UVR처럼 사용하기 어려워 보이지만 그렇게 복잡하지 않습니다. 음성 변환 프로그램 사용법은 아래 영상에 자세히 설명되어 있습니다. 텍스트로 요약하자면 아래와 같은 과정으로 구성되어 있습니다.
<GUI 진입 전>
1) 구글 colab 들어가기 (>링크<에 들어간 후 내 드라이브로 복사. 링크는 수시로 업데이트됨.)
2) colab에서 step 1 코드 실행하기 (제반 환경 설치)
3) colab에서 step 2 코드 실행하기 (3-1에서 복사한 링크 붙여 넣고 음성 모델 설치하기)
4) colab에서 step 3 코드 실행하기 (GUI 띄우기)
<GUI 진입 후>
1) GUI 진입 전 다운로드하였던 모델 선택
2) 2번 과정에서 분리한 lead vocal 음성 파일 업로드
3) "convert"를 클릭하여 음성 변환하기
<자세한 과정 설명>
위에서 간단하게 정리한 내용을 실제로 수행하는 과정을 캡처한 영상입니다. 프로그램 사용법을 배우기 위해서는 프로그램을 직접 사용하는 과정을 영상으로 보는 것이 가장 좋기 때문에 아래 영상을 참고하는 것을 추천합니다.
참고로 코드가 작동하는 코드의 URL이 바뀔 수 있습니다. 실제로 최근에 링크가 바뀌었고 해당 코드가 너무 많은 GPU를 잡아먹어서 그런지 구글에서 자주 끊는 것으로 보입니다. 만약 원래 사용하던 링크의 colab이 잘 작동하지 않는다면 3-1의 discord 공지방(dev-updates)에 링크가 바뀌었다는 채팅을 확인하는 것이 좋습니다.
AI 학습/인식 프로세스에 대한 이해가 없는 일반인도 AI의 유용한 기능을 사용할 수 있는 세상이 왔습니다. 새로운 IT 기술이 개발되면 처음에는 기술에 익숙한 사람들만 사용할 수 있습니다. 그러나 시간이 흐르며 기술에 대한 접근성이 높아지고 기술을 쉽게 사용할 수 있도록 돕는 툴이 개발되면 기술이 다양한 분야에 창의적으로 적용됩니다.
기술 개발자는 기술을 외부로 공개하고 접근성을 높였을 때 더 가치 있는 결과를 얻을 수 있습니다. 집단 지성이 더 많은 use case를 발견할 수 있으니까요. 혁신적인 기술을 개발했더라도 사용자가 많지 않으면 그 기술이 적용되기 적합한 분야를 찾는 것이 어렵습니다. 단기적인 이익을 포기하더라도 현재 생성형 AI 개발 팀이 하는 것처럼 새로운 기술을 비전공자도 사용하기 쉽게 공개하고, 유용한 서비스 시나리오를 발굴할 필요가 있습니다.
이 AI 커버 음악을 만드는 프로그램은 무료입니다. 프로그램을 개발하고 유지보수, 운영하는 개발자들은 모두 수익을 바라지 않습니다. 위에서 소개한 디스코드에 들어가 보면, 초기 인터넷과 같이 취미에 진심인 사람들이 모여있는 것을 볼 수 있습니다. 이 프로그램과 커뮤니티 모두 무료이기 때문에 다양한 참여자가 발생해 창의적인 결과물을 만들 수 있었던 것 같습니다. 서로 자신이 알고 있는 최선의 정보를 공유하고 함께 발전해 가는 선순환의 커뮤니티가 AI 곁에 오래 머물길 바랍니다.
<참고 자료>
쉽게 정리된 AI 커버 음악 만드는 방법
https://disquiet.io/onboarding/maker
UVR5 사용 가이드