RVC-TTS 流水线
从TTS到RVC的流水线。这似乎能产生最佳音质的TTS,最接近原始说话者的声音,这可能是经过训练的。它的工作原理是输入由某种TTS(如tortoise、vits等)生成的音频文件,然后使用RVC模型的训练权重进行转换。
要使其正常工作,必须先在系统上安装pytorch,以便安装RVC。如果没有安装,我遇到了必须卸载并重新安装torch的问题(尽管我可能应该只调整rvc内部的依赖要求)。
这仍然是一个正在进行中的工作,可能会有bug和问题。
安装
-
首先在这里安装pytorch:https://pytorch.org/get-started/locally/
-
然后,要安装rvc,运行以下命令:
pip install -e git+https://github.com/JarodMica/rvc.git#egg=rvc
- 最后,你需要从rvc获取
hubert_base.pt
和rmvpe.pt
文件,并将它们放入你正在工作的项目的父目录中(或者运行脚本的相同位置)
如果你想将rvc-tts-pipeline作为独立包安装,运行以下命令(推荐)
pip install -e git+https://github.com/JarodMica/rvc-tts-pipeline.git#egg=rvc_tts_pipe
这将允许你导入rvc_infer
,这样你就不需要移动这个包。
基本用法
唯一应该调用的函数是rvc_convert
函数。绝对需要的唯一必需参数是:
model_path = 模型路径
input_path = 要转换的音频文件路径(或TTS输出音频文件)
然后,可以简单地像下面这样调用:
from rvc_infer import rvc_convert
rvc_convert(model_path="你的模型路径", input_path="你的音频路径")
rvc_convert的文档字符串详细说明了你可能想要调整的其他值,可能最重要的是pitch和f0method。
注意事项
目前,github包只有在可编辑模式下安装才能工作。具体原因我不太确定,但可能与包结构等有关。如果将来"-e"不适合我的项目,我会在需要时寻找解决方案。
致谢
非常感谢RVC的创作者,没有他们这一切都不可能实现。这里使用了他们的大量代码来使这成为可能。