Инструменты

MumbleFlow: умная диктовка без облака на связке Whisper + LLaMA

MumbleFlow — десктопное приложение, которое цепляет whisper.cpp к llama.cpp для диктовки в реальном времени. Всё работает локально на Mac через Metal. Разбираем архитектуру, выбор моделей и подводные камни.

28 марта 2026 г.
5 мин чтения
Whisperllama.cppApple SiliconMetalspeech-to-textдиктовкаTauriприватность

Проблема: Whisper транскрибирует, но не думает

Каждый, кто пробовал диктовать текст через Whisper, знает ощущение: модель отлично распознаёт речь, но на выходе — поток сознания. «Эээ», «ну», «то есть», повторы слов, отсутствие пунктуации. Технически всё верно — Whisper записал именно то, что вы сказали. Проблема в том, что люди так не пишут.

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

MumbleFlow предлагает другой подход: объединить whisper.cpp и llama.cpp в одном десктопном приложении, где вся обработка происходит локально на Mac через Metal.

Архитектура пайплайна

Два этапа обработки

Этап 1 — транскрипция (whisper.cpp). Микрофон захватывает аудио, whisper.cpp преобразует его в сырой текст. На выходе — дословная расшифровка со всеми артефактами живой речи.

Этап 2 — очистка (llama.cpp). Сырой транскрипт передаётся в локальную языковую модель. Она убирает заполнители («эм», «ну», «как бы»), исправляет пунктуацию, устраняет повторения и перестраивает структуру предложений.

Оба компонента используют Metal-ускорение на Apple Silicon. На M1/M2/M3 оба этапа выполняются с минимальной задержкой.

Выбор модели для очистки

По умолчанию используется Llama 3.2 3B. Задача здесь не генеративная: модели не нужно придумывать контент, только переформатировать существующий. Для этого достаточно маленькой модели.

Альтернативы из обсуждений: Llama 3.2 1B — ещё быстрее, но хуже с пунктуацией. Qwen 2.5 3B — хорошие результаты для неанглийских языков. Phi-3 Mini — компактная, но иногда «додумывает» за говорящего.

Tauri вместо Electron: 15 МБ до загрузки моделей

MumbleFlow собран на Tauri 2.0 — фреймворке для десктопных приложений на Rust с веб-фронтендом. Tauri использует системный WebView вместо встроенного Chromium: всё приложение весит около 15 МБ до загрузки моделей. Типичное Electron-приложение стартует от 150–200 МБ.

Маленький бинарник означает быстрый запуск и меньший расход памяти — ресурсы, которые лучше отдать моделям.

Chunked mode vs. silence detection

Silence detection — стандартный подход для транскрипции записей. Whisper ждёт паузу, потом обрабатывает сегмент. Для живой диктовки создаёт проблему: вы думаете, подбираете слово — Whisper решает, что фраза закончилась. Результат ощущается как лаг с рваным ритмом.

Chunked mode нарезает аудио на фиксированные отрезки (2–5 секунд), каждый обрабатывается отдельно. Предсказуемый ритм, стабильная задержка. Текст появляется порциями с равномерными интервалами. Для задачи «быстро набросать текст голосом» — правильный выбор.

Сценарии использования

  • Рабочие черновики — диктовать первый драфт быстрее, чем печатать; MumbleFlow убирает необходимость вычищать вручную
  • Заметки и дневник — голосовые заметки без облака, мысли не проходят через чужие серверы
  • Протоколы встреч — запись разговора с очисткой в читаемый текст
  • Доступность — для людей с ограниченной подвижностью рук локальное решение без подписки критически важно

Ограничения

Качество зависит от модели. Сложные случаи (технический жаргон, переключение языков) могут потребовать более крупную модель.

Требует Apple Silicon. Metal-ускорение — ключевое преимущество и ограничение. На Intel Mac всё будет значительно медленнее.

Модели нужно загружать отдельно. whisper-large-v3 ~1.5 ГБ, Llama 3.2 3B в Q4 ~2 ГБ. Суммарно ~3.5 ГБ.

Русский язык — отдельная история. Whisper поддерживает русский, но качество очистки через Llama 3.2 3B для русского текста хуже, чем для английского. Стоит экспериментировать с Qwen.

Паттерн, важнее продукта

MumbleFlow интересен не столько как продукт, сколько как архитектурный паттерн. Цепочка «специализированная модель → языковая модель для постобработки» применима широко:

  • OCR → LLM для структурирования распознанного текста
  • Генерация кода → LLM для ревью и рефакторинга
  • Перевод → LLM для стилистической адаптации

Общая схема: первая модель делает тяжёлую специализированную работу, вторая — приводит результат в человекочитаемый вид. На Apple Silicon с Metal обе работают локально без заметных задержек.

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

Автор: Алик Завалишев

Эксперт по ИИ и автоматизации процессов

Больше статей