Package: rvc-python
RVC PythonUsing RVC via console or python scriptsFeel free to make PRs or use the code for your own needsChangelogYou can keep track of all changes on therelease pageTODOBatch generation via consolePossibility to use inference import through codeInstallationSimple installation :pipinstallrvc-pythonThis will install all the necessary dependencies, including aCPU support onlyversion of PyTorchI recommend that you install theGPU versionto improve processing speed ( up to 3 times faster )Read the end of the README to learn how to install.Windowspython-mvenvvenv
venv\Scripts\activate
pipinstallrvc-python
pipinstalltorch==2.1.1+cu118torchaudio==2.1.1+cu118--index-urlhttps://download.pytorch.org/whl/cu118Linuxpython-mvenvvenvsourcevenv\bin\activate
pipinstallrvc-python
pipinstalltorch==2.1.1+cu118torchaudio==2.1.1+cu118--index-urlhttps://download.pytorch.org/whl/cu118Usagepython-mrvc_python[-h]-iINPUTor-dINPUT_DIR-mpMODEL[-piPITCH][-ipINDEX][-meMETHOD][-vVERSION][-oOUTPUT][-irINDEX_RATE][-dDEVICE][-frFILTER_RADIUS][-rsrRESAMPLE_SR][-rmrRMS_MIX_RATE][-prPROTECT]Options-h,--help:
Show this help message and exit.-i INPUT,--input INPUT(mandatory):
Path to input file.-d INPUT_DIR,--dir(mandatory)
Path to dir with input files-mp MODEL,--model MODEL(mandatory):
Path to model file.The following options are optional:-pi PITCH,--pitch PITCH:
Transpose integer; number of semitones. Raise by an octave with +12 or lower by an octave with -12.-ip INDEX,--index INDEX:
Path to index file.-me METHOD,--method METHOD:
Pitch extraction algorithm choices: ['harvest', 'crepe', 'rmvpe', 'pm'].-v VERSION,--version VERSION:
Version of the software or model ('v1' or 'v2').-o OUTPUT,--output OUTPUT:
Output path for results (default is "out.wav").
If you specify -d, you need to specify the path to the folder where the files will be saved.-ir INDEX_RATE,--index_rate INDEX_RATE:
Search feature ratio.-d DEVICE,--device DEVICE:
Device to use for processing (e.g., 'cpu' or 'cuda:0').-fr FILTER_RADIUS,--filter_radius FILTER_RADIUS:
Apply median filtering to pitch results. A larger value can reduce breathiness.-rsr RESAMPLE_SR,--resample_sr RESAMPLE_SR:
Resample output audio in post-processing. Set "0" for no resampling.-rmr RMS_MIX_RATE,--rms_mix_rate RMS_MIX_RATE:
Mix rate between input volume envelope and output volume envelope. Closer to "1" uses more from the output.-pr PROTECT,--protect PROTECT:
Protects voiceless consonants and breath sounds from artifacts such as tearing in electronic music. Decrease value for increased protection but may affect indexing accuracy.Example Command via consoleSingle filepython-mrvc_python-i.\test\test.wav-mp.\test\art_lebedev\artemiy_lebedev.pthBatchpython-mrvc_python-d./test-o"./out_dir"-mp./test/art_lebedev/artemiy_lebedev.pthThis example will process the audio file located at ".\test\test.wav" using the model file ".\test\art_lebedev\artemiy_lebedev.pth". All other settings will be default unless additional flags are provided.Example via pythonfromrvc_python.inferimportinfer_file,infer_files# To process a single file:result=infer_file(input_path="./path_to_file",model_path="./model/path_to_model.pth",index_path="",# Optional: specify path to index file if availabledevice="cuda:0",# Use cpu or cudaf0method="harvest",# Choose between 'harvest', 'crepe', 'rmvpe', 'pm'pitch=0,# Transpose settingoutput="out.wav",# Output file pathindex_rate=0.5,filter_radius=3,resample_sr=0,# Set to desired sample rate or 0 for no resampling.rms_mix_rate=0.25,protect=0.33,version="v2")print("Inference completed. Output saved to:",result)# To process multiple files in a directory:results=infer_files(dir_path="./input_dir/",# Directory containing input audio filespaths=[],# You can specify each file separately, then files from dir_path files will not be countedopt_dir="./output_dir/",# Directory where output files will be savedmodel_path="./model/path_to_model.pth",index_path="",# Optional: specify path to index file if availabledevice="cuda:0",# Use cpu or cudaf0method="harvest",# Choose between 'harvest', 'crepe', 'rmvpe', 'pm'pitch=0,# Transpose settingindex_rate=0.5,filter_radius=3,resample_sr=0,# Set to desired sample rate or 0 for no resampling.rms_mix_rate=0.25,protect=0.33,version="v2"out_format="wav")print(f"Inference completed for batch processing. Check the '{results}' directory for output files.")Demohttps://github.com/daswer123/rvc-python/assets/22278673/6ecb590e-8a71-46aa-8ade-ba3fcfd75009CUDA installationThese steps are recommended for those who requirebetter performanceand have a compatible NVIDIA GPU.Note:to check if your NVIDIA GPU supports CUDA, visit theofficial CUDA GPUs list.To use torch with support via CUDA please follow these steps:Note:newer pytorch installationsmay(unverified) not need Toolkit (and possibly cuDNN) installation anymore.Install NVIDIA CUDA Toolkit:
For example, to install Toolkit 11.8 pleaseVisitNVIDIA CUDA Toolkit Archive.Select version 11.Download and install the software.Install NVIDIA cuDNN:
For example, to install cuDNN 8.7.0 for CUDA 11.x pleaseVisitNVIDIA cuDNN Archive.Click on "Download cuDNN v8.7.0 (November 28th, 2022), for CUDA 11.x".Download and install the software.Install ffmpeg:You can download an installer for your OS from theffmpeg Website.Or use a package manager:On Ubuntu or Debian:sudoaptupdate&&sudoaptinstallffmpegOn Arch Linux:sudopacman-SffmpegOn MacOS using Homebrew(https://brew.sh/):brewinstallffmpegOn Windows using Chocolatey(https://chocolatey.org/):chocoinstallffmpegOn Windows using Scoop(https://scoop.sh/):scoopinstallffmpegInstall Microsoft Builders ToolsYou can download an installer for your OS from theMicrosoft WebsiteInstall PyTorch with CUDA support:pipinstalltorch==2.1.1+cu118torchaudio==2.1.1+cu118--index-urlhttps://download.pytorch.org/whl/cu118