Действия

TTS. Руководство пользователя: различия между версиями

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

Строка 133: Строка 133:
|
|
|}
|}
{| class="wikitable"
|+
!Метод
!Тип
!Описание
!Входные параметры
!Ответ
|-
|/tts/
|GET
|Вывод списка моделей
| -
|<code>{ models: [model1,...,modelN] }</code>
|-
|/tts/dictionary/export
|GET
|выгрузка пользовательского словаря ударений
| -
|простой текст - строки с словом и его интерперетацией с ударением
|-
|/tts/dictionary/get
|GET
|выгрузка пользовательского словаря ударений в виде json
| -
|<code>[
  [
    "слово",
    "замена слова с удар+ением"
  ],
  [
    "слово2",
    "замена слова2 с удар+ением"
  ],
  ...
  ...
<br />
]</code>
|-
|/tts/dictionary/import
|POST
|загрузка пользовательского словаря ударений
|
* '''csv file''' - файл строк со словом и его интерперетацией с ударением
|{
  "error": 0,
  "message": "сообщение о статусе результата"
}
|-
|/tts/dictionary/put
|POST
|загрузка пользовательского словаря ударений в виде json
|<code>[
  [
    "слово",
    "замена слова с удар+ением"
  ],
  [
    "слово2",
    "замена слова2 с удар+ением"
  ],
  ...
  ...
<br />
]</code>
|{
  "error": 0,
  "message": "сообщение о статусе результата"
}
|-
|/tts/normalize
|POST
|Нормализация текста - перевод цифр в слова и расстановка ударений (ударения только в нормализованной части фразы) например "в понедельник 10.10.2025" -> "в понедельник дес+ятого октябр+я дв+е т+ысячи дв+адцать п+ятого г+ода"
|
* '''text''' - фраза для нормалимзации
|{
  "error": 0,
  "message": "success",
  "text": "нормализованный текст"
}
|-
|POST
/tts/synthesize/{id}
|POST
/tts/synthesize/{id}
|Синтез звукового файла из текста для фраз большого размера - тип запроса "POST" позволяет отправку больших текстов
|
* '''ID''' - имя модели
* '''text''' - текст синтезируемой фразы
* '''rate''' - скорость речи
* '''pitch''' - высота (тон)
* '''volume''' - громкость
|wav файл с синтезированой фразой
|-
|/tts/synthesize/{id}
|GET
|Синтез звукового файла из текста небольшого размера - для совместимости с предыдущими версями
|
* '''ID''' - имя модели
* '''text''' - текст синтезируемой фразы
* '''rate''' - скорость речи
* '''pitch''' - высота (тон)
* '''volume''' - громкость
|wav файл с синтезированой фразой
|-
|}
Методы POST '''заменяют''' пользовательский словарь, а не дополняют его

Версия от 18:15, 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 со всеми методами с возможностью их проверки.

Описание методов API
GET/tts/ Вывод списка моделей.
Входные параметры отсутствуют { models: [model1,...,modelN] }
GET/tts/dictionary/export Выгрузка пользовательского словаря ударений
Входные параметры отсутствуют простой текст - строки с словом и его интерперетацией с ударением
GET/tts/dictionary/get Выгрузка пользовательского словаря ударений в виде json
Входные параметры отсутствуют [ [   "слово",   "замена слова с удар+ением"],

[   "слово2",   "замена слова2 с удар+ением"],

...

...]

POST/tts/dictionary/import Загрузка пользовательского словаря ударений Текущий словарь будет переписан
  • csv file - файл строк со словом и его интерперетацией с ударением
{

  "error": 0,

  "message": "сообщение о статусе результата"

}

POST/tts/dictionary/put Загрузка пользовательского словаря ударений в виде json Текущий словарь будет переписан
  • json -строка json следующего вида:

[ [   "слово",   "замена слова с удар+ением" ],

[ "слово2",   "замена слова2 с удар+ением" ],

...

...]

{

  "error": 0,

  "message": "сообщение о статусе результата"

}

POST/tts/normalize Нормализация текста - перевод цифр в слова и расстановка ударений (ударения только в нормализованной части фразы) например "в понедельник 10.10.2025" -> "в понедельник дес+ятого октябр+я дв+е т+ысячи дв+адцать п+ятого г+ода"
  • text - фраза для нормалимзации
{

  "error": 0,

  "message": "success",

  "text": "нормализованный текст"

}

POST/tts/synthesize/{id} Синтез звукового файла из текста для фраз большого размера - тип запроса "POST" позволяет отправку больших текстов
  • ID - имя модели
  • text - текст синтезируемой фразы
  • rate - скорость речи
  • pitch - высота (тон)
  • volume - громкость
wav файл с синтезированой фразой
GET/tts/synthesize/{id} Синтез звукового файла из текста небольшого размера - для совместимости с предыдущими версями
  • ID - имя модели
  • text - текст синтезируемой фразы
  • rate - скорость речи
  • pitch - высота (тон)
  • volume - громкость
wav файл с синтезированой фразой