Диктовка для Мака без подписки: наговорил - и текст на месте
Если ваша работа - это письма, задачи и заметки, значительная часть дня уходит на набор текста. Я собрал для Мака диктовку: зажал клавишу, наговорил - текст появился там, где стоит курсор, без сети и без подписки.

Черновик этой статьи я наговорил голосом. Дорога к этому была такая: задачи агентам, письма, заметки, протоколы - работа почти целиком состоит из текста, а говорю я сильно быстрее, чем печатаю. Нужен был инструмент, который превращает речь в текст в любом приложении - в мессенджере, в редакторе, в терминале.
Готовые варианты не подошли: встроенная диктовка macOS слаба для русского, облачные сервисы означают подписку и зависимость от сети, а большинство утилит работают только в своём окне. Мне нужна была системная вещь: зажал клавишу где угодно - наговорил - текст появился там, где стоит курсор.
Я такую вещь собрал. Называется WhisperKey, живёт в строке меню Мака, и через неё сейчас проходит заметная часть моего ввода.
Что получилось
Механика push-to-talk, как в рации: зажал правый Option - по краям экрана загорается оранжевое свечение и появляется плашка "Говорите..." - говоришь - отпустил. Пауза на распознавание, и текст вставляется в активное приложение, в то поле, где стоял курсор. Работает везде: Telegram, браузер, IDE, терминал.
Под капотом - whisper.cpp, открытая реализация распознавания речи от Георгия Герганова, модель large-v3-turbo. Вся обработка идёт прямо на ноутбуке: тяжёлая часть модели исполняется на Neural Engine - нейропроцессоре, который стоит в каждом Маке на Apple Silicon и у большинства пользователей просто простаивает. Интернет для работы не нужен, подписки нет.
Из приятного в быту: пунктуацию и заглавные буквы модель расставляет сама, во время диктовки видно живое превью распознанного, а после вставки утилита восстанавливает содержимое буфера обмена - то, что вы копировали до диктовки, не теряется.
Инженерная часть: где были грабли
Дальше идёт инженерный раздел. Если вы не пишете код, листайте к ограничениям - там про то, чего эта диктовка не умеет. А тому, кто соберётся делать системную утилиту под macOS, эти грабли сэкономят время.
- Разрешения macOS. Глобальный хоткей и синтез вставки требуют разрешения Accessibility, запись - разрешения на микрофон. Главная подлость: при смене подписи приложения macOS молча отзывает Accessibility, и хоткей "просто перестаёт работать". Пришлось учить приложение замечать это и восстанавливать активацию самому.
- Вставка текста. Надёжнее всего оказался путь через буфер обмена и синтетический Cmd+V.
- Потоковое распознавание. Whisper обрабатывает звук скользящим окном, поэтому живое превью может "передумывать" слова на ходу. Решение - два прохода: черновой во время речи и точный после отпускания клавиши.
- Дистрибуция. Установочный образ получился крошечным, примерно 1.8 мегабайта: модель на 1.6 гигабайта скачивается при первом запуске с индикатором прогресса.
Как это было построено
Отдельный пласт этой истории - процесс. Swift не был моим основным языком: я бэкенд- и AI-инженер, а не разработчик под macOS. Приложение построено в паре с AI-агентом: архитектуру, ревью и приёмку держал я, значительную часть кода писал агент, на грабли из списка выше мы наступали вместе. Ядро накрыто тестами, а сборка - от компиляции whisper.cpp до готового образа - собрана в воспроизводимые скрипты.
Ограничения, честно
Абзацы модель не расставляет - для длинных текстов нужна пост-обработка через LLM, диктую я всё же кусками. Превью во время речи не дословное - точен только финальный проход. И это Mac-only история: всё завязано на Apple Silicon.
Если нужна диктовка
Смотрите в сторону whisper.cpp. Открытая модель и нейропроцессор, который уже стоит в вашем ноутбуке, дают качество русского, за которое ещё недавно просили подписку.
Во сколько вам обходится время на текст
Посчитайте на своих цифрах: сколько часов в день у вас уходит на письма, задачи и заметки, и какая у вас ставка. Для ориентира - час сотрудника обычно оценивают в 500 рублей, день собственника - в 7 000 - 10 000 рублей. Диктовка сокращает эту статью расходов косвенно: говорить быстрее, чем печатать. А вот следующая цифра точная: речь не уходит в чужое облако, потому что распознавание идёт на вашем ноутбуке - ни ежемесячного счёта за подписку, ни лишнего разговора о том, где лежат записи.
Похожая задача?
Если у вас такая же рутина в тексте - ежедневный набор, перенос данных руками, - опишите задачу в оценщике. Он прикинет объём работ и стоимость такой утилиты под ваш случай.
Новые разборы - на почту
Разборы задач автоматизации: что автоматизировать, сколько это стоит и что даёт в цифрах. Одно письмо на статью, без рекламы чужих продуктов.


