인공지능

diff-svc 노래하는 인공지능 원리 & 로컬 환경설정 (1)

yjlee06 2023. 6. 15. 01:39
반응형

 

인터넷 방송이나 인공지능에 관심이 있다면
누구나 들어봤을 AI

diff-svc 음성AI

인터넷 방송의 진행자의 목소리특정인물의 목소리를 통해 노래를 부르는 영상
보셨나요?
 
해당 기술은 노래의 원래 음성자신이 원하는 음성으로 바꿀 수 있게하는 기술입니다


해당 기술을 사용할려면 어떻게 해야 할까?
전문적인 지식이 필요한가? 아니면 고사양의 컴퓨터가 필요한가?
컴퓨터 사양은 어느 정도 좋아야 하지만 전문적인 지식 없이도 쉽게 만들 수 있습니다.
이제부터 diff-svc의 원리만드는 법에 대해 설명하겠습니다.
 

1. diff-svc란 무엇인가?

Singing Voice Conversion via diffusion model
노래의 음성을 변환해 주는 diffusion 인공지능 모델을 의미한다.
여기서 diffusion인공지능을 간단히 보자면 텍스트와 같은 저 차원 데이터에서
이미지와 같은 고차원 테이터를 만들어 내는 것을 의미합니다.
 
아래의 햄스터를 예시로 설명하자면

diff-svc 예시

 
우리의 햄스터에게 노이즈를 추가하여 알아볼 수 없게 한 다음
해당 햄스터를 다시 원래 사진으로 만드는 과정을 거쳐 학습합니다.
 

 
diff는 해당 원리를 이용하여 사람의 음성 그래프
위와 같은 과정을 거쳐 인공지능에게 학습시켜
사람의 목소리의 특징을 파악한 다음
변환할 수 있도록 하게 하는 원리입니다.


나만의 DIFF-SVC 만들기!

*주의*

해당 인공지능을 학습하기 위해서는 아래와 같은 환경이여야 합니다.
1. CUDA 코어 사용 가능
2. vram이 6gb 이상

해당 게시글 (1)은 공식 가이드를 읽기 편하도록 변경한 것이며 문제가 생길시에는 가이드와 블로그를 함께 보시며 제작하신다면 더 빨리 이해하실수있습니다.

2. diff-svc 학습 준비하기

1. cuda 설치하기

CUDA Toolkit 11.8 Downloads | NVIDIA Developer

 

CUDA Toolkit 11.8 Downloads

Resources CUDA Documentation/Release NotesMacOS Tools Training Sample Code Forums Archive of Previous CUDA Releases FAQ Open Source PackagesSubmit a BugTarball and Zip Archive Deliverables

developer.nvidia.com

cuda download option
위와 같은 옵션을 선택하여 다운로드 합니다.

2. Visual Studio 설치하기

Visual Studio 설치 후 visual c++를 다운로드하아야 합니다
Thank You for Downloading Visual Studio Community Edition (microsoft.com)

 

Visual Studio를 다운로드해 주셔서 감사합니다. - Visual Studio

새로운 개발 도구를 익히는 일은 다소 버겁게 느껴질 수 있습니다. 이 단계별 학습 여정을 통해 원하는 언어로 간단한 앱을 성공적으로 만들 수 있습니다. 시작해 볼까요? 먼저 Visual Studio 다운로

visualstudio.microsoft.com

3. 파이썬 다운로드

파이썬 다운로드 사이트 가기 (3.8) [https://www.python.org/downloads/release/python-3810/]
아래로 쯕 스크롤하다 보면 Files가 보일 것입니다.
이때 아래의 두 개 중 자신의 컴퓨터에 맞는 버전을 설치하면 됩니다.
(3.8 버전 말고 다른 버전은 모델을 구동할 수 없습니다.)

require python install file

 파이썬  설치 후 환경변수 설정을 해야합니다.
윈도우 검색 》시스템 환경변수 편집 》환경변수 클릭 》Path 클릭 》새로 만들기

아래의 경로를 각각 Path에 등록해줍니다.

"C:\파이썬 설치 경로"
"C:\파이썬 설치 경로\Scripts"


기본 파이썬 설치 경로

C:\Users\[user이름]\AppData\Local\Programs\Python\Python38

4. DIFF-SVC 다운로드

diff-svc github사이트 바로가기 prophesier/diff-svc: Singing Voice Conversion via diffusion model (github.com)

 

GitHub - prophesier/diff-svc: Singing Voice Conversion via diffusion model

Singing Voice Conversion via diffusion model. Contribute to prophesier/diff-svc development by creating an account on GitHub.

github.com

해당 사이트에 들어간다음 아래와 초록색 Code 버튼을 클릭한 후 Download ZIP을 눌러 설치합니다.

Download zip position

 

 

5.  checkpoints 파일 추가

다운로드 한 Diff-svc.zip파일을 압축 풀기를 한 후 
아래 사이트에서 checkpoints를 zip형태로 다운로드합니다.
MEGA

 

451.48 MB folder on MEGA

5 files and 3 subfolders

mega.nz

다운로드한 후에 압축 풀기를 진행 한합니다.
압축풀기후 diff-svc 폴더에 checkpoints폴더명으로 생성한 후
폴더 안에 넣습니다.
*추가*
해당 파일을 다운받으실때 종종 복호화 키를 요청할수있으니 아래의 키를 입력해주세요!

GfRANHw8AuuNnveTEVcHdg

참고로 더 좋은 오디오 품질로 학습을 시키고 싶다면

아래 사이트에서 nsf_hifigan_20221211.zip  파일을 다운 받고

checkpoints 폴더 아래의 nsf_hifigan 폴더에
압축 풀기를 진행하세요.

Releases · openvpi/vocoders (github.com) 

 

Releases · openvpi/vocoders

DiffSinger community vocoders release page. Contribute to openvpi/vocoders development by creating an account on GitHub.

github.com

6. 라이브러리 설치하기

그다음 diff-svc 폴더 위치로 커맨드 창을 하나 열어줍니다.
아래의 커맨드를 실행 시켜줍니다.

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117

pip install -r requirements_short.txt

pip install tensorboard (선택)

 
 
지금까지 잘 따라와 주셔서 감사합니다!

다음 게시물에서는 전처리 단계에 대해 자세히 설명하겠습니다.

*설명이 불편하시거나 다음 블로그를 기다리기 힘드신 분들은
아래의 링크를 참조하세요!
Project Overview - The Beginner's Guide to Diff-SVC (gitbook.io)

 

Project Overview - The Beginner's Guide to Diff-SVC

In this guide, we will go through the 4 stages of the Diff-SVC pipeline: Dataset Preparation, Preprocessing, Training, and Inference.

diff-svc.gitbook.io

*출처
Inference - The Beginner's Guide to Diff-SVC (gitbook.io)