TTS-with-RVC-dev
Описание
TTS with RVC-module to generate .wav audios
Языки
Python
TTS-with-RVC 0.1.3
TTS-with-RVC (Text-to-Speech with RVC) — это пакет, предназначенный для улучшения возможностей систем text-to-speech (TTS) с помощью модуля RVC. Пакет позволяет пользователям не только конвертировать текст в речь, но и персонализировать и настраивать голосовой вывод в соответствии с их предпочтениями, поддерживая RVC.
Для работы TTS-with-RVC требуется Pytorch с поддержкой CUDA или MPS.
Может содержать ошибки. Сообщайте о проблемах.
Примечания к выпуску
0.1.3 - исправлено много проблем, некоторая оптимизация.
Необходимые условия
Необходимо установить Python<=3.10 (рекомендуется 3.10).
Необходимо поддержка CUDA или MPS для вашего GPU (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
- После этого установите rvc:
python -m pip install git+https://github.com/Atm4x/rvc-lib.git@dev#egg=rvc
- Затем установите rvc как репозиторий:
python -m pip install -e git+https://github.com/Atm4x/rvc-lib.git#egg=rvclib
- Под конец установите исправленную версию rvc-tts-pipeline:
python -m pip install git+https://github.com/Atm4x/rvc-tts-pipeline-fix.git@dev#egg=rvc_tts_pipe
- И, наконец, установите ffmpeg, если он у вас еще не установлен, и добавьте его в папку со скриптом или лучше добавьте ffmpeg в
вПеременные среды
.Path
Как это работает
- Text-to-Speech (TTS): Пользователи вводят текст в модуль TTS, который затем обрабатывает его и генерирует соответствующую речь в виде файла, сохраненного в введенной входной директории.
- RVC: При наличии .pth файла, модуль RVC считывает сгенерированный аудиофайл, обрабатывает его и сохраняет новый аудиофайл в output_directory с замененным голосом.
Использование
TTS-with-RVC имеет класс
. Есть несколько необходимых параметров:
- путь к вашему установленному каталогу rvclib (обычно в папке venv/src).
- путь к вашей входной директории (временная директория для сохранения вывода TTS).
- путь к вашему .pth модели.
И необязательные параметры:
- голос из списка edge-tts (по умолчанию "ru-RU-DmitryNeural").
- директория для сохранения озвученных аудиофайлов (
по умолчанию).
Для установки голоса сначала создайте экземпляр TTS_RVC:
from tts_with_rvc import TTS_RVC
tts = TTS_RVC(rvc_path="src\\rvclib", model_path="models\\YourModel.pth", input_directory="input\\")
Все доступные голоса размещены в файле
:
отключен на неопределенный срок из-за проблем.
Далее установите голос для TTS с помощью функции
:
tts.set_voice("un-Un-SelectedNeural")
Установка соответствующего языка необходима, если вы используете другие языки для озвучивания!
И последний шаг — вызов функции
для замены голоса:
path = tts(text="Привет, мир!", pitch=6)
Параметры:
- текст для TTS (обязательно).
- высота тона для RVC (необязательно, отрицательные значения совместимы, по умолчанию 0).
- дополнительная скорость речи (необязательно, отрицательные значения совместимы, по умолчанию 0).
- дополнительная громкость речи (необязательно, отрицательные значения совместимы, по умолчанию 0).
- дополнительная высота тона для аудио, сгенерированного TTS (необязательно, отрицательные значения совместимы, не рекомендуется, по умолчанию 0).
- заданный путь для озвученного аудио (необязательно, по умолчанию
).
Пример использования
Простой пример для озвучивания текста:
from tts_with_rvc import TTS_RVCfrom playsound import playsound
tts = TTS_RVC(rvc_path="src\\rvclib", model_path="models\\DenVot.pth", input_directory="input\\")tts.set_voice("ru-RU-DmitryNeural")path = tts(text="Привет, мир!", pitch=6)
playsound(path)
Параметры текста
Есть некоторые параметры текста для интеграции, такие как добавление модуля GPT.
Вы можете обработать их с помощью
в классе
:
- параметр TTS для изменения скорости речи (отрицательное значение для уменьшения скорости и положительное для увеличения).
- параметр TTS для изменения громкости речи (отрицательное значение для уменьшения громкости и положительное для увеличения) Кажется, не работает из-за преобразования модуля RVC.
- параметр TTS для изменения высоты тона аудио, сгенерированного TTS (отрицательное значение для уменьшения высоты тона и положительное для увеличения) Не рекомендую использовать, так как модуль RVC имеет свой собственный
для вывода.
- параметр RVC для изменения высоты тона выходного аудио (отрицательное значение для уменьшения высоты тона и положительное для увеличения).
Теперь принцип работы:
from tts_with_rvc import TTS_RVC
tts = TTS_RVC(rvc_path="src\\rvclib", model_path="models\\YourModel.pth", input_directory="input\\")
# Этот метод возвращает аргументы и оригинальный текст без этих текстовых параметровargs, message = tts.process_args(message)
Переменная
содержит массив со следующей структурой:
- скорость TTS.
- громкость TTS.
- высота тона TTS.
- высота тона RVC.
И теперь мы готовы использовать это для генерации:
path = tts(message, pitch=args[3], tts_rate=args[0], tts_volume=args[1], tts_pitch=args[2])
Исключения
- NameError:
NameError: name 'device' is not defined
Убедитесь, что ваше устройство поддерживает CUDA и вы установили правильную версию Torch.
- RuntimeError:
RuntimeError: Failed to load audio: {e}
Убедитесь, что вы установили
.
Лицензия
Нет лицензии.
Авторы
Atm4x (Артем Дикарев).