Skip to main content

Потоковое распознавание с синхронным ответом в конце

Описание

Метод используется, если:

  • есть большие аудио, которые не укладываются в текущие ограничения;
  • нужен результат распознавания сразу после окончания аудиопотока, но без промежуточных результатов.

Стриминговые сессии нужно закрывать после окончания передачи последнего сообщения. Если сессия не закрывается, могут расходоваться выданные лимиты.

Параметры запроса

Настройки распознавания config отправляются в первом сообщении, audio_content ― в последующих сообщениях.

ПолеТипВозможные значенияОписание
configRecognitionConfigНастройки потокового распознавания.
audio_contentbytesАудиофайлОбязательный параметр.
Фрагмент аудио.

RecognitionConfig

Настройки распознавания.

ПолеТипВозможные значенияОписание
encodingAudioEncodingОбязательный параметр.
Формат аудио. Определяет и контейнер, и кодек. Должен задаваться явно.
Как правильно указать encoding
sample_rate_hertzuint32Значение должно соответствовать частоте дискретизации аудио — 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 96000.Обязательный параметр.
Частота дискретизации в герцах.
num_channelsuint32Значение должно соответствовать количеству каналов в аудио — 1 или 2.Обязательный параметр.
Количество каналов в аудио.
max_alternativesuint32Значение по умолчанию — 1.

Диапазон значений ― [1, 15]. Если указать значение больше 15, будет выведено 15 альтернатив.
Опциональный параметр.
Максимальное количество альтернатив для финальных и промежуточных результатов.
profanity_filterbool
  • true ― скрыть ненормативную лексику;
  • false ― оставить все слова, как есть.
Опциональный параметр.
Скрыть ненормативную лексику. Пример скрытого слова: «б****».
speech_contextsSpeechContextОпциональный параметр.
Контекст для распознавания.
enable_automatic_punctuationbool

Значение по умолчанию — false.

  • true ― вернется текст со знаками препинания и прописными буквами;
  • false ― вернется текст без знаков препинания и прописных букв
Опциональный параметр.
Добавить пунктуацию (запятые, точки и знаки вопроса) и прописные буквы.
do_not_perform_vadbool

Значение по умолчанию — false.

  • true ― распознанный текст вернется одной фразой;
  • false ― текст в ответе будет разбит на фразы.
Опциональный параметр.
Отключить разбиение текста на фразы.
vad_configVoiceActivityDetectionConfigОпциональный параметр.
Настройки разбиения на фразы.
enable_denormalizationbool

Значение по умолчанию — false.

  • true ― текст преобразуется в числовые данные;
  • false ― результат записывается словами.

Опциональный параметр.
Преобразовать текст в числовые данные — время, дата и так далее.

Примеры:

  • Числовые данные — «6:45 3 доллара 5 центов».
  • Слова — «Шесть часов сорок пять минут три доллара пять центов».
enable_sentiment_analysisboolЗначение по умолчанию — false.Опциональный параметр.
β Определить вероятность негативных и позитивных эмоций. Используется для каждой финальной гипотезы.
enable_gender_identificationboolЗначение по умолчанию — false.Опциональный параметр.
β Определить вероятность пола говорящего: мужской или женский. Используется для каждой финальной гипотезы.

RecognitionConfig.SpeechContext

Контекст для распознавания. С его помощью можно повысить или понизить вероятность распознавания фраз — например, можно указать имена, узкоспециализированные термины, названия брендов.

ПолеТипВозможные значенияОписание
phrasesSpeechContextPhraseОпциональный параметр. Фразы для контекста.
speech_context_dictionary_idstringЗначение, полученное при создании словаря.Опциональный параметр. Идентификатор заранее подготовленного контекстного словаря на стороне облака VoiceKit. Подробнее про контекстный словарь.

SpeechContext.SpeechContextPhrase

Фраза для контекста.

ПолеТипВозможные значенияОписание
textstringНе рекомендуется указывать фразы длиной меньше 5 символов.Опциональный параметр.
Текст фразы на русском языке в нижнем регистре.
scorefloatЗначение по умолчанию ― 1.0. Этого достаточно, чтобы фраза распознавалась с большей вероятностью, чем фраза не из контекста. Диапазон значений ― [-10.0, 10.0].Опциональный параметр.
Вес фразы. Чем больше вес, тем выше вероятность распознавания фразы. Если указать отрицательное значение, вероятность распознавания фразы или слова ниже.

