Распознавание голосовых сообщений
On-premise
В некоторых каналах, например в Telegram, клиенты могут отправлять не только текстовые, но и голосовые сообщения. По умолчанию голосовые сообщения не распознаются и доступны в сценарии как файлы.
Если платформа JAICP установлена к вам в контур, вы можете распознавать голосовые сообщения. Если распознавание включено:
-
Платформа автоматически преобразует голосовое сообщение в текст.
-
Сообщение обрабатывается в сценарии так же, как и текстовый запрос клиента. Например, на текст сообщения может сработать паттерн или интент.
# Бот перейдет в стейт, если голосовое сообщение содержит слово «привет».
state: Hello
q!: * привет *
a: Привет!
Каналы
Распознавание поддерживается в каналах:
- Telegram.
- WhatsApp — только при подключении напрямую.
- ВКонтакте.
Провайдеры
Вы можете распознавать голосовые сообщения, если используете провайдеров ASR:
- 3iTech
- АСМ Решения
- SaluteSpeech
- Tinkoff VoiceKit
- Yandex SpeechKit v2
- Yandex SpeechKit v3
Распознавание доступно на всех языках, которые поддерживает провайдер.
Настройка языка распознавания
Используйте методы:
$jsapi.getVoiceMessageAsrLang
— чтобы получить текущий язык распознавания.$jsapi.setVoiceMessageAsrLang
— чтобы установить другой язык распознавания.
Данные о сообщении
Данные о голосовом сообщении добавляются в $request
.
Если сообщение было распознано успешно, поле $request.data.customData
содержит следующие данные:
{
"url": "https://example.com/file.oga",
"type": "audio",
"mimeType": "audio/ogg",
"recognitionText": "Привет"
}
Здесь:
url
— ссылка на аудиофайл с голосовым сообщением.type
— тип файла.mimeType
— медиатип файла.recognitionText
— распознанный текст сообщения.
Ошибки распознавания
Если в голосовом сообщении не удалось найти речь или при распознавании произошла ошибка, то сообщение будет доступно в сценарии как файл.
Поле $request.data.customData
также будет содержать данные о сообщении.
Речь не обнаружена
{
"url": "https://example.com/file.oga",
"type": "audio",
"mimeType": "audio/ogg"
}
Произошла ошибка
{
"url": "https://example.com/file.oga",
"type": "audio",
"mimeType": "audio/ogg",
"recognitionError":"Example error message"
}
Поле recognitionError
содержит описание ошибки.