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