В голос-в-текст идёт тихий сдвиг. Пять лет назад всё хорошее жило в облаке. Apple Silicon поменял арифметику — M1 и далее идут с нейронными движками, способными гонять реальные модели речи прямо на устройстве, и зазор между облаком и локалью сократился почти до нуля для большинства задач.
Этот гид — о том, что такое офлайн голос-в-текст на Mac, как устроена технология и какими инструментами имеет смысл пользоваться.
Почему «офлайн» стал жизнеспособным
Раньше распознавание речи было задачей для облака, потому что модели были слишком большими для потребительского железа в реальном времени. Whisper-Large весит ~1.5 GB. Гонять его на разговорной скорости — серьёзный компьют.
Что изменилось:
- Нейродвижок Apple Silicon даёт ~11–15 TOPS на M1 базовом и до 38 TOPS на M3 Pro и выше. Этого хватает, чтобы крутить Whisper-Medium или Parakeet быстрее, чем в реальном времени.
- Малые модели стали лучше. Parakeet (RNN-T от NVIDIA) даёт конкурентоспособную точность при доле размера Whisper и работает на ~150x real-time на M-серии.
- CoreML и Metal созрели, и Whisper.cpp и ему подобные реально используют железо, а не пинают CPU.
Итог: теперь можно диктовать, расшифровывать встречу или обрабатывать часовой файл локально на MacBook Air так, что вентиляторы даже не включаются.
Что реально даёт «офлайн»
Приватность — очевидное. Но ежедневно важны и практические плюсы:
Нет задержек. У облака — round-trip. Даже на быстром соединении это 50–200 мс на запрос. Локальная инференция возвращает результат настолько быстро, насколько модель его выдаёт; на Apple Silicon — обычно меньше 200 мс на короткую фразу.
Работает офлайн. Самолёты, поезда, гостиничный Wi-Fi, защищённые офисы, конференц-сети, режущие трафик. Всё это не важно, если модель у вас на машине.
Без подписки. Облака считают по минутам или месяцам. Локальные приложения — обычно разовая покупка или бесплатно.
Без вендор-лока. Расшифровки лежат в вашей файловой системе. Если контора закроется, ваши данные на месте.
Предсказуемо. Облака меняют цены, отключают API и режут лимиты. Локальное — просто продолжает работать.
Как устроено on-device распознавание на Mac
На Apple Silicon доминируют два семейства моделей:
OpenAI Whisper
Whisper — encoder-decoder трансформер, обученный на 680 000 часов многоязычной речи. Open-weight, размеры от Tiny до Large, 99+ языков.
Размеры и компромиссы на M-серии:
| Модель | Размер | RAM | Скорость (M2) | WER (англ.) |
|---|---|---|---|---|
| Tiny | 75 MB | ~400 MB | ~30x | ~9% |
| Base | 142 MB | ~500 MB | ~20x | ~7% |
| Small | 466 MB | ~1 GB | ~10x | ~5.5% |
| Medium | 1.5 GB | ~2.5 GB | ~5x | ~4.8% |
| Large-v3 | 3 GB | ~5 GB | ~2x | ~4.2% |
Большие точнее, но жрут больше памяти и медленнее. Для диктовки Small/Medium — sweet spot. Для встреч и файлов, где важна точность, — Large-v3.
NVIDIA Parakeet
Parakeet — RNN-T модель. Быстрее Whisper при сопоставимой точности, по умолчанию англоязычная, ~150x real-time на M2.
Лучший дефолт для англоязычной диктовки — латентность колоссально выигрывает: модель почти не «слышно». Минус — один язык. Нужен мультиязык — берите Whisper.
В большинстве современных Mac-приложений движок выбирается под задачу.
Что ещё работает локально, кроме расшифровки
Распознавание — половина истории. Полный пайплайн обычно:
- Захват аудио — микрофон или системный звук.
- Распознавание — Whisper или Parakeet выдают сырой текст.
- Пост-обработка — пунктуация, заглавные, чистка слов-паразитов.
- Опционально: LLM-очистка — локальная языковая модель переписывает текст в выверенный.
- Опционально: перевод — вывод на другом языке.
Шаги 4 и 5 используют небольшие локальные LLM (Gemma 3 4B, Qwen 3 4B, LLaMA 3.2 3B) через llama.cpp или MLX. Каждая ~2–4 GB, работают на разговорной скорости на M-серии. Текст читается как редактированная статья, а не «голая» расшифровка.
Расшифровка встреч добавляет ещё два компонента:
- Диаризация спикеров — кто и что сказал. Нейронные эмбеддинги голосов, всё локально.
- Саммаризация — локальный LLM делает резюме с задачами и решениями.
Ничему из этого облако больше не нужно.
Инструменты, которые это делают хорошо
Бесплатно или дёшево:
- Apple Dictation — в составе macOS, on-device-вариант. Только короткая диктовка.
- MacWhisper — бесплатный для файлов, €64 Pro для живой диктовки.
- VoiceInk — open-source, $25–49 разово.
- FluidVoice — бесплатно, open-source, поддерживает Parakeet.
Платные шире:
- Vext — $49 разово: диктовка + встречи + перевод, всё локально.
- Superwhisper — $249 пожизненно, фокус на диктовке с кастомными режимами.
- Voibe — $198 пожизненно, приватная диктовка.
Различие — в охвате. Спор «локально vs облако» по точности и латентности уже решён в пользу локального. Всё, что ниже верхушки облаков (Otter Premium, Rev), сопоставимо или хуже того, что работает у вас на ноутбуке.
Когда облако ещё выигрывает
Чтоб честно: в специфических случаях у облака есть преимущества.
Командная работа. Otter, Fireflies, Granola — общие библиотеки расшифровок, комментарии, совместный просмотр. Если процесс — несколько людей вокруг одних транскриптов, облако под это и заточено.
Отраслевая точность. Медицина, юр, узкие техдомены — у облаков специализированные модели на отраслевой лексике, которые локальный Whisper/Parakeet без файн-тюна не догонит.
Кроссплатформа. Если вы постоянно между Mac, Windows и iPhone, облако синкает.
Для одиночной работы на Mac это редко важно. Для команд в регулируемых отраслях — может быть.
Настройка локального голос-в-текст
Три шага:
- Выберите приложение. Для большинства правильный ответ — MacWhisper (триал), Vext (триал) или Superwhisper (триал). Попробуйте, оцените.
- Скачайте модель. Первый запуск тянет 600 MB до 3 GB в зависимости от модели. Дальше — просто работает.
- Назначьте горячую клавишу. По умолчанию обычно fn или правый Shift. Выбирайте то, что нажимается не задумываясь.
Это весь setup. Без аккаунтов, API-ключей и тарифов использования.
Практический вывод
Офлайн голос-в-текст на Mac перестал быть компромиссом в 2023 и пересёк границу «реально лучше облака» для большинства сценариев к концу 2024. Латентность ниже, приватность настоящая, цена разовая, не ежемесячная.
Если вы по привычке используете облачную диктовку — стоит попробовать локальную. Тот разрыв, что вы могли помнить пару лет назад, больше отсутствует.