Ganyutts-это инструмент Vits + So-vits для генерации речи из текста. Первоначально он был сделан для игры Elite, но я отделил его от основного проекта, так что теперь он может функционировать как автономный инструмент вывода или API. Edditts доступен здесь.
Это определенно просто игрушечный проект, так что не ожидайте слишком большого количества. Есть много вещей, которые все еще жестки, и код не очень чистый. Я постараюсь почистить его в будущем.
Я только что сделал это репо для своего удобства, но не стесняйтесь использовать его, если хотите.
Я предлагаю использовать виртуальную среду для этого (Conda или Venv). Кроме того, я рекомендую использовать Python 3.9 или выше. GPU не требуется, но он ускорит вывод.
pip install -r requirements.txtДля Phonemizer вам нужно установить ESPEAK . В Windows вы можете скачать его отсюда . На Linux вы можете установить его, используя диспетчер пакетов.
Программе нуждается в файле конфигурации с именем config.json в корневой папке. Пример файла приведен. Вы можете изменить пути на модели и клавиши API. Пути фонемайзера актуальны только для пользователей Windows, вы можете редактировать здесь, если у вас есть ESPEAK, установленное в другом месте. Если вы хотите использовать интерактивный режим, вам нужно получить ключ API от OpenAI. Это очень дешево и стоит качества ответов.
Чтобы запустить API, запустите следующую команду:
python main.pyЭто приложение предоставляет простой API Flask для текста в речь. Вы можете отправить запрос сообщения на сервер, он вернет файл Audio WAV.
Пример запроса тела:
{
"text" : " Hello, world! " ,
"sid1" : " 22 " , # speaker id in the multi-speaker VITS model
"sid2" : " ganyu " # speaker id in the SO-VITS model
}Ответ:
{
"audio" : " <audio wav> " # base64 encoded raw audio
}API_CLIENT_EXAMEL.PY предоставляется для тестирования API.
Есть два сценария вывода, один для VITS и один для конвейера VITS + SO-vits. Вы можете использовать их для создания звука просто из CLI.
Только для VIT:
python inference_vits.py -t " Let's get started. I'll be your guide today. "Для Vits + So-vits:
python inference_vits_sovits.py -t " Let's get started. I'll be your guide today " Используйте -h или --help для получения дополнительной информации.
Все модели должны быть в папке моделей, вы должны загрузить его вручную из моего репозитория. Кроме того, не забудьте загрузить модель Hubert, она необходима для такого звена. Я использую "Checkpoint_best_legacy_500.pt"