| import os
|
| import wget
|
|
|
| url_base = "https://huggingface.co/IAHispano/Applio/resolve/main/Resources"
|
| pretraineds_v1_list = [
|
| (
|
| "pretrained_v1/",
|
| [
|
| "D32k.pth",
|
| "D40k.pth",
|
| "D48k.pth",
|
| "G32k.pth",
|
| "G40k.pth",
|
| "G48k.pth",
|
| "f0D32k.pth",
|
| "f0D40k.pth",
|
| "f0D48k.pth",
|
| "f0G32k.pth",
|
| "f0G40k.pth",
|
| "f0G48k.pth",
|
| ],
|
| ),
|
| ]
|
| pretraineds_v2_list = [
|
| (
|
| "pretrained_v2/",
|
| [
|
| "D32k.pth",
|
| "D40k.pth",
|
| "D48k.pth",
|
| "G32k.pth",
|
| "G40k.pth",
|
| "G48k.pth",
|
| "f0D32k.pth",
|
| "f0D40k.pth",
|
| "f0D48k.pth",
|
| "f0G32k.pth",
|
| "f0G40k.pth",
|
| "f0G48k.pth",
|
| ],
|
| ),
|
| ]
|
|
|
| models_list = [
|
| "rmvpe.pt",
|
| "fcpe.pt",
|
|
|
| ]
|
|
|
| embedders_list = [
|
| (
|
| "embedders/",
|
| [
|
| "hubert_base.pt",
|
| "contentvec_base.pt",
|
| ],
|
| ),
|
| ]
|
|
|
| executables_list = ["ffmpeg.exe", "ffprobe.exe"]
|
|
|
| folder_mapping_list = {
|
| "pretrained_v1/": "rvc/pretraineds/pretrained_v1/",
|
| "pretrained_v2/": "rvc/pretraineds/pretrained_v2/",
|
| "embedders/": "rvc/embedders/",
|
| }
|
|
|
|
|
| def prequisites_download_pipeline(pretraineds_v1, pretraineds_v2, models, exe):
|
| def download_files(file_list):
|
| for file_name in file_list:
|
| destination_path = os.path.join(file_name)
|
| url = f"{url_base}/{file_name}"
|
| if not os.path.exists(destination_path):
|
| os.makedirs(os.path.dirname(destination_path) or ".", exist_ok=True)
|
| print(f"\nDownloading {url} to {destination_path}...")
|
| wget.download(url, out=destination_path)
|
|
|
| def download_mapping_files(list):
|
| for remote_folder, file_list in list:
|
| local_folder = folder_mapping_list.get(remote_folder, "")
|
| for file in file_list:
|
| destination_path = os.path.join(local_folder, file)
|
| url = f"{url_base}/{remote_folder}{file}"
|
| if not os.path.exists(destination_path):
|
| os.makedirs(os.path.dirname(destination_path) or ".", exist_ok=True)
|
| print(f"\nDownloading {url} to {destination_path}...")
|
| wget.download(url, out=destination_path)
|
|
|
| if models == "True":
|
| download_files(models_list)
|
| download_mapping_files(embedders_list)
|
|
|
| if exe == "True" and os.name == "nt":
|
| download_files(executables_list)
|
|
|
| if pretraineds_v1 == "True":
|
| download_mapping_files(pretraineds_v1_list)
|
|
|
| if pretraineds_v2 == "True":
|
| download_mapping_files(pretraineds_v2_list)
|
|
|