TTS-WITH-RVC (текст к речи с RVC) -это пакет, предназначенный для расширения возможностей систем текста в речь (TTS) путем введения модуля RVC . Пакет позволяет пользователям не только конвертировать текст в речь, но и персонализировать и настраивать голосовые выводы в соответствии с их предпочтениями с поддержкой RVC.
Pytorch с CUDA или MPS требуется, чтобы получить работу TTS-с RVC.
Это может содержать ошибки. Сообщите о проблеме в случае ошибки.
0.1.4 - 22 ноября 2024 года: добавлены параметры index_path и index_rate для большего контроля над преобразованием голоса на основе индекса
0.1.3 - Исправлено много проблем, некоторые оптимизация.
У вас должен быть установлен Python <= 3,10 (3,10 рекомендуется).
У вас должна быть поддержка CUDA или MPS для вашего графического процессора (MPS еще не тестируется).
Установите Pytorch с поддержкой CUDA или MPS здесь: https://pytorch.org/get-started/locally/
Затем установите tts-with-rvc с помощью 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 в Path . TTS-With-RVC имеет класс под названием TTS_RVC . Требуется несколько параметров:
rvc_path - Путь к установленному каталогу RVClib (обычно в папке venv/src.)
input_directory - Путь к вашему каталогу ввода (каталог температуры для сохранения вывода TTS)
model_path - путь к вашей модели .pth
И дополнительные параметры:
voice -Голос из списка Edge-TTS (по умолчанию «ru-ru-dmitryryural»)
output_directory - каталог для сохранения озвученного звука ( temp/ IS по умолчанию).
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 с помощью функции tts.set_voice() :
tts . set_voice ( "un-Un-SelectedNeural" )Установка соответствующего языка необходимо, если вы используете другие языки для голосования!
И последний шаг - вызов tts заменить голос:
path = tts ( text = "Привет, мир!" , pitch = 6 , index_rate = 0.50 )Параметры:
text - текст для TTS (требуется)
pitch - шаг для RVC (необязательно, отрицательные значения совместимы, по умолчанию 0)
tts_rate - Дополнительная скорость речи (необязательно, значения отрицания совместимы, по умолчанию 0)
tts_volume - дополнительный объем речи (необязательно, значения отрицания совместимы, по умолчанию равен 0)
tts_pitch - дополнительный шаг сгенерированного TTS аудио (необязательно, значения отрицания совместимы, не рекомендуется , по умолчанию равна 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.
Вы можете обработать их, используя process_args в классе TTS_RVC :
--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 Pitch
args[3] - RVC Pitch
И теперь мы готовы использовать его для поколения:
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 (Artmem Dikarev)