Транскрибация встреч, локально
Записи созвонов превращаются в текст и карточку встречи прямо на своей машине — ничего не уходит в чужое облако.
- Запись встречи превращается в расшифровку, саммари и список решений в Telegram
- Переговоры не покидают ноутбук: модель распознавания работает локально
- Ничего не нужно запускать: файл появился — карточка пришла
Задача
Все удобные сервисы расшифровки требуют загрузить запись переговоров к себе на сервер. Для рабочих встреч с клиентами это неприемлемо, а расшифровывать руками — час работы на час встречи.
Как устроено
Локальная модель распознавания на ускорителе Apple, два фоновых демона: один слушает папку и расшифровывает, второй подкладывает в неё свежие записи жёсткими ссылками, чтобы не копировать гигабайты по диску. Серверная половина собирает из расшифровки карточку встречи с решениями и отправляет в мессенджер.
Что было трудно
Три ловушки, которых нет в документации. Фоновые задачи macOS не наследуют пользовательское окружение и просто не находят конвертер медиа. Подсказка-праймер, которой я пытался улучшить распознавание русского, вводит модель в цикл повторов — лечится её удалением, а не подкруткой. Записи одного из мессенджеров нельзя перематывать, пока контейнер не переупакован. Каждая — по полдня, и ни одна не гуглится.
Чем подтверждено
- Конвейер работает на живых встречах ежедневно
- Кнопки в карточке привязаны к отправившему её боту — иначе подтверждения зависают навсегда
- Расшифровка и карточка появляются без единого ручного действия