Действия

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>chmod +x ./tts-<версия>-<релиз>.sh && ./tts-<версия>-<релиз>.sh</code> с правами администратора.  
Установка/обновление TTS осуществляется скриптом <code>chmod +x ./tts-<версия>-<релиз>.sh && ./tts-<версия>-<релиз>.sh -i</code> с правами администратора. Список всех ключей инсталятора можно посмотреть, запустив инсталятор <code>./tts-<версия>-<релиз>.sh</code> без ключей.
 
Загрузить последнюю версию пакета  <code>curl -s '<nowiki>https://cloud.connect2ai.net/tts/'</nowiki> --user 'user_nexcloud:pass_nexcloud' | bash</code>
 
Устновить/обновить пакет одной командой <code>curl -s '<nowiki>https://cloud.connect2ai.net/tts/?name=s'</nowiki> --user 'user_nexcloud:pass_nexcloud' | bash && chmod +x ./tts.sh && ./tts.sh -i</code>
 
Проверить актуальную версию пакета можно <code>curl -s '<nowiki>https://cloud.connect2ai.net/tts/?type=v'</nowiki></code>


Не забудьте запустить сервис и включить в автозапуск в системе:
Не забудьте запустить сервис и включить в автозапуск в системе:

Версия от 10:04, 28 ноября 2023

Общее описание

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


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

Text To Speech Server (TTS)– сервис синтеза речи.

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

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


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

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


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

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

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

Установка/обновление TTS осуществляется скриптом chmod +x ./tts-<версия>-<релиз>.sh && ./tts-<версия>-<релиз>.sh -i с правами администратора. Список всех ключей инсталятора можно посмотреть, запустив инсталятор ./tts-<версия>-<релиз>.sh без ключей.

Загрузить последнюю версию пакета curl -s 'https://cloud.connect2ai.net/tts/' --user 'user_nexcloud:pass_nexcloud' | bash

Устновить/обновить пакет одной командой curl -s 'https://cloud.connect2ai.net/tts/?name=s' --user 'user_nexcloud:pass_nexcloud' | bash && chmod +x ./tts.sh && ./tts.sh -i

Проверить актуальную версию пакета можно curl -s 'https://cloud.connect2ai.net/tts/?type=v'

Не забудьте запустить сервис и включить в автозапуск в системе:

sudo systemctl enable tts.service && sudo systemctl start tts.service

Удостоверьтесь, что сервис стартовал:

systemctl status tts.service

Для обновления запустите скрипт установки. При установке папки config, nnets, vocoders заменены не будут.

Разрешите доступ к порту 6186 на нужном интерфейсе по протоколу tcp.

ВНИМАНИЕ - скрипт установки сервиса не устанавливает вокодер и модель голоса, для их установки потребуются дополнительные действия. Без вокодера и модели голоса сервис стартует но синтез не выполняет.


Установка моделей

Установка моделей и вокодера возможна прямым копирование файлов в соответствующие каталоги.

Модели располагаются в каталоге /opt/tts/nnets/. Для установки модели необходимо создать каталог /opt/tts/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


Удаление

Для удаления выполните команду: /opt/tts/uninstall. Команда деинсталлирует сервис и удалит рабочий каталог, включая все установленные модели и вокодер.