Как распознать короткие аудиофайлы в SpeechKit
Сервис позволяет распознавать речь различными способами. В примере ниже аудиофайл распознается с помощью API синхронного распознавания. В этом API действуют ограничения:
- максимальная длительность аудио — 30 секунд;
- максимальный размер файла — 1 МБ.
Чтобы выполнить пример, подготовьте аудиофайл в одном из поддерживаемых форматов с учетом указанных выше ограничений.
Для работы с API в примере используется утилита cURL
Аутентификация для работы с API
Для работы с API SpeechKit пройдите аутентификацию. Ее способ зависит от типа аккаунта:
- Получите IAM-токен для аккаунта на Яндексе или федеративного аккаунта.
- Получите идентификатор каталога, на который у вашего аккаунта есть роли
ai.speechkit-stt.user
,ai.speechkit-tts.user
или выше. -
При обращении к SpeechKit через API в каждом запросе передавайте полученные параметры:
-
Для API v1 и API v2:
Указывайте IAM-токен в заголовке
Authorization
в следующем формате:Authorization: Bearer <IAM-токен>
Идентификатор каталога указывайте в теле запроса в параметре
folderId
. -
Для API v3:
- в заголовке
Authorization
указывайте IAM-токен; - в заголовке
x-folder-id
указывайте идентификатор каталога.
Authorization: Bearer <IAM-токен> x-folder-id <идентификатор_каталога>
- в заголовке
-
SpeechKit поддерживает два способа аутентификации с сервисным аккаунтом:
-
С помощью IAM-токена:
-
Полученный IAM-токен передавайте в заголовке
Authorization
в следующем формате:Authorization: Bearer <IAM-токен>
-
С помощью API-ключей.
Используйте API-ключи, если у вас нет возможности автоматически запрашивать IAM-токен.
-
Полученный API-ключ передавайте в заголовке
Authorization
в следующем формате:Authorization: Api-Key <API-ключ>
Не указывайте в запросах идентификатор каталога — сервис использует каталог, в котором был создан сервисный аккаунт.
В примере ниже аутентификация выполняется от имени аккаунта на Яндексе.
Выполните запрос
Отправьте запрос на распознавание речи:
export FOLDER_ID=<идентификатор_каталога>
export IAM_TOKEN=<IAM-токен>
curl \
--request POST \
--header "Authorization: Bearer ${IAM_TOKEN}" \
--data-binary "@speech.ogg" \
"https://stt.api.cloud.yandex.net/speech/v1/stt:recognize?folderId=${FOLDER_ID}&lang=ru-RU"
Где:
FOLDER_ID
— идентификатор каталога, полученный ранее.IAM_TOKEN
— IAM-токен, полученный ранее.lang
— язык распознавания.speech.ogg
– подготовленный ранее аудиофайл с речью.
В ответе сервис вернет распознанный текст, например:
{
"result":"Я яндекс спичкит я могу превратить любой текст в речь теперь вы можете"
}