TTS-with-RVC (Text-to-Speech mit RVC) ist ein Paket, das die Funktionen von TTS-Systemen (Text-to-Speech) durch Einführung eines RVC- Moduls (TTS) -Systeme verbessert. Mit dem Paket können Benutzer nicht nur Text in Sprache umwandeln, sondern auch die Sprachausgabe an die Präferenzen mit RVC -Unterstützung personalisieren und anpassen.
Pytorch mit CUDA oder MPS ist erforderlich, um TTS-mit-RVC-Arbeit zu erhalten.
Es kann Fehler enthalten. Melden Sie ein Problem im Fehlerfall.
0.1.4 - 22. November 2024: Parameter index_path und index_rate hinzugefügt, um mehr Kontrolle über die indexbasierte Sprachumwandlung zu erhalten
0,1.3 - viele Probleme behoben, einige Optimierung.
Sie müssen Python <= 3.10 installiert haben (3.10 wird empfohlen).
Sie müssen CUDA- oder MPS -Unterstützung für Ihre GPU haben (MPS wird noch nicht getestet).
Installieren Sie Pytorch mit CUDA- oder MPS-Unterstützung hier: https://pytorch.org/get-started/locally/
Installieren Sie dann TTS-with-RVC mithilfe von PIP-Installation:
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 im Path noch besser hinzu. TTS-with-RVC hat eine Klasse namens TTS_RVC . Es sind einige Parameter erforderlich:
rvc_path - Pfad zu Ihrem installierten RVClib -Verzeichnis (normalerweise im Ordner Venv/SRC).
input_directory - Pfad zu Ihrem Eingabeverzeichnis (TEMP -Verzeichnis zum Speichern von TTS -Ausgaben)
model_path - Pfad zu Ihrem .PTH -Modell
Und optionale Parameter:
voice -Voice aus der Edge-TTS-Liste (Standard ist "ru-ru-dmitryneural")
output_directory - Verzeichnis zum Speichern von stimmhaftem Audio ( temp/ ist Standard).
index_path - Pfad zum Dateiindex für Sprachmodelleinstellungen (Standard ist leerer Zeichenfolge "" ).
index_rate - Mischrate zwischen der ursprünglichen und indizierten Sprachumwandlung (Standard ist 0.75 ).
Um die Stimme zu setzen, machen Sie zunächst Instanz von 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" ) Alle verfügbaren Stimmen in voices.txt -Datei platziert:
tts.get_voices() ist aufgrund der Probleme auf unbestimmte Zeit deaktiviert
Stellen Sie als Nächstes die Stimme für TTS mit tts.set_voice() -Funktion fest:
tts . set_voice ( "un-Un-SelectedNeural" )Das Festlegen der entsprechenden Sprache ist erforderlich, wenn Sie andere Sprachen für Voiceover verwenden!
Der letzte Schritt wird tts anrufen, um die Stimme zu ersetzen:
path = tts ( text = "Привет, мир!" , pitch = 6 , index_rate = 0.50 )Parameter:
text - Text für TTs (erforderlich)
pitch - Tonhöhe für RVC (optional, neg. Werte sind kompatibel, Standard ist 0)
tts_rate - zusätzliche Sprachrate (optional, neg. Werte sind kompatibel, Standard ist 0)
tts_volume - zusätzliches Sprachvolumen (optional, neg. Werte sind kompatibel, Standard ist 0)
tts_pitch - zusätzliche Tonhöhe von TTS -generierten Audio (optional, neg. Werte sind kompatibel, nicht empfohlen , Standard ist 0)
output_filename - angegebener Pfad für stimmhaftes Audio (optional, Standard ist None )
Ein einfaches Beispiel zum Aussprechen von Text:
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 )Es gibt einige Textparameterprozessor für Integrationsprobleme wie das Hinzufügen von GPT -Modul.
Sie können sie mit process_args in TTS_RVC -Klasse verarbeiten:
--tts-rate (value) -TTS-Parameter zur Bearbeitung der Sprachrate (negativer Wert für die Verringerung der Rate und den positiven Wert für die Erhöhung der Rate)
--tts-volume (value) -TTS-Parameter zur Bearbeitung des Sprachvolumens (negativer Wert für die Verringerung des Volumens und des positiven Werts für das Erhöhen des Volumens) scheint aufgrund der Umwandlung des RVC-Moduls nicht zu funktionieren.
--tts-pitch (value) -TTS-Parameter zum Bearbeiten der Tonhöhe von TTS-Audio (negativer Wert für die Verringerung der Tonhöhe und den positiven Wert für die Erhöhung der Tonhöhe) Ich empfehle nicht, dies zu verwenden, da das RVC-Modul eine eigene pitch für die Ausgabe hat.
--rvc-pitch (value) -RVC-Parameter zum Bearbeiten der Tonhöhe des Ausgangs-Audio (negativer Wert für die Verringerung der Tonhöhe und den positiven Wert für die Erhöhung der Tonhöhe)
Jetzt das Arbeitsprinzip:
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 ) Die args -Variable enthält ein Array mit der folgenden Struktur:
args[0] - TTS -Rate
args[1] - TTS -Volumen
args[2] - TTS -Tonhöhe
args[3] - RVC -Tonhöhe
Und jetzt sind wir bereit, es für die Generation zu verwenden:
path = tts ( message , pitch = args [ 3 ],
tts_rate = args [ 0 ],
tts_volume = args [ 1 ],
tts_pitch = args [ 2 ]) set_index_path(index_path) - Aktualisiert den Pfad zur Indexdatei für Sprachmodellanpassungen.
NameError: name 'device' is not definedStellen Sie sicher, dass Ihr Gerät CUDA unterstützt und Sie die richtige Fackelversion installiert haben.
RuntimeError: Failed to load audio: {e} Stellen Sie sicher, dass Sie ffmpeg installiert haben.
Keine Lizenz
ATM4X (Artem Dikarev)