| 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!") |
|
|