Currently, the basics work; you can infer just fine however there's a length limit ( despite the internal slicing ) of around 50 seconds - at least on my machine.
I have to find a better and more efficient segmentation mechanism, til then yea.
- Adding index/faiss support
- Automating stuff / making i/o handling easier.
- Adding rmvpe f0 method
- Better automation and easier input/output managment + stuff picker.
- Possibly even a gui or web-ui ~ one day huh.
- Quite possibly a tflite model exporting for future Mobile-RVC-infer-port-project ( Not 100% sure yet, concept stage. )
https://huggingface.co/NaruseMioShirakana/MoeSS-SUBModel/tree/main
Place it here: RVC_Onnx_Infer/assets/vec
reference: 'RVC_Onnx_Infer/assets/vec/vec-768-layer-12.onnx'
⠀
( You set which one to use in the 30th line of 'RVC_Onnx_Infer.py' script )
model_path = os.path.join("onnx_models", "Your_Model.onnx") # Your .ONNX model
⠀
( Script will pick only the first found .wav in there, so, always have just 1 in there to avoid issues. )
⠀
( One at a time. Any consecutive inferences will overwrite the previous file so, copy / move it somewhere else.
⠀
The 27th line of 'RVC_Onnx_Infer.py' script;
device = "cpu" # options: dml, cuda, cpu
⠀
The 22nd line of 'RVC_Onnx_Infer.py' script;
hop_size = 64 # hop size for inference. ( Currently, applies only to dio F0 )
Try: 32, 64, 128, 256, 512 or custom of your choice.
⠀
⠀
⠀
- Inference max length limit off - No more '50 seconds max' per infer / file length.
( Now it's internally slicing, inferencing the segments 1 by 1 to avoid memory issues and merging it all into 1 final output. ) - DML x CPU is set as default for the main device.
- PM F0 Pitch estimation: Yea, I sorta fixed it but it's not perfect ( Doesn't support custom hop length too ) - Dio is better.
That is, until a workaround for pitch offset / hop length related(?) is found.
- Cosmetics changes - Made the console a lil bit more fancy lol + logging of segmenting process and so on.
⠀
⠀
⠀
- Project is in an early alpha-dev / test / debug state.
- Currently only Dio F0 Pitch estimation until I figure out the rest.
- It is supporting RVC V2 onnx models only.
(V1 models do not work unless you get 256-layer-9 vec onnx and modify the code appropriately.) ⠀ - CPU is set by default as the main device for the sake of compatibility, need more testing.