CoolFace
Apppublic

wonkitty/apple_oh

sourceHugging Faceupdated 3y agoView on Hugging Face
0likes
infer_batch_rvc.py73 linesDownload Raw Back to tools
1import argparse2import os3import sys4 5print("Command-line arguments:", sys.argv)6 7now_dir = os.getcwd()8sys.path.append(now_dir)9import sys10 11import tqdm as tq12from dotenv import load_dotenv13from scipy.io import wavfile14 15from configs.config import Config16from infer.modules.vc.modules import VC17 18 19def arg_parse() -> tuple:20    parser = argparse.ArgumentParser()21    parser.add_argument("--f0up_key", type=int, default=0)22    parser.add_argument("--input_path", type=str, help="input path")23    parser.add_argument("--index_path", type=str, help="index path")24    parser.add_argument("--f0method", type=str, default="harvest", help="harvest or pm")25    parser.add_argument("--opt_path", type=str, help="opt path")26    parser.add_argument("--model_name", type=str, help="store in assets/weight_root")27    parser.add_argument("--index_rate", type=float, default=0.66, help="index rate")28    parser.add_argument("--device", type=str, help="device")29    parser.add_argument("--is_half", type=bool, help="use half -> True")30    parser.add_argument("--filter_radius", type=int, default=3, help="filter radius")31    parser.add_argument("--resample_sr", type=int, default=0, help="resample sr")32    parser.add_argument("--rms_mix_rate", type=float, default=1, help="rms mix rate")33    parser.add_argument("--protect", type=float, default=0.33, help="protect")34 35    args = parser.parse_args()36    sys.argv = sys.argv[:1]37 38    return args39 40 41def main():42    load_dotenv()43    args = arg_parse()44    config = Config()45    config.device = args.device if args.device else config.device46    config.is_half = args.is_half if args.is_half else config.is_half47    vc = VC(config)48    vc.get_vc(args.model_name)49    audios = os.listdir(args.input_path)50    for file in tq.tqdm(audios):51        if file.endswith(".wav"):52            file_path = os.path.join(args.input_path, file)53            _, wav_opt = vc.vc_single(54                0,55                file_path,56                args.f0up_key,57                None,58                args.f0method,59                args.index_path,60                None,61                args.index_rate,62                args.filter_radius,63                args.resample_sr,64                args.rms_mix_rate,65                args.protect,66            )67            out_path = os.path.join(args.opt_path, file)68            wavfile.write(out_path, wav_opt[0], wav_opt[1])69 70 71if __name__ == "__main__":72    main()73