git clone https://github.com/hanseul37/RVC-TTS.git
cd RVC-TTS
pip 최신 버전(24.1)에서는 설치에 문제가 있을 수 있습니다.
pip install --upgrade pip==23.0.1로 다운그레이드하여 설치를 진행해주세요.
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
시스템에 ffmpeg를 설치합니다.
brew install ffmpegRVC는 추론과 훈련을 위해 다른 일부 사전 훈련된 모델이 필요합니다. Hugging Face space에서 다운로드할 수 있습니다.
hubert, pretrained_v2, rmvpe 모델 파일들을 다운로드 한 후, Retrieval_based_Voice_Conversion_WebUI/assets 폴더의 각 모델 폴더에 모델을 위치시킵니다.
models 폴더에도 hubert, rmvpe 모델을 저장합니다.
모델로 생성하고자 하는 음성을 .wav 파일 형식으로 dataset 폴더에 준비합니다.
다음처럼 Model 파라미터를 조정하여 모델을 학습합니다.
생성된 모델은 models/RVC 폴더에, 인덱스 파일은 models/RVC/.index 폴더에 저장됩니다.
from schemas.model import Model
from core.train import train_model
model = Model(
model_name = 'test1',
wav = 'dataset/test.wav',
epoch = 10,
batch_size = 7
)
model_path, index_path = train_model(model)
변환하고자 하는 음성을 준비합니다.
변환하고자 하는 음성이 mp3 형식일 경우, tts/mp3 폴더에 음성 파일을 위치시키고, 다음 코드를 사용하여 wav 형식으로 변환할 수 있습니다.
from core.convert import mp3_to_wav
mp3 = 'test_tts'
tts = mp3_to_wav(mp3)
변환하고자 하는 음성이 wav 형식일 경우, tts/wav 폴더에 음성 파일을 위치시킵니다.
RVC 모델을 models/RVC 폴더에, 인덱스 파일을 models/RVC/.index 폴더에 저장합니다.
이 프로젝트의 Train 과정을 진행하였다면, 모델은 자동적으로 이 위치에 이동되므로 이 작업은 생략할 수 있습니다.
다음처럼 원하는 Voice 파라미터를 입력하여 추론을 진행합니다.
추론이 완료된 음성은 output 폴더에 저장됩니다.
from schemas.voice import Voice
from core.inference import inference_voice
voice = Voice(
tts = tts,
model_path = model_path,
f0_up_key = 0,
f0_method = "rmvpe",
merge_type = "median",
f0_autotune = False,
resample_sr = "0",
index_rate = 0.75,
filter_radius = 3,
rms_mix_rate = 0.2,
protect = 0.2
)
inference_voice(voice)
Train, Inference 전체 예시는 main.py에서 확인할 수 있습니다.
아래 링크는 침착맨 유튜브의 5분 음성으로 epoch=5, batch_size=7로 학습한 RVC 모델로 뉴스 TTS 음성을 추론한 예시입니다.
다음 링크에서는 위 영상에서 변환한 음성을 확인할 수 있습니다.
현재 Amazon Polly 서비스를 이용하여 RVC 모델의 학습부터 추론까지 이어지는 파이프라인 구현을 완료하였습니다.
이 경우, Polly의 한국어 음성은 여성 음성인 '서연'만 사용가능하여 남성 음성 변환 시, 정확도가 떨어지는 문제가 발생할 가능성이 있습니다.
이에, 다른 TTS 서비스와 연계하여 정확도 높은 음성을 학습, 추론하는 과정을 계획중입니다.
37 commits
2 commits
Python
96.3%
Jupyter Notebook
2.2%
Batchfile
1.0%
git clone https://github.com/hanseul37/RVC-TTS.git
cd RVC-TTS
pip 최신 버전(24.1)에서는 설치에 문제가 있을 수 있습니다.
pip install --upgrade pip==23.0.1로 다운그레이드하여 설치를 진행해주세요.
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
시스템에 ffmpeg를 설치합니다.
brew install ffmpegRVC는 추론과 훈련을 위해 다른 일부 사전 훈련된 모델이 필요합니다. Hugging Face space에서 다운로드할 수 있습니다.
hubert, pretrained_v2, rmvpe 모델 파일들을 다운로드 한 후, Retrieval_based_Voice_Conversion_WebUI/assets 폴더의 각 모델 폴더에 모델을 위치시킵니다.
models 폴더에도 hubert, rmvpe 모델을 저장합니다.
모델로 생성하고자 하는 음성을 .wav 파일 형식으로 dataset 폴더에 준비합니다.
다음처럼 Model 파라미터를 조정하여 모델을 학습합니다.
생성된 모델은 models/RVC 폴더에, 인덱스 파일은 models/RVC/.index 폴더에 저장됩니다.
from schemas.model import Model
from core.train import train_model
model = Model(
model_name = 'test1',
wav = 'dataset/test.wav',
epoch = 10,
batch_size = 7
)
model_path, index_path = train_model(model)
변환하고자 하는 음성을 준비합니다.
변환하고자 하는 음성이 mp3 형식일 경우, tts/mp3 폴더에 음성 파일을 위치시키고, 다음 코드를 사용하여 wav 형식으로 변환할 수 있습니다.
from core.convert import mp3_to_wav
mp3 = 'test_tts'
tts = mp3_to_wav(mp3)
변환하고자 하는 음성이 wav 형식일 경우, tts/wav 폴더에 음성 파일을 위치시킵니다.
RVC 모델을 models/RVC 폴더에, 인덱스 파일을 models/RVC/.index 폴더에 저장합니다.
이 프로젝트의 Train 과정을 진행하였다면, 모델은 자동적으로 이 위치에 이동되므로 이 작업은 생략할 수 있습니다.
다음처럼 원하는 Voice 파라미터를 입력하여 추론을 진행합니다.
추론이 완료된 음성은 output 폴더에 저장됩니다.
from schemas.voice import Voice
from core.inference import inference_voice
voice = Voice(
tts = tts,
model_path = model_path,
f0_up_key = 0,
f0_method = "rmvpe",
merge_type = "median",
f0_autotune = False,
resample_sr = "0",
index_rate = 0.75,
filter_radius = 3,
rms_mix_rate = 0.2,
protect = 0.2
)
inference_voice(voice)
Train, Inference 전체 예시는 main.py에서 확인할 수 있습니다.
아래 링크는 침착맨 유튜브의 5분 음성으로 epoch=5, batch_size=7로 학습한 RVC 모델로 뉴스 TTS 음성을 추론한 예시입니다.
다음 링크에서는 위 영상에서 변환한 음성을 확인할 수 있습니다.
현재 Amazon Polly 서비스를 이용하여 RVC 모델의 학습부터 추론까지 이어지는 파이프라인 구현을 완료하였습니다.
이 경우, Polly의 한국어 음성은 여성 음성인 '서연'만 사용가능하여 남성 음성 변환 시, 정확도가 떨어지는 문제가 발생할 가능성이 있습니다.
이에, 다른 TTS 서비스와 연계하여 정확도 높은 음성을 학습, 추론하는 과정을 계획중입니다.
37 commits
2 commits
Python
96.3%
Jupyter Notebook
2.2%
Batchfile
1.0%