TTS. Руководство администратора: различия между версиями
Материал из Флора AI
| Строка 19: | Строка 19: | ||
[https://cloud.connect2ai.net/index.php/apps/files/?dir=/tts&fileid=4837 Дистрибутив] распространяется в виде установочных пакетов для окружения и сервиса. Загрузите установочные пакеты на сервер и выполните команды для Вашей системы в каталоге с пакетом. | [https://cloud.connect2ai.net/index.php/apps/files/?dir=/tts&fileid=4837 Дистрибутив] распространяется в виде установочных пакетов для окружения и сервиса. Загрузите установочные пакеты на сервер и выполните команды для Вашей системы в каталоге с пакетом. | ||
Перед установкой непосредственно сервиса необходимо [[PVE. Установка сервисного пакета окружения|установить сервисный пакет окружения]]. | Перед '''установкой''' непосредственно сервиса необходимо [[PVE. Установка сервисного пакета окружения|установить сервисный пакет окружения]]. | ||
Установка/обновление непосредственно TTS осуществляется скриптом <code>./tts-<версия>-install</code> с правами администратора. | Установка/обновление непосредственно TTS осуществляется скриптом <code>./tts-<версия>-install</code> с правами администратора. | ||
| Строка 31: | Строка 31: | ||
<code>systemctl status tts.service</code> | <code>systemctl status tts.service</code> | ||
Для обновления запустите скрипт установки. '''При установке папки config, nnets, vocoders заменены не будут.''' | Для '''обновления''' запустите скрипт установки. '''При установке папки config, nnets, vocoders заменены не будут.''' | ||
Разрешите доступ к порту 6186 на нужном интерфейсе по протоколу tcp. | Разрешите доступ к порту 6186 на нужном интерфейсе по протоколу tcp. | ||
| Строка 40: | Строка 40: | ||
===== '''Установка моделей'''===== | ===== '''Установка моделей'''===== | ||
Установка [https://cloud.connect2ai.net/index.php/apps/files/?dir=/tts/voices&fileid=5239 моделей и вокодера] возможна прямым копирование файлов в соответствующие каталоги. | Установка [https://cloud.connect2ai.net/index.php/apps/files/?dir=/tts/voices&fileid=5239 моделей и вокодера] возможна прямым копирование файлов в соответствующие каталоги. | ||
Вокодер располагается в каталоге /opt/tts/vocoders/, если каталог не существует, его необходимо создать. | Модели располагаются в каталоге /opt/tts/nnets/. Для '''установки модели''' необходимо создать каталог /opt/spr/nnets/<название модели>/ и скопировать в него файл c моделью (голосом), после чего перезагрузить сервис командой systemctl restart tts. Папок моделей и соответственно, голосов может быть больше одного. | ||
'''Вокодер''' располагается в каталоге /opt/tts/vocoders/, если каталог не существует, его необходимо создать. | |||
Чтобы убедиться, что модели доступны, выполните запрос | Чтобы убедиться, что модели доступны, выполните запрос | ||
Версия от 17:11, 11 июля 2023
Общее описание
Сервис предназначен для преобразования текста в речь. Входными данными для сервиса является текст, результатом работы будет аудио файл в формате *.wav.
Термины и определения
Text To Speech Server (TTS)– сервис синтеза речи.
Модель (голос) - модель нейронной сети, отвечающую за синтез спектрограммы из текста. От модели зависит каким голосом будет синтезирован текст.
Вокодер - модель нейронной сети, отвечающую за синтез аудиоданных из спектрограммы
Расчет нагрузки
Для нормальной работы сервиса на каждый канал синтеза требуется один CPU. Оперативной памяти необходимо не менее 8Gb.
Установка/обновление сервиса
Дистрибутив распространяется в виде установочных пакетов для окружения и сервиса. Загрузите установочные пакеты на сервер и выполните команды для Вашей системы в каталоге с пакетом.
Перед установкой непосредственно сервиса необходимо установить сервисный пакет окружения.
Установка/обновление непосредственно TTS осуществляется скриптом ./tts-<версия>-install с правами администратора.
Не забудьте запустить сервис и включить в автозапуск в системе:
sudo systemctl enable tts.service && sudo systemctl start tts.service
Удостоверьтесь, что сервис стартовал:
systemctl status tts.service
Для обновления запустите скрипт установки. При установке папки config, nnets, vocoders заменены не будут.
Разрешите доступ к порту 6186 на нужном интерфейсе по протоколу tcp.
ВНИМАНИЕ - скрипт установки сервиса не устанавливает вокодер и модель голоса, для их установки потребуются дополнительные действия. Без вокодера и модели голоса сервис стартует но синтез нее выполняет.
Установка моделей
Установка моделей и вокодера возможна прямым копирование файлов в соответствующие каталоги.
Модели располагаются в каталоге /opt/tts/nnets/. Для установки модели необходимо создать каталог /opt/spr/nnets/<название модели>/ и скопировать в него файл c моделью (голосом), после чего перезагрузить сервис командой systemctl restart tts. Папок моделей и соответственно, голосов может быть больше одного.
Вокодер располагается в каталоге /opt/tts/vocoders/, если каталог не существует, его необходимо создать.
Чтобы убедиться, что модели доступны, выполните запрос
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 должен содержать синтезированный голос озвучивший текст из запроса.
Сбор данных об ошибках
Для увеличения информативности журналов можно выполнить от суперпользователя команду:
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