Голосовой ввод на Mac, который не уходит в облако
VoiceVoice: моё приложение для диктовки на macOS. Зажимаешь клавишу, говоришь, отпускаешь, и текст появляется в поле, где стоит курсор: в мессенджере, почте, редакторе кода, терминале. Распознавание идёт на самом Mac через Apple Neural Engine, звук и текст никуда не отправляются, телеметрии нет.
Я сделал его для себя, потому что системная диктовка плохо справляется с русским и терминами, а облачные сервисы отправляют голос на чужие серверы.
Движки распознавания
- GigaAM v3 от Сбера. Лучшее качество на русском: сам расставляет знаки препинания и пишет числа цифрами. Есть точный режим, который перебирает несколько вариантов фразы, и подсказка терминов из словаря прямо во время распознавания.
- Parakeet v3 от NVIDIA. Быстрый, 25 европейских языков.
Модель скачивается при первом выборе движка, фраза распознаётся за доли секунды. Длинная диктовка режется на куски по паузам и распознаётся прямо во время записи, поэтому пятиминутная запись готова почти сразу после остановки, а стыки кусков перепроверяются, чтобы не было лишних точек посреди предложения.
Горячие клавиши
- Удержание Fn или правого Option: говоришь, пока держишь.
- Двойное нажатие: свободная запись без удержания, следующее нажатие останавливает.
- Быстрая правка: выделить слово и нажать правый Command, ввести правильный вариант, и пара сразу попадает в словарь.
Вставка текста в любое приложение
Текст вставляется в три уровня: сначала через буфер обмена и Command+V, затем через AppleScript, в крайнем случае прямой записью в поле через Accessibility. Исходное содержимое буфера возвращается после вставки, а временная запись помечается так, чтобы не засорять историю менеджеров буфера. Для Electron-приложений вроде Slack и VS Code, Safari и Chrome есть отдельные исправления. Если поля ввода нет, текст остаётся в буфере с подсказкой.
Словарь, который учится на правках
После вставки приложение смотрит, как пользователь правит вставленный фрагмент, и запоминает пары «как распознано → как правильно». Правило начинает работать с первой правки. Если пользователь вернул исходный вариант, правило получает штраф. Похожие написания ловятся нечётким сравнением, но обычные русские слова не трогаются. Раз в день или неделю словарь проверяется на вредные правила.
Числа цифрами
«Две тысячи пятьсот тридцать два» превращается в 2532, «три с половиной» в 3,5, «с двадцать четвёртого по сороковой» в «с 24-го по 40-й». Удобно для таблиц, форм и сумм.
Меньше нейросетей, больше точности
В ранних версиях поверх распознавания работала языковая модель для исправления текста. Я проверил её на 198 реальных диктовках: она не исправила ни одной ослышки и внесла несколько вредных правок. Модель убрал, как и Whisper, который медленнее и хуже на русском. Приложение уменьшилось с 235 до 14 МБ, установщик весит около 4,5 МБ.
Как устроено
Swift 6, SwiftUI и AppKit, приложение живёт в строке меню. Распознавание на Core ML и FluidAudio, история и словарь в SQLite. Требуется macOS 14 и Apple Silicon. Код открыт на GitHub под лицензией MIT.
Скриншоты



Частые вопросы
Как включить голосовой ввод текста на Mac без облака?
Установить VoiceVoice, выдать доступ к микрофону и Accessibility и выключить системную диктовку. Дальше зажимаете Fn и говорите, всё распознаётся на самом Mac.
Работает ли VoiceVoice без интернета?
Да. Интернет нужен только один раз, чтобы скачать модель распознавания.
Какие языки поддерживаются?
GigaAM распознаёт русский, Parakeet 25 европейских языков.
Сколько стоит VoiceVoice?
Приложение бесплатное, код открыт на GitHub.





