Распознаем малые и большие фрагменты аудио с помощью Яндекс 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 Яндекс.Облака
Основные статьи:
- Аутентификация в API SpeechKit
- Сервисные аккаунты
- Как начать работать с сервисными аккаунтами
- Создание API-ключа
Чтобы иметь возможность распознавания голоса, как в этом занятии, необходимо подключить сервис распознавания голоса Яндекс SpeechKit или любой другой. Вот как это делается:
- Зарегистрируйтесь в Яндекс.Облаке (русская версия, английская версия) и пополните счет
- Выберите каталог
- Перейдите во вкладку Сервисные аккаунты, создаем сервисный аккаунт. Добавляем роли
- Чтобы работать с распознаванием речи, нужна роль
ai.speechkit-stt.user
на каталог, в котором он создан. - Чтобы распознавать большие файлы, они должны находиться в бакете, и нужна роль
storage.uploader
- Чтобы работать с распознаванием речи, нужна роль
- Создайте API-ключ для этого аккаунта (Создать новый ключ -> Создать API-ключ)
- Добавьте 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 в виду значительной сложности этого процесса.
Подробное видео
Финальный процесс можно скачать ниже: