Действия

TTS. Руководство администратора

Материал из Флора AI

Версия от 14:48, 2 апреля 2025; Ka.shapovalov (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Общее описание

Сервис предназначен для преобразования текста в речь. Входными данными для сервиса является текст, результатом работы будет аудиофайл в формате *.wav.

Термины и определения

Text-to-speech server (TTS) – сервис синтеза речи.

Модель (голос) – модель нейронной сети, отвечающая за синтез спектрограммы из текста. От модели зависит, каким голосом будет синтезирован текст.

Вокодер – модель нейронной сети, отвечающая за синтез аудиоданных из спектрограммы. Модели и вокодеры поставляются в составе дистрибутива, дополнительных действий для их установки не требуется.



Расчет нагрузки

Для нормальной работы сервиса на каждый канал синтеза требуется 1 CPU >= 2.20 GHz. Оперативной памяти необходимо не менее 8 GB.


Установка/обновление TTS

Дистрибутив распространяется в виде установочных пакетов для окружения и сервиса. Загрузите установочные пакеты на сервер и выполните команды для Вашей системы в каталоге с пакетом.

Перед установкой непосредственно сервиса необходимо установить сервисный пакет окружения.

  • Установка/обновление TTS осуществляется скриптом chmod +x ./tts-<версия>-<релиз>.sh && ./tts-<версия>-<релиз>.sh -i с правами администратора. Список всех ключей инсталлятора можно посмотреть, запустив инсталлятор ./tts-<версия>-<релиз>.sh без ключей.
  • Загрузить последнюю версию продукта curl -s "https://repo.connect2ai.net/api/tts/new" --user '[user]:[pass]' 2>&1 | bash или в интерактивном режиме bash -c "$(curl -s https://repo.connect2ai.net/api/tts --user '[user]:[pass]' 2>&1)".
  • Обновить TTS /opt/tts/inupdate в интерактивном режиме. Или запустить с ключом:
    • /opt/tts/inupdate -b – обновить до последней beta версии;
    • /opt/tts/inupdate -r – обновить до последней release версии;
    • /opt/tts/inupdate -n – обновить до последней версии (неважно beta или release).
  • Проверить актуальную версию продукта curl -s "https://repo.connect2ai.net/api/tts/version.
  • Посмотреть лог изменений curl -s "https://repo.connect2ai.net/api/tts/changelog" --user '[user]:[pass]'.
  • Полное описание всех команд API репозитория можно найти по ссылке https://repo.connect2ai.net/api. [user]:[pass] – это тот же логин и пароль, что и от Nextcloud.
  • В папке с продуктом можно добавить 2 файла конфигурации (допускается один общий файл на все продукты в папке с окружением /opt/pve/):
    • echo -n "[user]:[pass]" > /opt/tts/.userapi (это файл авторизации в API, нужен для обновления и загрузки моделей)
    • echo -n "http://example.com:3128 [user] [password]" > /opt/tts/.proxy (это файл конфигурации proxy, необходим для обновления и загрузки моделей, при отсутствующем прямом подключении к интернету)

При обновлении следующий список файлов и папок сохраняется: .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

Настройка параметров сервиса tts производится в файле /opt/spr/params.json

Описание параметров приведено в таблице

Параметр По умолчанию Назначение
gpu true Флаг использования видеокарты при ее наличии
logs.path logs/ Путь к папке логов.
logs.backups 10 Максимальное количество логфайлов.
logs.maxSize 5242880 Максимальный размер одного логфайла.
Сбор данных об ошибках

Для увеличения информативности журналов можно выполнить от суперпользователя команду:

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. Команда деинсталлирует сервис и удалит рабочий каталог, включая все установленные модели и вокодер.