НЕКСБЕРРИ ИИ Разработка и автоматизация
Документы

Транскрибация совещаний в Telegram

Бот принимает аудио и возвращает текстовый файл с таймкодами и разделением по спикерам. Длинная обработка отслеживается через проверку статуса.

n8nSonioxJavaScriptTelegram API
Схема процесса: Аудио в Telegram → Soniox API → Ожидание результата → Спикеры и таймкоды → transcript.txt
Схема процесса по материалам проекта. Иллюстрация, не скриншот интерфейса. Открыть изображение ↗

О проекте

Бот принимает аудио и возвращает текстовый файл с таймкодами и разделением по спикерам. Длинная обработка отслеживается через проверку статуса.

Ключевая особенность решения — использование профессионального ИИ-движка Soniox, который используется для распознавания речи и разделения реплик по спикерам (разделение текста по спикерам: Спикер 1, Спикер 2 и т.д.) с точными таймкодами.

Задача бизнеса

Ручная расшифровка аудиозаписей совещаний, интервью или лекций — трудоемкий процесс и требует времени на прослушивание и проверку.

Стандартные бесплатные инструменты часто выдают «сплошную простыню» текста без знаков препинания и не умеют различать голоса разных людей, что делает протоколирование встреч невозможным.

Задача: Создать инструмент, который автоматически:

  • Принимает аудиофайл в удобном мессенджере.
  • Распознает речь с высокой точностью.
  • Определяет, кто и когда говорил (диаризация).
  • Возвращает готовый текстовый файл .txt.

Как работает решение

Воркфлоу построен в n8n и реализует паттерн Asynchronous Polling (Асинхронный опрос), так как транскрибация длинных файлов занимает время.

Этап 1: Захват данных (Ingest)

  • Триггер: Пользователь отправляет аудиофайл или голосовое сообщение боту в Telegram.
  • Загрузка: Система получает файл через Telegram API и отправляет его на сервер распознавания (Soniox API).

Этап 2: Инициация задачи (Processing)

  • n8n отправляет запрос на начало транскрибации с параметрами:
  • enable_speaker_diarization: true (включить разделение по голосам).
  • enable_language_identification: true (автоопределение языка).

Этап 3: Умное ожидание (Polling Loop)

Поскольку обработка аудио длится от нескольких секунд до минут, реализован цикл проверки статуса:

  • Проверка: Система спрашивает API: «Готово ли?»
  • Условие (IF):
  • Если статус completed — переход к следующему шагу.
  • Если статус processing — переход в режим ожидания (Wait 15 секунд) и повторный запрос. Так сценарий отслеживает длительную обработку файлов через повторные запросы статуса.

Этап 4: Пост-обработка данных (Data Parsing)

Полученный «сырой» JSON-ответ от нейросети проходит через кастомный JavaScript-код:

  • Алгоритм группирует разрозненные токены (слова) в цельные предложения.
  • Определяет смену спикера.
  • Форматирует таймкоды в читаемый вид [MM:SS].
  • Собирает итоговый текст в формате: [00:15 -> 00:42] (Speaker A): Текст реплики…

Этап 5: Доставка результата

  • Сформированный текст конвертируется в физический файл transcript.txt.
  • Бот отправляет этот документ пользователю в Telegram.

Технологии и интеграции

КатегорияТехнологияРоль в проекте
Backend / Logicn8nОркестрация процессов, циклические проверки
ИИ ServiceSoniox APISpeech-to-Text движок корпоративного уровня
ScriptingJavaScript (ES6)Парсинг JSON, форматирование таймкодов
InterfaceTelegram Bot APIВзаимодействие с пользователем

Что изменилось

На выходе — текстовый файл с репликами спикеров и таймкодами. Точность распознавания зависит от исходной записи; аудио обрабатывается внешним API Soniox.

Ваш процесс — следующий кейс?

Обсудим, что можно автоматизировать

Разберём задачу, исходные данные и ограничения. Предложим подходящий сценарий.

Обсудить мою задачу