TTS. Руководство пользователя: различия между версиями
Материал из Флора AI
| Строка 34: | Строка 34: | ||
|- | |- | ||
! style="color:blue;width: 15%" |'''GET/tts/dictionary/export''' | ! style="color:blue;width: 15%" |'''GET/tts/dictionary/export''' | ||
! colspan="3" style="width: 85%" | | ! colspan="3" style="width: 85%" |Выгрузка пользовательского словаря ударений | ||
|- | |- | ||
| colspan="2" style="width: 50%" |<small>Входные параметры отсутствуют</small> | | colspan="2" style="width: 50%" |<small>Входные параметры отсутствуют</small> | ||
| colspan="2" style="width: 50%" |<small> | | colspan="2" style="width: 50%" |<small>простой текст - строки с словом и его интерперетацией с ударением</small> | ||
|- | |- | ||
! style="color:blue;width: 15%" |'''GET/tts/dictionary/get''' | ! style="color:blue;width: 15%" |'''GET/tts/dictionary/get''' | ||
! colspan="3" style="width: 85%" | | ! colspan="3" style="width: 85%" |Выгрузка пользовательского словаря ударений в виде json | ||
|- | |- | ||
| colspan="2" style="width: 50%" |<small>Входные параметры отсутствуют</small> | | colspan="2" style="width: 50%" |<small>Входные параметры отсутствуют</small> | ||
| colspan="2" style="width: 50%" |<small> | | colspan="2" style="width: 50%" |<small>[ [ "слово", "замена слова с удар+ением"],</small> | ||
<small>[ "слово2", "замена слова2 с удар+ением"],</small> | |||
<small>...</small> | |||
<small>...]</small> | |||
|- | |- | ||
! style="color:blue;width: 15%" |'''POST/tts/dictionary/import''' | ! style="color:blue;width: 15%" |'''POST/tts/dictionary/import''' | ||
! colspan="3" style="width: 85%" |<small> | ! colspan="3" style="width: 85%" |Загрузка пользовательского словаря ударений <small>Текущий словарь будет переписан</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" |<small> | | colspan="2" style="width: 50%" | | ||
| colspan="2" style="width: 50%" |<small>{ | * <small>'''csv file''' - файл строк со словом и его интерперетацией с ударением</small> | ||
| colspan="2" style="width: 50%" |<small>{</small> | |||
<small> "error": 0,</small> | |||
<small> "message": "сообщение о статусе результата"</small> | |||
<small>}</small> | |||
|- | |- | ||
! style="color:blue;width: 15%" |'''POST/tts/dictionary/put''' | ! style="color:blue;width: 15%" |'''POST/tts/dictionary/put''' | ||
! colspan="3" style="width: 85%" |<small> | ! colspan="3" style="width: 85%" |Загрузка пользовательского словаря ударений в виде json <small>Текущий словарь будет переписан</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" |<small> | | colspan="2" style="width: 50%" | | ||
| colspan="2" style="width: 50%" |<small>{ | * <small>'''json''' -строка json следующего вида:</small> | ||
<small>[ [ "слово", "замена слова с удар+ением" ],</small> | |||
<small>[ "слово2", "замена слова2 с удар+ением" ],</small> | |||
<small>...</small> | |||
<small>...]</small> | |||
| colspan="2" style="width: 50%" |<small>{</small> | |||
<small> "error": 0,</small> | |||
<small> "message": "сообщение о статусе результата"</small> | |||
<small>}</small> | |||
|- | |- | ||
! style="color:blue;width: 15%" |'''POST/tts/normalize''' | ! style="color:blue;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%" |<small> | | colspan="2" style="width: 50%" | | ||
| | * <small>'''text''' - фраза для нормалимзации</small> | ||
| style="width: 50%" |<small>{</small> | |||
<small> "error": 0,</small> | |||
<small> "message": "success",</small> | |||
<small> "text": "нормализованный текст"</small> | |||
<small>}</small> | |||
| | |||
|-|- | |-|- | ||
! style="color:blue;width: 15%" |'''POST/tts/ | ! style="color:blue;width: 15%" |'''POST/tts/synthesize/{id}''' | ||
! colspan="3" style="width: 85%" |<small> | ! colspan="3" style="width: 85%" |Синтез звукового файла <small>из текста для фраз большого размера - тип запроса "POST" позволяет отправку больших текстов</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" |<small> | | colspan="2" style="width: 50%" | | ||
| | * <small>'''ID''' - имя модели</small> | ||
* <small>'''text''' - текст синтезируемой фразы</small> | |||
* <small>'''rate''' - скорость речи</small> | |||
* <small>'''pitch''' - высота (тон)</small> | |||
* <small>'''volume''' - громкость</small> | |||
| style="width: 50%" |<small>wav файл с синтезированой фразой</small> | |||
| | |||
|- | |- | ||
! style="color:blue;width: 15%" |'''GET/tts/synthesize/{id}''' | |||
! colspan="3" style="width: 85%" |Синтез звукового файла <small>из текста небольшого размера - для совместимости с предыдущими версями</small> | |||
|- | |- | ||
| colspan="2" style="width: 50%" | | |||
* <small>'''ID''' - имя модели</small> | |||
* <small>'''text''' - текст синтезируемой фразы</small> | |||
| | |||
| | * <small>'''rate''' - скорость речи</small> | ||
* <small>'''pitch''' - высота (тон)</small> | |||
* <small>'''volume''' - громкость</small> | |||
| style="width: 50%" |<small>wav файл с синтезированой фразой</small> | |||
| | |||
|} | |} | ||
Версия от 18:14, 21 октября 2024
Общее описание
Сервис предназначен для преобразования текста в речь. Входными данными для сервиса является текст, результатом работы будет аудио файл в формате *.wav.
Термины и определения
Text To Speech Server (TTS)– сервис синтеза речи.
Модель (голос) - модель нейронной сети, отвечающую за синтез спектрограммы из текста. От модели зависит каким голосом будет синтезирован текст.
Вокодер - модель нейронной сети, отвечающую за синтез аудиоданных из спектрограммы
Swagger UI – интерактивная веб-консоль с кратким описанием методов АPI и возможностью выполнять запросы к сервису 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 | ||
| Входные параметры отсутствуют | [ [ "слово", "замена слова с удар+ением"],
[ "слово2", "замена слова2 с удар+ением"], ... ...] | ||
| POST/tts/dictionary/import | Загрузка пользовательского словаря ударений Текущий словарь будет переписан | ||
|
{
"error": 0, "message": "сообщение о статусе результата" } | ||
| POST/tts/dictionary/put | Загрузка пользовательского словаря ударений в виде json Текущий словарь будет переписан | ||
[ [ "слово", "замена слова с удар+ением" ], [ "слово2", "замена слова2 с удар+ением" ], ... ...] |
{
"error": 0, "message": "сообщение о статусе результата" } | ||
| POST/tts/normalize | Нормализация текста - перевод цифр в слова и расстановка ударений (ударения только в нормализованной части фразы) например "в понедельник 10.10.2025" -> "в понедельник дес+ятого октябр+я дв+е т+ысячи дв+адцать п+ятого г+ода" | ||
|
{
"error": 0, "message": "success", "text": "нормализованный текст" } |
||
| POST/tts/synthesize/{id} | Синтез звукового файла из текста для фраз большого размера - тип запроса "POST" позволяет отправку больших текстов | ||
|
wav файл с синтезированой фразой | ||
| GET/tts/synthesize/{id} | Синтез звукового файла из текста небольшого размера - для совместимости с предыдущими версями | ||
|
wav файл с синтезированой фразой | ||
| Метод | Тип | Описание | Входные параметры | Ответ |
|---|---|---|---|---|
| /tts/ | GET | Вывод списка моделей | - | { models: [model1,...,modelN] }
|
| /tts/dictionary/export | GET | выгрузка пользовательского словаря ударений | - | простой текст - строки с словом и его интерперетацией с ударением |
| /tts/dictionary/get | GET | выгрузка пользовательского словаря ударений в виде json | - | [
|
| /tts/dictionary/import | POST | загрузка пользовательского словаря ударений |
|
{
"error": 0, "message": "сообщение о статусе результата" } |
| /tts/dictionary/put | POST | загрузка пользовательского словаря ударений в виде json | [
|
{
"error": 0, "message": "сообщение о статусе результата" } |
| /tts/normalize | POST | Нормализация текста - перевод цифр в слова и расстановка ударений (ударения только в нормализованной части фразы) например "в понедельник 10.10.2025" -> "в понедельник дес+ятого октябр+я дв+е т+ысячи дв+адцать п+ятого г+ода" |
|
{
"error": 0, "message": "success", "text": "нормализованный текст" } |
| POST
/tts/synthesize/{id} |
POST
/tts/synthesize/{id} |
Синтез звукового файла из текста для фраз большого размера - тип запроса "POST" позволяет отправку больших текстов |
|
wav файл с синтезированой фразой |
| /tts/synthesize/{id} | GET | Синтез звукового файла из текста небольшого размера - для совместимости с предыдущими версями |
|
wav файл с синтезированой фразой |
Методы POST заменяют пользовательский словарь, а не дополняют его