RecognitionConfig.VoiceActivityDetectionConfig

Настройки определения тишины в аудио (VAD).

ПолеТипВозможные значенияОписание
silence_duration_thresholdfloatЗначение по умолчанию — 0.6.Опциональный параметр.
Длительность паузы в секундах, после которой фраза считается завершенной.
silence_prob_thresholdfloatЗначение по умолчанию — 0.9.Опциональный параметр.
Вероятность определения тишины. Фрагмент аудио считается тишиной, если она определилась с вероятностью выше этого значения.

Параметры ответа

SpeechRecognitionResult

Распознанные фразы.

ПолеТипОписание
resultsSpeechRecognitionResultРаспознанные фразы.

SpeechRecognitionResult

Распознанные фразы.

ПолеТипОписание
alternativesSpeechRecognitionAlternativeСписок альтернатив, отсортированных по убыванию confidence.
channelint32Канал, к которому относится версия фразы. Нумерация с 0.
start_timegoogle.protobuf.DurationВремя начала фразы в исходном аудио.
end_timegoogle.protobuf.DurationВремя окончания фразы в исходном аудио.
sentiment_analysis_resultSpeechSentimentAnalysisResultРезультат определения негативных эмоций.
gender_identification_resultSpeechGenderIdentificationResultРезультат определения пола.

SpeechRecognitionResult.SpeechRecognitionAlternative

Список альтернатив, отсортированных по убыванию confidence.

ПолеТипОписание
transcriptstringРаспознанный текст.
confidencefloatПоказатель уверенности распознавания относительно других слов во фразе при max_alternatives > 1. Значение может быть отрицательным.
wordsWordInfoСписок отдельных слов внутри фразы.

SpeechRecognitionAlternative.WordInfo

Список отдельных слов внутри фразы.

ПолеТипОписание
start_timegoogle.protobuf.DurationВремя начала слова в исходном аудио.
end_timegoogle.protobuf.DurationВремя окончания слова в исходном аудио.
wordstringСлово во фразе.
confidencefloatПоказатель уверенности распознавания относительно других слов во фразе при max_alternatives > 1. Значение может быть отрицательным

SpeechRecognitionResult.SpeechSentimentAnalysisResult

Результат определения негативных эмоций.

ПолеТипОписание
negative_prob_audiofloatВероятность негативных эмоций на основе анализа аудио.
negative_prob_audio_textfloatВероятность негативных эмоций на основе анализа аудио и распознанного текста.
positive_prob_audio_textfloatВероятность позитивных эмоций на основе анализа аудио и распознанного текста.

SpeechRecognitionResult.SpeechGenderIdentificationResult

Результат определения пола.

ПолеТипОписание
male_probafloatВероятность, что пол мужской.
female_probafloatВероятность, что пол женский.

AudioEncoding

Формат аудио. Определяет и контейнер, и кодек. Подробнее о PCM и LPCM.

ИмяОписание
LINEAR16LPCM без заголовка, битовая глубина ― 16 бит.
MULAWPCM без заголовков в распределении μ-law (PCMU), битовая глубина ― 8 бит.
ALAWPCM без заголовков в распределении a-law (PCMA), битовая глубина ― 8 бит.
RAW_OPUSФреймы Opus, запакованные в сообщения Protobuf.
Каждый фрейм должен быть запакован в поле content сообщения RecognitionAudio. При этом каждый фрейм нужно отправлять так, как он был закодирован ― не нужно объединять несколько фреймов в один.
MPEG_AUDIOMPEG
ADTS_AACAAC аудио в ADTS потоке.
RAW_AAC_LCAAC LC (Low Complexy) фреймы, запакованные в сообщения Protobuf. Поддерживается только в стриминговых методах.

Важно
Как и в RAW_OPUS-формате, каждый фрeйм должен отправляться отдельном сообщении.
RAW_ER_AAC_LDER AAC LD фреймы, запакованные в сообщения Protobuf. Поддерживается только в стриминговых методах.

Важно
Как и в RAW_OPUS-формате, каждый фрeйм должен отправляться в отдельном сообщении.

openapi@tbank.ru

АО «ТБанк» использует файлы «cookie» с целью персонализации сервисов и повышения удобства пользования веб-сайтом. «Cookie» представляют собой небольшие файлы, содержащие информацию о предыдущих посещениях веб-сайта. Если вы не хотите использовать файлы «cookie», измените настройки браузера.