Как начать работать cо SpeechKit
Если вы хотите попробовать, как сервис синтезирует или распознает речь, воспользуйтесь демо на странице сервиса.
В этом разделе вы научитесь использовать SpeechKit API. Сначала вы создадите аудиофайл из текста, а потом попробуете его распознать.
О стоимости использования сервиса SpeechKit см. Правила тарификации для SpeechKit.
Перед началом работы
Чтобы воспользоваться примерами, установите cURL и получите данные вашего аккаунта для авторизации:
- На странице биллинга убедитесь, что платежный аккаунт находится в статусе
ACTIVE
илиTRIAL_ACTIVE
. Если платежного аккаунта нет, создайте его. - Получите IAM-токен, необходимый для аутентификации.
- Получите идентификатор любого каталога, на который у вашего аккаунта есть роль
editor
или выше.
-
Выберите способ аутентификации:
-
Получите IAM-токен, используемый в примерах.
-
Создайте API-ключ. Передайте API-ключ в заголовке
Authorization
в следующем формате:Authorization: Api-Key <API-ключ>
-
-
Назначьте сервисному аккаунту роль
editor
или выше на каталог, в котором он был создан.Не указывайте в запросах идентификатор каталога — сервис использует каталог, в котором был создан сервисный аккаунт.
-
Аутентифицируйтесь в CLI от имени федеративного пользователя.
-
С помощью CLI получите IAM-токен, необходимый для аутентификации:
yc iam create-token
-
Получите идентификатор любого каталога, на который у вашего аккаунта есть роль
editor
или выше.
Преобразование текста в речь
С помощью синтеза речи вы сможете превратить текст в речь и сохранить ее в аудиофайл.
Отправьте запрос на преобразование текста в речь, указав в параметрах запроса:
text
— текст c примененным URL-кодированием, который нужно распознать.lang
— язык текста.voice
— голос для синтеза речи.folderId
— идентификатор каталога, полученный перед началом работы.IAM_TOKEN
— IAM-токен, полученный перед началом работы.
Ответ запишите в файл speech.ogg
.
read -r -d '' TEXT << EOM
> Я Яндекс Спичк+ит.
> Я могу превратить любой текст в речь.
> Теперь и в+ы — можете!
EOM
export FOLDER_ID=<идентификатор каталога>
export IAM_TOKEN=<IAM-токен>
curl -X POST \
-H "Authorization: Bearer ${IAM_TOKEN}" \
--data-urlencode "text=${TEXT}" \
-d "lang=ru-RU&voice=filipp&folderId=${FOLDER_ID}" \
"https://tts.api.cloud.yandex.net/speech/v1/tts:synthesize" > speech.ogg
Примечание
Для передачи слов-омографов используйте +
перед ударной гласной: з+амок
, зам+ок
. Чтобы отметить паузу между словами, используйте -
. Ограничение на длину строки: 500 символов.
Синтезированная речь будет записана в файл speech.ogg
в директории, из которой вы выполнили эту команду.
По умолчанию аудио создается в формате OggOpus. Прослушать созданный файл можно в браузере, например в Яндекс.Браузере или Mozilla Firefox.
Подробнее про формат запроса на синтез речи.
Распознавание речи
Сервис позволяет распознавать речь различными способами. В этом разделе используется синхронное распознавание.
Передайте двоичное содержимое аудиофайла в теле запроса, указав в параметрах запроса:
lang
— нужный вам язык распознавания.folderId
— идентификатор каталога, полученный перед началом.
curl -X POST \
-H "Authorization: Bearer ${IAM_TOKEN}" \
--data-binary "@speech.ogg" \
"https://stt.api.cloud.yandex.net/speech/v1/stt:recognize?folderId=${FOLDER_ID}&lang=ru-RU"
В ответе сервис вернет распознанный текст:
{"result":"Я яндекс спичкит я могу превратить любой текст в речь теперь вы можете"}