mirror of
https://github.com/fumiama/Retrieval-based-Voice-Conversion-WebUI.git
synced 2026-06-10 04:50:26 +08:00
fix(rvcmd): windows path issue
This commit is contained in:
@@ -18,7 +18,7 @@ def sha256(f) -> str:
|
|||||||
|
|
||||||
def check_model(dir_name: Path, model_name: str, hash: str) -> bool:
|
def check_model(dir_name: Path, model_name: str, hash: str) -> bool:
|
||||||
target = dir_name / model_name
|
target = dir_name / model_name
|
||||||
relname = str(target)
|
relname = target.as_posix()
|
||||||
relname = relname[relname.rindex("assets/") :]
|
relname = relname[relname.rindex("assets/") :]
|
||||||
logger.debug(f"checking {relname}...")
|
logger.debug(f"checking {relname}...")
|
||||||
if not os.path.exists(target):
|
if not os.path.exists(target):
|
||||||
@@ -41,21 +41,21 @@ def check_all_assets() -> bool:
|
|||||||
logger.info("checking hubret & rmvpe...")
|
logger.info("checking hubret & rmvpe...")
|
||||||
|
|
||||||
if not check_model(
|
if not check_model(
|
||||||
BASE_DIR / "assets/hubert",
|
BASE_DIR / "assets" / "hubert",
|
||||||
"hubert_base.pt",
|
"hubert_base.pt",
|
||||||
os.environ["sha256_hubert_base_pt"],
|
os.environ["sha256_hubert_base_pt"],
|
||||||
):
|
):
|
||||||
return False
|
return False
|
||||||
if not check_model(
|
if not check_model(
|
||||||
BASE_DIR / "assets/rmvpe", "rmvpe.pt", os.environ["sha256_rmvpe_pt"]
|
BASE_DIR / "assets" / "rmvpe", "rmvpe.pt", os.environ["sha256_rmvpe_pt"]
|
||||||
):
|
):
|
||||||
return False
|
return False
|
||||||
if not check_model(
|
if not check_model(
|
||||||
BASE_DIR / "assets/rmvpe", "rmvpe.onnx", os.environ["sha256_rmvpe_onnx"]
|
BASE_DIR / "assets" / "rmvpe", "rmvpe.onnx", os.environ["sha256_rmvpe_onnx"]
|
||||||
):
|
):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
rvc_models_dir = BASE_DIR / "assets/pretrained"
|
rvc_models_dir = BASE_DIR / "assets" / "pretrained"
|
||||||
logger.info("checking pretrained models...")
|
logger.info("checking pretrained models...")
|
||||||
model_names = [
|
model_names = [
|
||||||
"D32k.pth",
|
"D32k.pth",
|
||||||
@@ -76,7 +76,7 @@ def check_all_assets() -> bool:
|
|||||||
if not check_model(rvc_models_dir, model, os.environ[f"sha256_v1_{menv}"]):
|
if not check_model(rvc_models_dir, model, os.environ[f"sha256_v1_{menv}"]):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
rvc_models_dir = BASE_DIR / "assets/pretrained_v2"
|
rvc_models_dir = BASE_DIR / "assets" / "pretrained_v2"
|
||||||
logger.info("checking pretrained models v2...")
|
logger.info("checking pretrained models v2...")
|
||||||
for model in model_names:
|
for model in model_names:
|
||||||
menv = model.replace(".", "_")
|
menv = model.replace(".", "_")
|
||||||
@@ -84,7 +84,7 @@ def check_all_assets() -> bool:
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
logger.info("checking uvr5_weights...")
|
logger.info("checking uvr5_weights...")
|
||||||
rvc_models_dir = BASE_DIR / "assets/uvr5_weights"
|
rvc_models_dir = BASE_DIR / "assets" / "uvr5_weights"
|
||||||
model_names = [
|
model_names = [
|
||||||
"HP2-人声vocals+非人声instrumentals.pth",
|
"HP2-人声vocals+非人声instrumentals.pth",
|
||||||
"HP2_all_vocals.pth",
|
"HP2_all_vocals.pth",
|
||||||
@@ -100,7 +100,7 @@ def check_all_assets() -> bool:
|
|||||||
if not check_model(rvc_models_dir, model, os.environ[f"sha256_uvr5_{menv}"]):
|
if not check_model(rvc_models_dir, model, os.environ[f"sha256_uvr5_{menv}"]):
|
||||||
return False
|
return False
|
||||||
if not check_model(
|
if not check_model(
|
||||||
BASE_DIR / "assets/uvr5_weights/onnx_dereverb_By_FoxJoy",
|
BASE_DIR / "assets" / "uvr5_weights" / "onnx_dereverb_By_FoxJoy",
|
||||||
"vocals.onnx",
|
"vocals.onnx",
|
||||||
os.environ[f"sha256_uvr5_vocals_onnx"],
|
os.environ[f"sha256_uvr5_vocals_onnx"],
|
||||||
):
|
):
|
||||||
@@ -141,7 +141,7 @@ def download_and_extract_zip(url: str, folder: str):
|
|||||||
def download_dns_yaml(url: str, folder: str):
|
def download_dns_yaml(url: str, folder: str):
|
||||||
logger.info(f"downloading {url}")
|
logger.info(f"downloading {url}")
|
||||||
response = requests.get(url, stream=True, timeout=(5, 10))
|
response = requests.get(url, stream=True, timeout=(5, 10))
|
||||||
with open(f"{folder}/dns.yaml", "wb") as out_file:
|
with open(os.path.join(folder, "dns.yaml"), "wb") as out_file:
|
||||||
out_file.write(response.content)
|
out_file.write(response.content)
|
||||||
logger.info(f"downloaded into {folder}")
|
logger.info(f"downloaded into {folder}")
|
||||||
|
|
||||||
@@ -176,7 +176,7 @@ def download_all_assets(tmpdir: str, version="0.2.2"):
|
|||||||
)
|
)
|
||||||
suffix = "zip" if is_win else "tar.gz"
|
suffix = "zip" if is_win else "tar.gz"
|
||||||
RVCMD_URL = BASE_URL + f"v{version}/rvcmd_{system_type}_{architecture}.{suffix}"
|
RVCMD_URL = BASE_URL + f"v{version}/rvcmd_{system_type}_{architecture}.{suffix}"
|
||||||
cmdfile = tmpdir + "/rvcmd"
|
cmdfile = os.path.join(tmpdir, "rvcmd")
|
||||||
if is_win:
|
if is_win:
|
||||||
download_and_extract_zip(RVCMD_URL, tmpdir)
|
download_and_extract_zip(RVCMD_URL, tmpdir)
|
||||||
cmdfile += ".exe"
|
cmdfile += ".exe"
|
||||||
@@ -207,5 +207,5 @@ def download_all_assets(tmpdir: str, version="0.2.2"):
|
|||||||
download_and_extract_tar_gz(RVCMD_URL, tmpdir)
|
download_and_extract_tar_gz(RVCMD_URL, tmpdir)
|
||||||
os.chmod(cmdfile, 0o755)
|
os.chmod(cmdfile, 0o755)
|
||||||
subprocess.run(
|
subprocess.run(
|
||||||
[cmdfile, "-notui", "-w", "0", "-dns", f"{tmpdir}/dns.yaml", "assets/all"]
|
[cmdfile, "-notui", "-w", "0", "-dns", os.path.join(tmpdir, "dns.yaml"), "assets/all"]
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user