TTS. Руководство пользователя: различия между версиями
Материал из Флора AI
E.Elagina (обсуждение | вклад) |
|||
| Строка 1: | Строка 1: | ||
===== '''Общее описание''' ===== | ===== '''Общее описание''' ===== | ||
Сервис предназначен для преобразования текста в речь. Входными данными для сервиса является текст, результатом работы будет | Сервис предназначен для преобразования текста в речь. Входными данными для сервиса является текст, результатом работы будет аудиофайл в формате *.wav. | ||
====='''Термины и определения'''===== | ====='''Термины и определения'''===== | ||
Text | Text-to-speech server (TTS) – сервис синтеза речи. | ||
Модель (голос) – модель нейронной сети, отвечающая за синтез спектрограммы из текста. От модели зависит, каким голосом будет синтезирован текст. | |||
Вокодер – модель нейронной сети, отвечающая за синтез аудиоданных из спектрограммы. | |||
Swagger UI – интерактивная веб-консоль с кратким описанием методов API и возможностью выполнять запросы к сервису TTS в реальном времени | Swagger UI – интерактивная веб-консоль с кратким описанием методов API и возможностью выполнять запросы к сервису TTS в реальном времени | ||
| Строка 24: | Строка 22: | ||
Ответ сервиса представляет собой JSON или текстовый документ в кодировке UTF-8, или двоичный файл. | Ответ сервиса представляет собой JSON или текстовый документ в кодировке UTF-8, или двоичный файл. | ||
Содержимое документа зависит от результата выполнения запроса. При наличии ошибки в качестве ответа вернется переменная error=1 и описание в переменной message. Для удобства проверки методов по ссылке http://АДРЕС:6186 будет отображен интерфейс | Содержимое документа зависит от результата выполнения запроса. При наличии ошибки в качестве ответа вернется переменная error=1 и описание в переменной message. Для удобства проверки методов по ссылке http://АДРЕС:6186 будет отображен интерфейс Swagger со всеми методами с возможностью их проверки. | ||
{| class="wikitable" style="width: 110%" | {| class="wikitable" style="width: 110%" | ||
| Строка 56: | Строка 54: | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''csv file''' | * <small>'''csv file''' — файл строк со словом и его интерпретацией с ударением.</small> | ||
| colspan="2" style="width: 50%" |<small><code>{</code></small> | | colspan="2" style="width: 50%" |<small><code>{</code></small> | ||
| Строка 69: | Строка 67: | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''json''' | * <small>'''json''' — строка следующего вида:</small> | ||
<small><code>[</code></small> | <small><code>[</code></small> | ||
| Строка 89: | Строка 87: | ||
|- | |- | ||
! style="color:green;width: 15%" |'''POST/tts/normalize''' | ! style="color:green;width: 15%" |'''POST/tts/normalize''' | ||
! colspan="3" style="width: 85%" |<small>Нормализация текста | ! colspan="3" style="width: 85%" |<small>Нормализация текста — перевод цифр в слова и расстановка ударений (ударения только в нормализованной части фразы), например «в понедельник 10.10.2025» -> «в понедельник дес+ятого октябр+я две т+ысячи дв+адцать п+ятого г+ода».</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''text''' | * <small>'''text''' — фраза для нормализации.</small> | ||
| style="width: 50%" |<small><code>{</code></small> | | style="width: 50%" |<small><code>{</code></small> | ||
| Строка 107: | Строка 105: | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''wav''' | * <small>'''wav''' — аудиофайл для обработки.</small> | ||
* <small>'''revoicer''' — модель модификации голоса.</small> | |||
* <small>'''revoicer''' | | colspan="2" style="width: 50%" |<small>wav файл с модифицированным (искаженным) голосом.</small> | ||
| colspan="2" style="width: 50%" |<small>wav файл с модифицированным (искаженным) голосом</small> | |||
|- | |- | ||
! style="color:blue;width: 15%" |'''GET/tts/revoicers''' | ! style="color:blue;width: 15%" |'''GET/tts/revoicers''' | ||
! colspan="3" style="width: 85%" |<small>Перечень моделей модификации или искажения голоса. Модели поставляются только в составе дистрибутива. Модель | ! colspan="3" style="width: 85%" |<small>Перечень моделей модификации или искажения голоса. Модели поставляются только в составе дистрибутива. Модель distortion — искажение голоса, делает голос неузнаваемым и речь неразборчивой.</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" |<small>Входные параметры отсутствуют</small> | | colspan="2" style="width: 50%" |<small>Входные параметры отсутствуют</small> | ||
| Строка 130: | Строка 127: | ||
|- | |- | ||
! style="color:green;width: 15%" |'''POST/tts/synthesize/{id}''' | ! style="color:green;width: 15%" |'''POST/tts/synthesize/{id}''' | ||
! colspan="3" style="width: 85%" |<small>Синтез звукового файла из текста для фраз большого размера | ! colspan="3" style="width: 85%" |<small>Синтез звукового файла из текста для фраз большого размера — тип запроса «POST» позволяет отправку больших текстов.</small><small><small>'''ВНИМАНИЕ''': аналогичный метод GET теперь отсутствует.</small> | ||
'''ВНИМАНИЕ''' аналогичный метод GET теперь отсутствует.</small> | |||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''ID''' | * <small>'''ID''' — имя модели</small> | ||
* <small>'''text''' — текст синтезируемой фразы</small> | |||
* <small>'''text''' | * <small>'''rate''' — скорость речи</small> | ||
* <small>'''pitch''' — высота (тон)</small> | |||
* <small>'''rate''' | * <small>'''volume''' — громкость</small> | ||
* <small>'''frequency''' — частота дискретизации (по умолчанию 22050 Гц)</small> | |||
* <small>'''pitch''' | |||
* <small>'''volume''' | |||
* <small>'''frequency''' | |||
| style="width: 50%" |<small>wav файл с синтезированой фразой</small> | | style="width: 50%" |<small>wav файл с синтезированой фразой</small> | ||
| | | | ||
|} | |} | ||
Версия от 12:39, 20 февраля 2025
Общее описание
Сервис предназначен для преобразования текста в речь. Входными данными для сервиса является текст, результатом работы будет аудиофайл в формате *.wav.
Термины и определения
Text-to-speech server (TTS) – сервис синтеза речи.
Модель (голос) – модель нейронной сети, отвечающая за синтез спектрограммы из текста. От модели зависит, каким голосом будет синтезирован текст.
Вокодер – модель нейронной сети, отвечающая за синтез аудиоданных из спектрограммы.
Swagger UI – интерактивная веб-консоль с кратким описанием методов API и возможностью выполнять запросы к сервису TTS в реальном времени
Описание методов API
Запросы осуществляются по протоколу HTTP 1.1 на адрес сервера с доступным сервисом TTS. По умолчанию используется порт 6186/tcp.
Авторизация запросов не требуется. HTTP-запросы должны содержать заголовок "accept: application/json"
Ответ сервиса представляет собой JSON или текстовый документ в кодировке UTF-8, или двоичный файл.
Содержимое документа зависит от результата выполнения запроса. При наличии ошибки в качестве ответа вернется переменная error=1 и описание в переменной message. Для удобства проверки методов по ссылке http://АДРЕС:6186 будет отображен интерфейс Swagger со всеми методами с возможностью их проверки.
| GET/tts/ | Вывод списка моделей (голосов синтеза). | ||
|---|---|---|---|
| Входные параметры отсутствуют | { models: [model1,...,modelN] }
| ||
| GET/tts/dictionary/export | Выгрузка пользовательского словаря ударений. | ||
| Входные параметры отсутствуют | простой текст - строки с словом и его интерперетацией с ударением | ||
| GET/tts/dictionary/get | Выгрузка пользовательского словаря ударений в виде json. | ||
| Входные параметры отсутствуют | [ [ "слово", "замена слова с удар+ением"],
| ||
| POST/tts/dictionary/import | Загрузка пользовательского словаря ударений. Текущий словарь будет переписан. | ||
|
{
| ||
| POST/tts/dictionary/put | Загрузка пользовательского словаря ударений в виде json. Текущий словарь будет переписан. | ||
|
{
| ||
| POST/tts/normalize | Нормализация текста — перевод цифр в слова и расстановка ударений (ударения только в нормализованной части фразы), например «в понедельник 10.10.2025» -> «в понедельник дес+ятого октябр+я две т+ысячи дв+адцать п+ятого г+ода». | ||
|
{
| ||
| POST/tts/revoice/{revoicer} | Модификация или искажение голоса | ||
|
wav файл с модифицированным (искаженным) голосом. | ||
| GET/tts/revoicers | Перечень моделей модификации или искажения голоса. Модели поставляются только в составе дистрибутива. Модель distortion — искажение голоса, делает голос неузнаваемым и речь неразборчивой. | ||
| Входные параметры отсутствуют | [ "distortion" ] | ||
| GET/tts/split | Разбивка текста на фразы. Текст из нескольких предложений разбивает на отдельные фразы. Фразы отдаёт списком. | ||
|
{ "error": 0,
"message": "success", "phrases": [ "фраза 1", "фраза 2", .... "фраза N" ] } | ||
| POST/tts/synthesize/{id} | Синтез звукового файла из текста для фраз большого размера — тип запроса «POST» позволяет отправку больших текстов.ВНИМАНИЕ: аналогичный метод GET теперь отсутствует. | ||
|
wav файл с синтезированой фразой | ||