Skip to content

yandex-cloud-examples/yc-speechkit-web-ui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SpeechKit Web UI

SpeechKit Workbench

Данный репозиторий содержит пример веб-приложения, которое обращается к сервису Yandex SpeechKit и отображает его результат в веб-интерфейсе.

Приложение позволяет ознакомиться с возможностями распознавания и синтеза речи, а также с различными параметрами, доступными при синтезе речи:

Приложение состоит из следующих компонентов:

  • Веб-интерфейс – статичный веб-сайт в бакете Object Storage
  • Serverless Containers для обработки запросов и отправки их в сервис SpeechKit.

Результат синтеза речи сохраняется в бакет.

SpeechKit Workbench

Описание модуля

Данный модуль создает следующие ресурсы:

  1. Бакет Object Storage
  2. Объекты в бакете для работы статичного веб-сайта
  3. Два контейнера Serverless Containers
  4. API-шлюз
  5. Сервисные учетные записи для работы контейнеров
  6. Статичный ключ и API-ключ
  7. Секрет в Lockbox для безопасного хранения ключей

В провайдере Terraform используется аутентификация через key.json файл. Для развертывания решения, необходима роль admin в каталоге, так как создаются сервисные учетные записи и выдаются роли. При необходимости, измените аутентификацию на токен.

Установка

Чтобы запустить данный модуль, создайте файл с переменными private.auto.tfvars и сохраните в него folder_id и cloud_id вашего облака и каталога:

cloud_id  = "b1g3xxxxxx"
folder_id = "b1g7xxxxxx

Также создайте авторизованный ключ key.json и сохраните в папку, рядом с другими .tf файлами.

После этого, можно установить модуль Terraform:

terraform init
terraform apply

Использование

После установки, будут отображены следующие Outputs:

api-gw = "https://d5dclvvxxx.apigw.yandexcloud.net"
bucket = "https://speechbench-xxx.website.yandexcloud.net"

Необходимо открыть ссылку bucket в веб-браузере. В веб-приложении есть две вкладки, соответствующие возможностям TTS и STT. Первый запрос может занимает больше времени, так как в этот момент запускается контейнер в первый раз.

Результаты синтеза сохраняются в бакет, в директории audio, а последнее полученное аудио, в случае успеха, доступно для прослушивания на веб-сайте.

Аудиофайлы, отправленные на распознавание, сохраняются в директории upload. Результаты распознавания выводятся в веб-интерфейсе: в виде JSON ответа, и в виде просуммированного ключа text из JSON ответа, для каждого из аудио-каналов.

Удаление

Перед удалением, не забудьте очистить созданный бакет (иначе процесс удаления прервется):

terraform destroy

Связанные примеры