Денис Дмитриев
Все проекты
Инструмент/Работает/2026

Транскрибация встреч, локально

Записи созвонов превращаются в текст и карточку встречи прямо на своей машине — ничего не уходит в чужое облако.

  • Запись встречи превращается в расшифровку, саммари и список решений в Telegram
  • Переговоры не покидают ноутбук: модель распознавания работает локально
  • Ничего не нужно запускать: файл появился — карточка пришла

Задача

Все удобные сервисы расшифровки требуют загрузить запись переговоров к себе на сервер. Для рабочих встреч с клиентами это неприемлемо, а расшифровывать руками — час работы на час встречи.

Как устроено

Локальная модель распознавания на ускорителе Apple, два фоновых демона: один слушает папку и расшифровывает, второй подкладывает в неё свежие записи жёсткими ссылками, чтобы не копировать гигабайты по диску. Серверная половина собирает из расшифровки карточку встречи с решениями и отправляет в мессенджер.

Что было трудно

Три ловушки, которых нет в документации. Фоновые задачи macOS не наследуют пользовательское окружение и просто не находят конвертер медиа. Подсказка-праймер, которой я пытался улучшить распознавание русского, вводит модель в цикл повторов — лечится её удалением, а не подкруткой. Записи одного из мессенджеров нельзя перематывать, пока контейнер не переупакован. Каждая — по полдня, и ни одна не гуглится.

Чем подтверждено

  • Конвейер работает на живых встречах ежедневно
  • Кнопки в карточке привязаны к отправившему её боту — иначе подтверждения зависают навсегда
  • Расшифровка и карточка появляются без единого ручного действия

Стек

Whisper large-v3-turboMLXPythonlaunchdffmpegaiogram