Действия

SPR. Руководство пользователя

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

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

Сервис Short phrase recognizer предназначен для преобразования речи в текст. Принимает на вход аудиофайл в формате wav и возвращает структурированные данные в формате JSON.


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

Short Phrase Recognizer (SPR) - сервис распознавания речи.

Модель — предварительно обученная специализированная нейронная сеть для распознавания естественной речи в аудиозаписях.

Swagger UI – интерактивная веб-консоль с кратким описанием методов АPI и возможностью выполнять запросы к сервису SPR в реальном времени

 

Описание методов API

Запросы осуществляются по протоколу HTTP 1.1 на адрес сервера с доступным сервисом SPR. По умолчанию используется порт 6183/tcp.

Авторизация запросов не требуется. HTTP-запросы должны содержать заголовок "accept: application/json"

Ответ сервиса представляет собой JSON-документ в кодировке UTF-8 или двоичный файл. Содержимое документа зависит от результата выполнения запроса. При наличии ошибки в качестве ответа вернется переменная error=1 и описание в переменной message. Для удобства проверки методов по ссылке http://АДРЕС:6183 будет отображен интерфейс swagger со всеми методами с возможностью их проверки.

Метод Тип Описание Входные параметры Ответ
/spr/ GET Вывод списка моделей - { models: [model1,...,modelN] }
/spr/data/{id} GET Получение архива модели id - идентификатор модели ZIP-файл с моделью, либо { error: 1, message: DESCRIPTION }
/spr/data/{id} POST Добавление модели. Может быть добавлена как из файла архива, так и переименованием существующей модели, если указана переменная from-existing-model. В данном случае происходит переименование модели на сервере from-existing-model -> id. id - идентификатор модели

zip-model - zip-архив с файлами модели from-existing-model - название модели, которое до

{ error: INT, message: DESCRIPTION }
/spr/data/{id} DELETE Удаление модели id - идентификатор модели { error: INT, message: DESCRIPTION }
/spr/stt/{id} POST Отправка файла на распознавание речи. Моно-файлы до 30 секунд распознаются без разбивки на фрагменты. Многоканальные файлы и файлы длиннее 30 секунд предварительно разбиваются на фрагменты по отсутствию речи. Настройка данных параметров описана в руководстве администратора. В случае отправки переменной speakers=1, дополнительно производится поиск говорящих и получение метаданных по каждому говорящему. В случае отправки переменной punctuation=1, дополнительно вызывает метод punctuate в SMC, и расставляет знаки препинания в распознанном тексте (значение по умолчанию берётся из файлы конфигурации). normalization=1 для обратной нормализации текста. id - идентификатор модели

wav - файл для распознавания

speakers - опция разделения по говорящим

mono - для сведения стереозаписей аналитики в один канал и исключения дублирования распознавания в одинаковых каналах

punctuation - опция для расставления знаков препинания

normalization - опция обратной нормализации текста

vad - используемый VAD

preset - используемая модель для vad = neuro

async - отложенный запуск распознавания

в случае async=1 возвращается только taskID, для метода /spr/result.

text заполняется только для файлов менее 60 секунд. speakers, speaker, confidence (вероятность правильности определения говорящего) возвращаются только при отправке speakers=1. { model: модель, text: текст без разбивки, speakers: [ { gender: пол, age: возраст, emotion: эмоция, id: идентификатор }, ... ], splitted": [ { start: "00:00:02.255", stop: "00:00:10.995", channel: канал в файле, duration: 00:00:08.740, start_ms: 2255, stop_ms: 10995, duration_ms: 8740, speaker: индекс говорящего, confidence: 0.9541002174024272, text: распознанный текст}, ... ] }

/spr/result/{taskID} GET Получение результата отложенного распознавания taskID - идентификатор задания Вывод аналогичен выводу метода stt + добавлено поле status, которое содержит информацию о статусе отложенной задачи:

ready - готово waiting - ожидание not found - не найдена failed - сбой