Перейти к содержимому

Распознавание текста из аудио

  • автор:
Распознаем малые и большие фрагменты аудио с помощью Яндекс SpeechKit и Whisper от OpenAI (создателя ChatGPT). Тестируем два режима SpeechKit — синхронный и асинхронный

Community-узел CloudConvert

Обзорное видео

Ресурсы для работы

Страница с базой данных Notion (продублируйте в свое рабочее пространство).

Упражнения

Возьмите вот этот файл и добавьте недостающие узлы (отмечены стикерами):

Важная информация

Документация по API Яндекс.SpeechKit

Для небольших файлов — API синхронного распознавания

Для больших файлов — API асинхронного распознавания

Ценообразование (на август 2023)

OpenAI Whisper

Бесплатная квота — $5 при регистрации на 3 месяца, этого хватит на весь курс.

$0.006 / минута (округлено к ближайшей секунде). То есть примерно 0,5 р./минута. Ссылка на цены. После исчерпания бесплатных $5 или 3-х месяцев после регистрации. Необходимо привязать нероссийскую карту. После этого за ваши запросы будет начисляться стоимость, но вы вряд ли выйдете за $1-2 за этот курс.

Яндекс SpeechKit

Бесплатной квоты нет. Ссылка на цены.

Синхронное распознавание — 0,16 р. за единицу тарификации, т.е. 0,64 р. за 1 минуту (единица тарификации — 15 с).

Асинхронное распознавание — 0,01 р. за единицу тарификации, то есть 0,6 р. за 1 минуту (единица тарификации — 1 секунда двухканального аудио, минимум 15 с.).

Авторизация в OpenAI (для Whisper, Embeddings и пр.)

Основная статья: Authentication.

Для авторизации через HTTP-запрос необходим креденшиал Header Auth. Название — Authorization. Значение: Bearer OPENAI_API_KEY, где OPENAI_API_KEY — ваш API-ключ.

Авторизация в службе распознавания SpeechKit Яндекс.Облака

Основные статьи:

Чтобы иметь возможность распознавания голоса, как в этом занятии, необходимо подключить сервис распознавания голоса Яндекс SpeechKit или любой другой. Вот как это делается:

  1. Зарегистрируйтесь в Яндекс.Облаке (русская версия, английская версия) и пополните счет
  2. Выберите каталог
  3. Перейдите во вкладку Сервисные аккаунты, создаем сервисный аккаунт. Добавляем роли
    1. Чтобы работать с распознаванием речи, нужна роль ai.speechkit-stt.user на каталог, в котором он создан.
    2. Чтобы распознавать большие файлы, они должны находиться в бакете, и нужна роль storage.uploader
  4. Создайте API-ключ для этого аккаунта (Создать новый ключ -> Создать API-ключ)
  5. Добавьте credential в n8n типа Header Auth, с такими параметрами
    Name: Authorization
    Value: Api-Key <API-ключ>

Асинхронное распознавание

Чтобы распознавать большие файлы, их сначала необходимо разместить в Яндекс.Облаке. Для этого:

  • Зайдите в службу Object Storage и создайте “бакет” с классом “Холодное”. Это специальная папка, где будут располагаться ваши файлы
  • Загрузите файлы в бакет
  • Составьте ссылку к файлу. Она должна быть в виде https://storage.yandexcloud.net/<имя-бакета>/<путь-к-файлу>. Например, https://storage.yandexcloud.net/speech-to-text/Довлатов.mp3
  • Перенесите эту ссылку в таблицу Notion, в столбец URL

В этом уроке мы не рассматриваем заливку файлов в бакеты по API в виду значительной сложности этого процесса.

Подробное видео

Финальный процесс можно скачать ниже:

Метки:
Мои курсы выходят в открытый доступ!