TTS-With-RVC (texte-to-speech avec RVC) est un package conçu pour améliorer les capacités des systèmes de texte à dispection (TTS) en introduisant un module RVC . Le package permet aux utilisateurs non seulement de convertir le texte en discours, mais aussi de personnaliser et de personnaliser la sortie vocale en fonction de leurs préférences avec le support RVC.
Pytorch avec CUDA ou MPS est nécessaire pour faire fonctionner TTS avec RVC.
Il peut contenir des bugs. Signaler un problème en cas d'erreur.
0.1.4 - 22 novembre 2024: Ajout des paramètres index_path et index_rate pour plus de contrôle sur la conversion vocale basée sur l'index
0.1.3 - Correction de beaucoup de problèmes, une certaine optimisation.
Vous devez avoir Python <= 3.10 installé (3.10 est recommandé).
Vous devez avoir le support CUDA ou MPS pour votre GPU (les MPS ne sont pas encore testés).
Installez Pytorch avec CUDA ou MPS Prise en charge ici: https://pytorch.org/get-started/locally/
Ensuite, installez TTS avec RVC à l'aide de PIP Installer:
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
Environment variables dans Path . TTS-With-RVC a une classe appelée TTS_RVC . Il y a quelques paramètres qui sont nécessaires:
rvc_path - Chemin vers votre répertoire RVCLIB installé (généralement dans le dossier VENV / SRC.)
input_directory - chemin vers votre répertoire d'entrée (répertoire temporaire pour enregistrer la sortie TTS)
model_path - Chemin vers votre modèle .pth
Et paramètres facultatifs:
voice - voix de la liste Edge-Tts (par défaut est "ru-ru-dmitryneural")
output_directory - Répertoire pour enregistrer l'audio vocal ( temp/ est par défaut).
index_path - Chemin vers l'index de fichier pour les ajustements du modèle vocal (par défaut est une chaîne vide "" ).
index_rate - Taux de mélange entre la conversion vocale d'origine et indexée (la valeur par défaut est 0.75 ).
Pour définir la voix, tout d'abord, faites l'instance de 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" ) Toutes les voix disponibles placées dans voices.txt Fichier:
tts.get_voices() est désactivé indéfiniment en raison des problèmes
Ensuite, définissez la voix pour TTS avec tts.set_voice() Fonction:
tts . set_voice ( "un-Un-SelectedNeural" )La définition de la langue appropriée est nécessaire si vous utilisez d'autres langues pour les voix off!
Et la dernière étape consiste à appeler tts pour remplacer la voix:
path = tts ( text = "Привет, мир!" , pitch = 6 , index_rate = 0.50 )Paramètres:
text - Texte pour TTS (requis)
pitch - Pitch pour RVC (les valeurs facultatives, nég. sont compatibles, la valeur par défaut est 0)
tts_rate - Taux de discours supplémentaires (les valeurs facultatives, Nég. sont compatibles, la valeur par défaut est 0)
tts_volume - Volume supplémentaire de la parole (les valeurs facultatives, Nég. sont compatibles, la valeur par défaut est 0)
tts_pitch - Pitch supplémentaire d'audio généré par TTS (facultatifs, Nég. Les valeurs sont compatibles, non recommandées , la valeur par défaut est 0)
output_filename - chemin spécifié pour l'audio vocal (facultatif, par défaut est None )
Un exemple simple pour exprimer le texte:
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 )Il existe certains paramètres de texte processeur pour les problèmes d'intégration tels que l'ajout de module GPT.
Vous pouvez les traiter à l'aide process_args dans la classe TTS_RVC :
--tts-rate (value) - Paramètre TTS pour modifier le taux de parole (valeur négative pour la diminution du taux et la valeur positive pour l'augmentation du taux)
--tts-volume (value) - Le paramètre TTS pour modifier le volume de la parole (valeur négative pour le volume décroissant et la valeur positive pour l'augmentation du volume) ne semble pas fonctionner en raison de la conversion du module RVC.
--tts-pitch (value) - Paramètre TTS Pour modifier la hauteur de l'audio généré par TTS (valeur négative pour décrire la hauteur et une valeur positive pour l'augmentation du pas) Je ne recommande pas de l'utiliser car le module RVC a son propre pitch pour la sortie.
--rvc-pitch (value) - Paramètre RVC pour modifier la hauteur de l'audio de sortie (valeur négative pour décrire la hauteur et la valeur positive pour l'augmentation du pas)
Maintenant le principe de travail:
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 ) La variable args contient un tableau avec la structure suivante:
args[0] - TTS Rate
args[1] - Volume TTS
args[2] - pitch tts
args[3] - Pitch RVC
Et maintenant, nous sommes prêts à l'utiliser pour la génération:
path = tts ( message , pitch = args [ 3 ],
tts_rate = args [ 0 ],
tts_volume = args [ 1 ],
tts_pitch = args [ 2 ]) set_index_path(index_path) - met à jour le chemin d'accès au fichier d'index pour les ajustements du modèle vocal.
NameError: name 'device' is not definedAssurez-vous que votre appareil prend en charge CUDA et vous avez installé la bonne version de Torch.
RuntimeError: Failed to load audio: {e} Assurez-vous que vous avez installé ffmpeg .
Pas de licence
Atm4x (artem dikarev)