TTS-with-RVC (RVC를 사용한 텍스트 음성 연설)는 RVC 모듈을 도입하여 TTS (Text-To-Steece) 시스템의 기능을 향상 시키도록 설계된 패키지입니다. 패키지를 통해 사용자는 텍스트를 음성으로 변환 할뿐만 아니라 RVC 지원을 통해 선호도에 따라 음성 출력을 개인화하고 사용자 정의 할 수 있습니다.
TTS-With-RVC 작업을 수행하려면 Cuda 또는 MPS를 가진 Pytorch가 필요합니다.
버그가 포함될 수 있습니다. 오류가 발생한 경우 문제를보고하십시오.
0.1.4- 2024 년 11 월 22 일 : 인덱스 기반 음성 변환에 대한 더 많은 제어를위한 index_path 및 index_rate 매개 변수 추가
0.1.3- 많은 문제, 약간의 최적화를 수정했습니다.
Python <= 3.10이 설치되어 있어야합니다 (3.10 권장).
GPU에 대한 CUDA 또는 MPS 지원이 있어야합니다 (MP는 아직 테스트되지 않음).
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 에 FFMPEG를 추가하십시오. TTS-With-RVC에는 TTS_RVC 라는 클래스가 있습니다. 필요한 몇 가지 매개 변수가 있습니다.
rvc_path 설치된 RVCLIB 디렉토리로가는 경로 (일반적으로 VENV/SRC 폴더).
input_directory 입력 디렉토리로가는 경로 (TTS 출력 저장을위한 임시 디렉토리)
model_path .pth 모델로가는 경로
및 선택적 매개 변수 :
voice -Edge-Tts 목록의 음성 (기본값은 "ru-ru dmitryneural"입니다)
output_directory 보이스 오디오 저장을위한 디렉토리 ( temp/ is default).
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 용 텍스트 (필수)
RVC의 pitch - 피치 (선택 사항, Neg. 값은 호환 가능하고 기본값은 0입니다)
tts_rate 추가 음성 비율 (선택 사항, Neg. 값은 호환 가능하며 기본값은 0입니다)
tts_volume 추가 음 음성 (선택 사항, Neg. 값은 호환 가능하고 기본값은 0입니다)
tts_pitch TTS 생성 오디오의 추가 피치 (선택 사항, Neg. 값은 호환 가능하고 권장되지 않음 , 기본값은 0입니다)
output_filename Voiced 오디오를위한 지정된 경로 (선택 사항, 기본값은 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를 지원하고 올바른 버전의 Torch를 설치했는지 확인하십시오.
RuntimeError: Failed to load audio: {e} ffmpeg 설치하십시오.
라이센스가 없습니다
ATM4X (Artem Dikarev)