Эфир 18.11 · Поток 318 ноября в 19:00 МСК — бесплатный практический эфир по ИИ-агентам · Живой Поток 3 стартует 23.11Эфир 18 ноября →Поток 3 (23.11)

Разработчик за 9 дней с Claude Code сделал локальную расшифровку созвонов на Маке

Разработчик с шестью параллельными проектами за девять дней вместе с Claude Code собрал приложение для macOS: оно пишет звонок двумя дорожками, расшифровывает и делит реплики по голосам прямо на Маке. Без бота в звонке и без чужих серверов, код открыт. Главная ценность — список граблей: от цифровой тишины в ScreenCaptureKit до тысячи «Thank you» от Whisper на пустых участках.

AI-обработка оригинала Хабр: Машинное обучение; редакция Hamidun News
Разработчик за 9 дней с Claude Code сделал локальную расшифровку созвонов на Маке
Источник: Хабр: Машинное обучение. Коллаж: Hamidun News.
Слушать статью
Паспорт материала и цифры
ПараметрДанные
ПервоисточникХабр: Машинное обучение ↗
Главный редактор
Ключевой факт #1Whisper на тишине выдаёт «Thank you» — паузы надо отсекать заранее
Ключевой факт #2Без наушников появляется эхо, а сдвиг за звонок меняется 69 раз
Ключевой факт #3Пайплайн добирает до 17 ГБ памяти на Маке с 16 ГБ

Облачные сервисы расшифровки созвонов обычно работают одинаково: в звонок приходит бот, а запись уезжает на чужие серверы. Для многих команд это неприятно, особенно если в разговоре клиентский код, цены или кадровые вопросы. Альтернатива очевидна: делать всё локально. Но, как показывает свежий разбор на Хабре, между «взять Whisper» и «получить рабочий инструмент» лежит набор неочевидных ловушек.

Что собрал автор

Разработчик, который ведёт около шести проектов и постоянно сидит на созвонах, за девять дней вместе с Claude Code написал приложение для macOS. Оно записывает звонок двумя дорожками (вероятно, свой микрофон отдельно от звука собеседников), расшифровывает его и разбирает по голосам. Всё это выполняется на самом Маке: бота в звонке нет, внешних серверов нет. Исходный код открыт, так что его можно изучить и взять за основу.

Сам факт, что такой инструмент собирается за девять дней с ИИ-ассистентом, показателен. Но интереснее другое: автор вынес в статью не победные цифры, а список граблей. Для всех, кто делает что-то похожее, это самая полезная часть.

Грабли, которые перечислены в анонсе

По описанию, проблем несколько, и они из разных слоёв стека.

Захват звука. ScreenCaptureKit может отдавать цифровую тишину вместо реального аудио, а звук FaceTime при этом не слышно. Это ошибки платформы, а не модели, и в документации про них вряд ли написано.

Эхо без наушников. Если звук собеседника играет из колонок, он попадает в микрофон. Две дорожки превращаются в две копии одного и того же разговора. Автор пишет, что сдвиг между ними за один звонок меняется 69 раз, то есть простой фиксированной задержкой эхо не убрать.

Галлюцинации Whisper. На тишине модель выдаёт «Thank you», и в итоге их набирается около тысячи. Это известное поведение моделей этого семейства: им нужно что-то написать, и они пишут самую частую фразу из обучающих данных. Лечится это на уровне пайплайна: надо определять речь до распознавания и не отдавать модели пустые куски.

Диаризация. Автор отмечает, что разделение по голосам иногда делит людей по типу речи, а не по личности. Например, спокойные реплики и эмоциональные могут уйти разным спикерам.

Память. Приложение в какой-то момент занимало 17 ГБ на Маке с 16 ГБ. Значит, система уходила в своп, а это для живого приложения, которое работает параллельно со звонком, неприемлемо. Локальные модели легко съедают всё, что есть, и память нужно считать заранее.

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

Что из этого вынести

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

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

Третье: закладывайте бюджет памяти. На 16 ГБ модель, диаризация и сам звонок конкурируют за один ресурс.

Четвёртое: проверяйте модели на своём языке и на своих записях, а не по лидербордам.

Ограничения

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

Сюжет

Вопросы и ответы по материалу

Что известно по теме: что собрал автор?

Разработчик, который ведёт около шести проектов и постоянно сидит на созвонах, за девять дней вместе с Claude Code написал приложение для macOS. Оно записывает звонок двумя дорожками (вероятно, свой микрофон отдельно от звука собеседников), расшифровывает его и разбирает по голосам. Всё это выполняется на самом Маке: бота в звонке нет, внешних серверов нет. Исходный код открыт, так что его можно изучить и взять за основу. Сам факт, что такой инструмент собирается за девять дней с ИИ-ассистентом, показателен.

Что известно по теме: грабли, которые перечислены в анонсе?

По описанию, проблем несколько, и они из разных слоёв стека. Захват звука. ScreenCaptureKit может отдавать цифровую тишину вместо реального аудио, а звук FaceTime при этом не слышно. Это ошибки платформы, а не модели, и в документации про них вряд ли написано. Эхо без наушников. Если звук собеседника играет из колонок, он попадает в микрофон. Две дорожки превращаются в две копии одного и того же разговора.

Что известно по теме: что из этого вынести?

Первое: если делаете локальную расшифровку, не доверяйте звуку на входе. Проверяйте, что дорожки не пустые, и добавляйте фильтр тишины до того, как запускать распознавание. Второе: эхо и сдвиги между дорожками лучше обрабатывать динамически или просто рекомендовать наушники. Для пользовательского продукта второй вариант часто дешевле. Третье: закладывайте бюджет памяти. На 16 ГБ модель, диаризация и сам звонок конкурируют за один ресурс.

ЖХ
Жемал Хамидун — CPO Alpina Digital, продакт-менеджер AlpinaGPT. Делает AI-продукты с 2019 года. Hamidun News — pet project, который вырос в production-агрегатор с 6000+ читателей.
✦ Практика · Hamidun Academy

Соберите рабочего ИИ-агента или сервис своими руками без ручного кода

В Академии Жемала Хамидуна (academy.hamidun.com) открыт бесплатный 72-часовой тест-драйв: интерактивные скетч-уроки по Claude Code и Cursor, живой Tech Radar и готовые шаблоны агентов.

Открыть 72ч бесплатный доступ →Интенсив по Вайб-кодингу
Что вы думаете?
Загружаем комментарии…