TTS-dengan-RVC (teks-ke-pidato dengan RVC) adalah paket yang dirancang untuk meningkatkan kemampuan sistem teks-ke-speech (TTS) dengan memperkenalkan modul RVC . Paket ini memungkinkan pengguna untuk tidak hanya mengubah teks menjadi pidato tetapi juga mempersonalisasikan dan menyesuaikan output suara sesuai dengan preferensi mereka dengan dukungan RVC.
Pytorch dengan CUDA atau MPS diperlukan untuk mendapatkan TTS-dengan-RVC.
Ini mungkin berisi bug. Laporkan masalah jika terjadi kesalahan.
0.1.4 - 22 November 2024: Parameter index_path dan index_rate untuk lebih banyak kontrol atas konversi suara berbasis indeks
0.1.3 - Memperbaiki banyak masalah, beberapa optimasi.
Anda harus memiliki python <= 3.10 diinstal (3.10 disarankan).
Anda harus memiliki dukungan CUDA atau MPS untuk GPU Anda (MPS belum diuji).
Instal Pytorch dengan dukungan CUDA atau MPS di sini: https://pytorch.org/get-started/locally/
Kemudian, instal TTS-dengan-RVC menggunakan Pip Install:
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 di Path . TTS-dengan-RVC memiliki kelas yang disebut TTS_RVC . Ada beberapa parameter yang diperlukan:
rvc_path - Jalur ke direktori RVCLIB yang Anda instal (biasanya di folder VENV/SRC.)
input_directory - Path ke direktori input Anda (direktori temp untuk menyimpan output TTS)
model_path - jalur ke model .pth Anda
Dan parameter opsional:
voice -Voice from Edge-TTS List (default adalah "ru-ru-dmitryneural")
output_directory - Direktori untuk menyimpan audio bersuara ( temp/ adalah default).
index_path - Path ke indeks file untuk penyesuaian model suara (default adalah string kosong "" ).
index_rate - Laju campuran antara konversi suara asli dan yang diindeks (default adalah 0.75 ).
Untuk mengatur suara, pertama, buat contoh 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" ) Semua suara yang tersedia ditempatkan di file voices.txt :
tts.get_voices() dinonaktifkan tanpa batas karena masalahnya
Selanjutnya, atur fungsi TTS dengan tts.set_voice() :
tts . set_voice ( "un-Un-SelectedNeural" )Mengatur bahasa yang sesuai diperlukan jika Anda menggunakan bahasa lain untuk sulih suara!
Dan langkah terakhir adalah menelepon tts untuk menggantikan suara:
path = tts ( text = "Привет, мир!" , pitch = 6 , index_rate = 0.50 )Parameter:
text - Teks untuk TTS (Diperlukan)
pitch - Pitch untuk RVC (Opsional, Nilai NEG kompatibel, default adalah 0)
tts_rate - Tingkat Pidato Ekstra (Opsional, Nilai Nilai kompatibel, default adalah 0)
tts_volume - Volume Ekstra Pidato (Opsional, Nilai Nilai kompatibel, default adalah 0)
tts_pitch - Pitch ekstra audio yang dihasilkan TTS (opsional, nilai neg. Kompatibel, tidak disarankan , default adalah 0)
output_filename - jalur yang ditentukan untuk audio bersuara (opsional, default None )
Contoh sederhana untuk menyuarakan teks:
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 )Ada beberapa prosesor parameter teks untuk masalah integrasi seperti menambahkan modul GPT.
Anda dapat memprosesnya menggunakan process_args di kelas TTS_RVC :
--tts-rate (value) -Parameter TTS untuk mengedit tingkat bicara (nilai negatif untuk penurunan laju dan nilai positif untuk kenaikan tingkat)
--tts-volume (value) -Parameter TTS untuk mengedit volume bicara (nilai negatif untuk penurunan volume dan nilai positif untuk peningkatan volume) tampaknya tidak berfungsi karena konversi modul RVC.
--tts-pitch (value) -Parameter TTS untuk mengedit pitch TTS yang dihasilkan audio (nilai negatif untuk mengurangi nilai nada dan positif untuk meningkatkan nada) Saya tidak merekomendasikan menggunakan ini karena modul RVC memiliki pitch sendiri untuk output.
--rvc-pitch (value) -Parameter RVC untuk mengedit pitch audio output (nilai negatif untuk mengurangi pitch dan nilai positif untuk meningkatkan nada)
Sekarang prinsip kerja:
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 ) Variabel args berisi array dengan struktur berikut:
args[0] - TTS Rate
args[1] - Volume TTS
args[2] - Pitch TTS
args[3] - RVC Pitch
Dan sekarang kami siap menggunakannya untuk generasi:
path = tts ( message , pitch = args [ 3 ],
tts_rate = args [ 0 ],
tts_volume = args [ 1 ],
tts_pitch = args [ 2 ]) set_index_path(index_path) - memperbarui jalur ke file indeks untuk penyesuaian model suara.
NameError: name 'device' is not definedPastikan perangkat Anda mendukung CUDA dan Anda menginstal versi Torch yang tepat.
RuntimeError: Failed to load audio: {e} Pastikan Anda menginstal ffmpeg .
Tidak ada lisensi
Atm4x (Artem Dikarev)