diff --git a/rvc/onnx/infer.py b/rvc/onnx/infer.py index 07f62cc..68f6f12 100644 --- a/rvc/onnx/infer.py +++ b/rvc/onnx/infer.py @@ -6,6 +6,7 @@ from onnx.f0predictor import PMF0Predictor from onnx.f0predictor import HarvestF0Predictor from onnx.f0predictor import DioF0Predictor + class ContentVec: def __init__(self, vec_path: str, device=None): if device == "cpu" or device is None: @@ -30,12 +31,14 @@ class ContentVec: logits = self.model.run(None, onnx_input)[0] return logits.transpose(0, 2, 1) + predicters = { "pm": PMF0Predictor, "harvest": HarvestF0Predictor, "dio": DioF0Predictor, } + def get_f0_predictor(f0_method, hop_length, sampling_rate): return predicters[f0_method](hop_length=hop_length, sampling_rate=sampling_rate) diff --git a/tools/onnx/onnx_inference_demo.py b/tools/onnx/onnx_inference_demo.py index 9f440fe..a6bf3db 100644 --- a/tools/onnx/onnx_inference_demo.py +++ b/tools/onnx/onnx_inference_demo.py @@ -9,7 +9,7 @@ f0_up_key = 0 # 升降调 sid = 0 # 角色ID f0_method = "dio" # F0提取算法 model_path = "exported_model.onnx" # 模型的完整路径 -vec_path = "vec-256-layer-9.onnx" # 需要onnx的vec模型 +vec_path = "vec-256-layer-9.onnx" # 需要onnx的vec模型 wav_path = "123.wav" # 输入路径或ByteIO实例 out_path = "out.wav" # 输出路径或ByteIO实例