TTS. Руководство администратора: различия между версиями
Материал из Флора AI
Нет описания правки |
|||
| Строка 49: | Строка 49: | ||
'''ВНИМАНИЕ''' - скрипт установки сервиса не устанавливает вокодер и модель голоса, для их установки потребуются дополнительные действия. | '''ВНИМАНИЕ''' - скрипт установки сервиса не устанавливает вокодер и модель голоса, для их установки потребуются дополнительные действия. | ||
Без вокодера и модели голоса сервис стартует но синтез не выполняет. | Без вокодера и модели голоса сервис стартует но синтез не выполняет. | ||
===== '''Установка моделей TTS'''===== | ===== '''Установка моделей TTS'''===== | ||
Версия от 18:28, 16 сентября 2024
Общее описание
Сервис предназначен для преобразования текста в речь. Входными данными для сервиса является текст, результатом работы будет аудио файл в формате *.wav.
Термины и определения
Text To Speech Server (TTS)– сервис синтеза речи.
Модель (голос) - модель нейронной сети, отвечающую за синтез спектрограммы из текста. От модели зависит каким голосом будет синтезирован текст.
Вокодер - модель нейронной сети, отвечающую за синтез аудиоданных из спектрограммы
Расчет нагрузки
Для нормальной работы сервиса на каждый канал синтеза требуется 1 CPU >= 2.20GHz. Оперативной памяти необходимо не менее 8Gb.
Установка/обновление TTS
Дистрибутив распространяется в виде установочных пакетов для окружения и сервиса. Загрузите установочные пакеты на сервер и выполните команды для Вашей системы в каталоге с пакетом.
Перед установкой непосредственно сервиса необходимо установить сервисный пакет окружения.
- Установка/обновление QAS осуществляется скриптом
chmod +x ./qas-<версия>-<релиз>.sh && ./qas-<версия>-<релиз>.sh -iс правами администратора. Список всех ключей инсталлятора можно посмотреть, запустив инсталлятор./qas-<версия>-<релиз>.shбез ключей. - Загрузить последнюю версию продукта
curl -s "https://repo.connect2ai.net/api/qas/new" --user '[user]:[pass]' 2>&1 | bashили в интерактивном режимеbash -c "$(curl -s https://repo.connect2ai.net/api/pve --user '[user]:[pass]' 2>&1)". - Обновить QAS
/opt/qas/inupdateв интерактивном режиме. Или запустить с ключём:/opt/qas/inupdate -b- обновить до последней beta версии;/opt/qas/inupdate -r- обновить до последней release версии;/opt/qas/inupdate -n- обновить до последней версии (не важно beta или release).
- Установить модели
/opt/qas/inmodelв интерактивном режиме. - Проверить актуальную версию продукта
curl -s "https://repo.connect2ai.net/api/qas/version. - Посмотреть лог изменений
curl -s "https://repo.connect2ai.net/api/qas/changelog" --user '[user]:[pass]'. - Полное описание всех команд API репозитория можно найти по ссылке https://repo.connect2ai.net/api.
[user]:[pass]- это тот же логин и пароль, что и от Nextcloud. - В папке с продуктом можно добавить 2 файла конфигурации (допускается один общий файл на все продукты в папке с окружением /opt/pve/):
- echo -n
"[user]:[pass]"> /opt/qas/.userapi (это файл авторизации в API, нужен для обновления и загрузки моделей) - echo -n
"http://example.com:3128 [user] [password]"> /opt/qas/.proxy (это файл конфигурации proxy необходим для обновления и загрузки моделей, при отсутсвующем прямом подключение к интернету)
- echo -n
При обновление следующий список файлов и папок сохранияется: .userapi, .proxy, logs, nnets, config.json, cache, pretrained, pve, data.
Не забудьте запустить сервис и включить в автозапуск в системе:
sudo systemctl enable tts.service && sudo systemctl start tts.service
Удостоверьтесь, что сервис стартовал:
systemctl status tts.service
Разрешите доступ к порту 6186 на нужном интерфейсе по протоколу tcp.
ВНИМАНИЕ - скрипт установки сервиса не устанавливает вокодер и модель голоса, для их установки потребуются дополнительные действия. Без вокодера и модели голоса сервис стартует но синтез не выполняет.
Установка моделей TTS
Установка моделей возможна прямым копирование файлов в соответствующие каталоги.
Модели располагаются в каталоге /opt/tts/nnets/. Для установки модели необходимо создать каталог /opt/tts/nnets/<название модели>/ и скопировать в него файл c моделью (голосом), после чего перезагрузить сервис командой systemctl restart tts. Папок моделей и соответственно, голосов может быть больше одного.
Вокодер располагается в каталоге /opt/tts/vocoders/, и устанавливается автоматически при установке или обновлении tts.
Чтобы убедиться, что модели доступны, выполните запрос
curl -H "accept: application/json" -X GET "http://АДРЕС_СЕРВЕРА:6186/tts/"
В ответе должно содержаться название новой модели или перечень названий моделей в формате json.
Проверить корректность работы модели можно запросом к API с текстом для синтеза, заменив в примере адрес сервера модель и текст для синтеза:
curl -G -X GET "http://АДРЕС_СЕРВЕРА:6186/tts/synthesize/МОДЕЛЬ?rate=100&pitch=100&volume=100" -H "accept: application/json" --data-urlencode "text=текст для синтеза" --output out.wav
out.wav должен содержать синтезированный голос озвучивший текст из запроса.
Конфигурирование параметров сервиса TTS
Настройка параметров сервиса tts производится в файле /opt/spr/params.json
Описание параметров приведено в таблице
| Параметр | По умолчанию | Назначение |
|---|---|---|
| max_gpu_memory | 0.6 | Лимит использования ОЗУ видеокарты. |
| balcklist | [] | Список моделей распознавания в папках nnets и vocoders, которые не должны быть загружены при старте сервиса TTS. |
Сбор данных об ошибках
Для увеличения информативности журналов можно выполнить от суперпользователя команду:
sed -i 's/log-level error/log-level debug/g' /etc/systemd/system/tts.service && systemctl daemon-reload && systemctl restart tts.service
При возникновении проблем в работе сервиса и недостаточной информативности журналов, можно запустить сервис вручную с привилегиями суперпользователя и выводом информации в stdout:
systemctl stop tts.service && source /opt/pve/bin/activate && cd /opt/tts/ && python3 api.py && deactivate
или
systemctl stop tts.service
source /opt/pve/bin/activate
cd /opt/tts/ && python3 api.py
deactivate
Удаление
Для удаления выполните команду: /opt/tts/uninstall. Команда деинсталлирует сервис и удалит рабочий каталог, включая все установленные модели и вокодер.
Часто задаваемые вопросы
| Вопрос | Ответ |
|---|---|