|
import os |
|
from pathlib import Path |
|
import requests |
|
|
|
RVC_DOWNLOAD_LINK = "https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/" |
|
|
|
BASE_DIR = Path(__file__).resolve().parent.parent |
|
|
|
|
|
def dl_model(link, model_name, dir_name): |
|
with requests.get(f"{link}{model_name}") as r: |
|
r.raise_for_status() |
|
os.makedirs(os.path.dirname(dir_name / model_name), exist_ok=True) |
|
with open(dir_name / model_name, "wb") as f: |
|
for chunk in r.iter_content(chunk_size=8192): |
|
f.write(chunk) |
|
|
|
|
|
if __name__ == "__main__": |
|
print("Downloading hubert_base.pt...") |
|
dl_model(RVC_DOWNLOAD_LINK, "hubert_base.pt", BASE_DIR / "assets/hubert") |
|
print("Downloading rmvpe.pt...") |
|
dl_model(RVC_DOWNLOAD_LINK, "rmvpe.pt", BASE_DIR / "assets/rmvpe") |
|
print("Downloading vocals.onnx...") |
|
dl_model( |
|
RVC_DOWNLOAD_LINK + "uvr5_weights/onnx_dereverb_By_FoxJoy/", |
|
"vocals.onnx", |
|
BASE_DIR / "assets/uvr5_weights/onnx_dereverb_By_FoxJoy", |
|
) |
|
|
|
rvc_models_dir = BASE_DIR / "assets/pretrained" |
|
|
|
print("Downloading pretrained models:") |
|
|
|
model_names = [ |
|
"D32k.pth", |
|
"D40k.pth", |
|
"D48k.pth", |
|
"G32k.pth", |
|
"G40k.pth", |
|
"G48k.pth", |
|
"f0D32k.pth", |
|
"f0D40k.pth", |
|
"f0D48k.pth", |
|
"f0G32k.pth", |
|
"f0G40k.pth", |
|
"f0G48k.pth", |
|
] |
|
for model in model_names: |
|
print(f"Downloading {model}...") |
|
dl_model(RVC_DOWNLOAD_LINK + "pretrained/", model, rvc_models_dir) |
|
|
|
rvc_models_dir = BASE_DIR / "assets/pretrained_v2" |
|
|
|
print("Downloading pretrained models v2:") |
|
|
|
for model in model_names: |
|
print(f"Downloading {model}...") |
|
dl_model(RVC_DOWNLOAD_LINK + "pretrained_v2/", model, rvc_models_dir) |
|
|
|
print("Downloading uvr5_weights:") |
|
|
|
rvc_models_dir = BASE_DIR / "assets/uvr5_weights" |
|
|
|
model_names = [ |
|
"HP2-%E4%BA%BA%E5%A3%B0vocals%2B%E9%9D%9E%E4%BA%BA%E5%A3%B0instrumentals.pth", |
|
"HP2_all_vocals.pth", |
|
"HP3_all_vocals.pth", |
|
"HP5-%E4%B8%BB%E6%97%8B%E5%BE%8B%E4%BA%BA%E5%A3%B0vocals%2B%E5%85%B6%E4%BB%96instrumentals.pth", |
|
"HP5_only_main_vocal.pth", |
|
"VR-DeEchoAggressive.pth", |
|
"VR-DeEchoDeReverb.pth", |
|
"VR-DeEchoNormal.pth", |
|
] |
|
for model in model_names: |
|
print(f"Downloading {model}...") |
|
dl_model(RVC_DOWNLOAD_LINK + "uvr5_weights/", model, rvc_models_dir) |
|
|
|
print("All models downloaded!") |
|
|