Introduction to the RVC-TTS-Pipeline
The RVC-TTS-Pipeline is a state-of-the-art tool designed to bridge the gap between Text-to-Speech (TTS) systems and high-fidelity voice conversion. By utilizing this pipeline, users can achieve TTS outputs that are remarkably close to the original speaker's voice on which they have been trained. It operates by taking an audio file generated from any TTS system, such as Tortoise or VITS, and converting it using trained weights from an RVC (Recurrent Variational Cognition) model.
Installation Steps
Setting up the RVC-TTS-Pipeline requires a few straightforward steps. Firstly, it is crucial to have PyTorch installed on the system, as it is a prerequisite for installing RVC. The RVC installation can be completed with a simple command line entry:
pip install -e git+https://github.com/JarodMica/rvc.git#egg=rvc
Additionally, two specific files, hubert_base.pt
and rmvpe.pt
, need to be acquired from the RVC repository. These should be placed in the parent directory of the working project or in the same directory where the scripts will be executed.
For those who prefer installing RVC-TTS-Pipeline as a standalone package, it is recommended to install it using:
pip install -e git+https://github.com/JarodMica/rvc-tts-pipeline.git#egg=rvc_tts_pipe
This approach conveniently allows for the importation of rvc_infer
without the need to relocate the package.
Basic Usage Instructions
The primary function within this pipeline that users will interact with is the rvc_convert
function. This function requires only two essential parameters:
model_path
: This specifies the path to the RVC model.input_path
: This indicates the path to the audio file that needs conversion, which can be a TTS-generated output.
A basic usage example is provided below:
from rvc_infer import rvc_convert
rvc_convert(model_path="your_model_path_here", input_path="your_audio_path_here")
The function’s documentation, accessible through docstrings, elaborates on additional parameters, notably pitch adjustment and f0 method selection, allowing users to fine-tune the conversion to their needs.
Important Notes
It is worth noting that the GitHub packages for this project work only if installed in editable mode (using the -e
option). This requirement might relate to the structure of the package and its dependencies when executed. Future updates will address this if the necessity arises to move away from the editable installation mode.
Acknowledgements
The RVC-TTS-Pipeline owes much to the original creators of the RVC technology, as it heavily utilizes their codebase to function effectively. The project acknowledges and appreciates the foundational work these creators have done, without which this tool would not be possible.