Локальная диктовка текстов прямо под курсор с Voicetypr
Я часто ловлю себя на мысли, что печатать длинные промпты для нейросетей или развернутые комментарии к пулл-реквестам банально лень. Пальцы устают, мысли путаются, а перечитывать черновик неохота. Голосовой ввод вроде бы решает эту проблему, но стандартные системные инструменты в macOS и Windows работают так себе. Сторонние облачные утилиты вроде Wispr Flow просят подписку и гоняют весь ваш голос через чужие сервера, что для конфиденциального кода или рабочих переписок сразу мимо.
Недавно наткнулся на любопытный проект под названием Voicetypr. Это открытое десктопное приложение под лицензией AGPL-3.0, которое вставляет распознанную речь прямо в место, где мигает курсор. Причем делает это полностью локально на вашей машине.
Что умеет приложение
Главная идея простая: нажимаете глобальный шоткат, наговариваете текст в микрофон, отпускаете клавишу, и готовые предложения сразу появляются в активном поле ввода. Будь то редактор VS Code, терминал, мессенджер или браузер.
Вот несколько вещей, которые автор упаковал в эту утилиту:
- Распознавание на устройстве. На macOS и Windows работает модель Whisper, а для маков на чипах Apple Silicon можно подключить оптимизированную модель Parakeet.
- Форматирование через LLM. Сырая диктовка часто полна слов-паразитов и странных пауз. Приложение умеет прогонять черновой текст через OpenAI, Anthropic, Gemini или любой кастомный локальный endpoint, чтобы на выходе получить чистый и отредактированный абзац.
- Транскрипция готовых медиафайлов. Можно закинуть аудио или видео файл и получить текстовую расшифровку.
- История записей. В интерфейсе сохраняются все расшифровки с метаданными, так что можно сравнить исходный текст с отредактированным или переслушать запись.
- Серверный режим по локальной сети. Если у вас на одном компьютере мощная видеокарта, можно настроить Voicetypr как локальный сервер транскрипции и отправлять аудио с менее производительного ноутбука.
Кстати, если локальной мощности не хватает, в настройках можно переключиться на облачные сервисы распознавания: Groq, Deepgram, OpenAI, Soniox или Cohere. Но весь смысл Voicetypr как раз в том, что по умолчанию аудиопоток не покидает ваш компьютер.
CLI для автоматизации и локальных агентов
Интересная деталь, о которой разработчики редко думают в подобных GUI-утилитах: Voicetypr поставляется со встроенным консольным интерфейсом.
Команду можно поставить прямо из настроек программы. Это дает возможность дергать движок распознавания из bash-скриптов или подключать к локальным AI-агентам:
# Проверить статус приложения
voicetypr status --json
# Посмотреть доступные модели
voicetypr models --json
# Расшифровать аудиофайл и получить структурированный JSON
voicetypr transcribe --file note.wav --json
# Записать голос с микрофона до наступления тишины
voicetypr record --until-silence --json
Флаг --json возвращает структурированный ответ, поэтому результат легко парсить стандартным jq или скармливать дальше по пайплайну.
Как это устроено под капотом
Стек приложения собран достаточно прагматично. Автор выбрал связку Tauri v2 и Rust для тяжелой системной работы, а интерфейс написал на React 19, TypeScript, Tailwind CSS и shadcn/ui.
Вся возня с перехватом горячих клавиш, захватом микрофона, ресемплингом аудио и эмуляцией ввода в активное окно полностью лежит на Rust-бекенде. Это дало быстрый отклик и скромное потребление оперативной памяти по сравнению с типичными Electron-приложениями.
На Windows локальный Whisper может использовать Vulkan для ускорения на GPU. Причем этот процесс вынесен в отдельный изолированный сайдкар. Если с видеодрайвером что-то пойдет не так, приложение просто тихо переключится на вычисления через CPU без падения основной программы.
Как собрать и запустить
Если вы хотите собрать проект из исходников самостоятельно, понадобятся Node.js с менеджером pnpm, тулчейн Rust и базовые инструменты сборки вашей операционной системы (Xcode CLI на macOS или Visual Studio Build Tools на Windows).
Сборка запускается стандартными командами:
git clone https://github.com/moinulmoin/voicetypr.git
cd voicetypr
pnpm install
pnpm tauri:dev
Также в репозитории есть готовые тесты и линтеры:
pnpm lint
pnpm test
pnpm test:backend
pnpm quality-gate
Для тех, кто не хочет компилировать руками, в релизах на GitHub и на официальном сайте лежат подписанные DMG-пакеты под macOS и установщики под Windows 10/11.
Зачем это разработчику
В первую очередь Voicetypr пригодится тем, кто много пишет текстом: ведет документацию, набрасывает задачи в таск-трекеры или общается с нейросетями в Cursor и Claude Dev. Надиктовать сложный контекст голосом за двадцать секунд гораздо проще, чем набивать пять абзацев руками.
Второй очевидный сценарий — приватность. Если вы работаете с NDA или просто не хотите отдавать записи своего голоса сторонним компаниям, связка локального Whisper и локального инференса через Ollama закрывает этот вопрос полностью.
В проекте пока относительно мало звезд на GitHub, но кодовая база выглядит аккуратно, а связка Tauri с Rust работает шустро. Попробовать точно имеет смысл, особенно если вы искали бесплатную замену проприетарным диктовалкам.
