AI-RVC / infer /official_upstream_uvr_runner.py
mason369's picture
Upload folder using huggingface_hub
b15e31b verified
# -*- coding: utf-8 -*-
"""Subprocess runner for vendored upstream UVR5 separation."""
from __future__ import annotations
import argparse
import logging
import os
import sys
from pathlib import Path
def parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser(description="Run vendored upstream UVR5 separation")
parser.add_argument("--model-name", required=True)
parser.add_argument("--input-dir", required=True)
parser.add_argument("--save-root-vocal", required=True)
parser.add_argument("--save-root-ins", required=True)
parser.add_argument("--agg", type=int, required=True)
parser.add_argument("--format", required=True)
return parser.parse_args()
def main() -> int:
args = parse_args()
repo_root = Path(__file__).resolve().parent.parent
official_root = repo_root / "_official_rvc"
logging.basicConfig(level=logging.INFO, format="%(asctime)s | %(levelname)s | %(name)s | %(message)s")
sys.path.insert(0, str(official_root))
os.chdir(official_root)
sys.argv = [sys.argv[0]]
from infer.modules.uvr5.modules import uvr # type: ignore
for progress_info in uvr(
args.model_name,
args.input_dir,
args.save_root_vocal,
[],
args.save_root_ins,
args.agg,
args.format,
):
if progress_info:
print(progress_info, flush=True)
return 0
if __name__ == "__main__":
raise SystemExit(main())