TTS-WITH-RVC (带RVC的文本到语音)是一个软件包,旨在通过引入RVC模块来增强文本到语音(TTS)系统的功能。该软件包使用户不仅可以将文本转换为语音,还可以根据RVC支持的偏好来个性化和自定义语音输出。
需要带有CUDA或MPS的Pytorch才能获得TTS-RVC工作。
它可能包含错误。报告错误的问题。
0.1.4- 2024年11月22日:添加了index_path和index_rate参数,以更多地控制基于索引的语音转换
0.1.3-解决了很多问题,有些优化。
您必须安装Python <= 3.10 (建议使用3.10)。
您必须为您的GPU提供CUDA或MPS支持(MPS尚未测试)。
在此处安装带有CUDA或MPS支持的Pytorch:https://pytorch.org/get-started/locally/
然后,使用PIP安装安装TTS-WITH-RVC:
python -m pip install git+https://github.com/Atm4x/tts-with-rvc.git#egg=tts_with_rvc
python -m pip install git+https://github.com/Atm4x/rvc-lib.git@dev#egg=rvc
python -m pip install -e git+https://github.com/Atm4x/rvc-lib.git#egg=rvclib
python -m pip install git+https://github.com/Atm4x/rvc-tts-pipeline-fix.git@dev#egg=rvc_tts_pipe
Path中的Environment variables中。 tts-with-rvc有一个称为TTS_RVC的类。需要一些参数:
rvc_path通往安装的RVClib目录的路径(通常在VENV/SRC文件夹中。)。
input_directory输入目录的路径(用于保存TTS输出的温度目录)
model_path通往.pth模型的路径
和可选参数:
voice - edge-tts列表中的声音(默认是“ ru-ru-dmitryneal”)
output_directory保存声音音频的目录( temp/默认值)。
index_path语音模型调整的文件索引路径(默认为空字符串"" )。
index_rate原始语音转换和索引语音转换之间的混合速率(默认为0.75 )。
要设置语音,首先,使tts_rvc的实例:
from tts_with_rvc import TTS_RVC
tts = TTS_RVC ( rvc_path = "src \ rvclib" , model_path = "models \ YourModel.pth" , input_directory = "input \ " , index_path = "logs \ YourIndex.index" ) voices.txt文件中放置的所有声音:
由于问题, tts.get_voices()无限期地禁用
接下来,使用tts.set_voice()函数设置tts的语音:
tts . set_voice ( "un-Un-SelectedNeural" )如果您使用其他语言来配音,则需要设置适当的语言!
最后一步是调用tts替换语音:
path = tts ( text = "Привет, мир!" , pitch = 6 , index_rate = 0.50 )参数:
text - tts的文字(必需)
pitch - RVC的音高(可选,neg。值兼容,默认值为0)
tts_rate额外的语音速率(可选,neg。值兼容,默认值为0)
tts_volume额外的语音卷(可选,neg。值兼容,默认值为0)
tts_pitch tts生成的音频的额外音高(可选,neg。值兼容,不建议,默认值为0)
output_filename指定音频的指定路径(可选,默认为None )
表达文本的一个简单示例:
from tts_with_rvc import TTS_RVC
from playsound import playsound
tts = TTS_RVC (
rvc_path = "src \ rvclib" ,
model_path = "models \ DenVot.pth" ,
input_directory = "input \ " ,
index_path = "logs \ added_IVF1749_Flat_nprobe_1.index"
)
tts . set_voice ( "ru-RU-DmitryNeural" )
path = tts ( text = "Привет, мир!" , pitch = 6 , index_rate = 0.9 )
playsound ( path )有一些用于集成问题的文本参数处理器,例如添加GPT模块。
您可以使用TTS_RVC类中的process_args处理它们:
--tts-rate (value) -TTS参数编辑语音速率(降低率的负值和增加速率的正值)
--tts-volume (value) -TTS参数编辑语音量(减少体积的负值和增加体积的正值)似乎由于RVC模块的转换而行不通。
--tts-pitch (value) -TTS参数编辑TTS生成音频的音调(减小音高的负值和增加音高的正值) ,我不建议使用此功能,因为RVC模块具有自己的输出pitch 。
--rvc-pitch (value) -RVC参数编辑输出音频的音调(减小音高的负值和增加音高的正值)
现在的工作原则:
from tts_with_rvc import TTS_RVC
tts = TTS_RVC ( rvc_path = "src \ rvclib" , model_path = "models \ YourModel.pth" , input_directory = "input \ " )
# This method returns arguments and original text without these text parameters
args , message = tts . process_args ( message ) args变量包含一个具有以下结构的数组:
args[0] -tts速率
args[1] -tts卷
args[2] -tts音高
args[3] -RVC音高
现在,我们准备将其用于生成:
path = tts ( message , pitch = args [ 3 ],
tts_rate = args [ 0 ],
tts_volume = args [ 1 ],
tts_pitch = args [ 2 ])set_index_path(index_path) - 为语音模型调整更新索引文件的路径。
NameError: name 'device' is not defined确保您的设备支持CUDA,并安装了正确版本的火炬。
RuntimeError: Failed to load audio: {e}确保您安装了ffmpeg 。
没有许可证
ATM4X(Artem Dikarev)