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 --tts-rate (value) )
--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)