Мы говорим со скоростью примерно 130–160 слов в минуту, а печатаем — в лучшем случае 60–70. Разница более чем в два раза.
В последние годы работа за компьютером сильно сместилась в сторону текста: мы пишем подробные контекстные промпты для AI-ассистентов в Cursor или Claude, описываем архитектурные решения, ставим задачи и постоянно общаемся в рабочих чатах. Казалось бы, надиктовывать такие объемы голосом логичнее и быстрее.
Но любой разработчик, который пробовал стандартный голосовой ввод, быстро бросает эту затею по двум причинам:
- Он не понимает контекст разработки. Обычный STT путает регистры, не знает
camelCase, коверкает технические термины и превращает названия библиотек в случайные бытовые слова. - Лишние действия. Большинство сторонних утилит требуют открыть окно, нажать кнопку записи, подождать, нажать «Скопировать», переключиться обратно в редактор и вставить текст. Если для простой операции нужно сделать пять лишних движений мышью, привычка не приживается.
Чтобы решить обе эти проблемы, я написал Nyx Vox. Это легковесная утилита на Rust и Tauri, которой я пользуюсь каждый день.
В этой статье:
- Как устроен процесс
- Редактирование без искажения смысла
- Где это экономит время каждый день
- Приватность и локальный режим
- Версия для Windows и Open Source
Как устроен процесс
Главное требование к инструменту было простым: процесс ввода должен быть незаметным и не требовать мыши.
graph LR
A["Нажал хоткей"] --> B["Говоришь (руки свободны)"]
B --> C["VAD (тишина 3–15 сек) ИЛИ повторный клик"]
C --> D["Текст уже в поле ввода"]
Механика работы:
- Вы находитесь в любой программе: в редакторе кода, в терминале, в чате или в браузере.
- Нажимаете горячую клавишу — удерживать её не нужно, руки остаются свободными. Вы просто говорите в комфортном темпе. На экране появляется компактный индикатор звука.
- Запись останавливается сама через умный VAD (Voice Activity Detection): когда вы договорили фразу, система фиксирует тишину (интервал настраивается от 3 до 15 секунд) и завершает ввод. Либо можно нажать клавишу повторно, если хотите вставить текст немедленно.
- Через 300–500 миллисекунд готовый текст вставляется прямо туда, где стоял курсор.
Под капотом цепочка выглядит так:
- Аудиопоток захватывается через библиотеку
cpalс небольшим кольцевым буфером на старте, чтобы не терялись первые слоги. - Звук передается в модель Whisper (в облачном режиме через Groq это занимает около полусекунды).
- Распознанный текст передается в языковую модель для нормализации.
- Приложение эмулирует системную вставку (
Cmd+Vна macOS илиCtrl+Vна Windows) в то окно, которое было активно перед началом записи.
Редактирование без искажения смысла
Обычные диктовки часто пытаются перефразировать речь или вставить синонимы. Для кода и технических инструкций это недопустимо.
В Nyx Vox языковая модель работает в строгом режиме нормализации:
- Слова автора не меняются. Модель не сокращает текст, не придумывает продолжений и не заменяет термины.
- Убирается мусор. Вырезаются паузы, запинки и слова-паразиты («э-э-э», «ну», затянутые гласные).
- Синтаксис и пунктуация. Расставляются знаки препинания, текст делится на понятные абзацы, а технические названия (PostgreSQL, Docker, TypeScript, GraphQL, REST API) пишутся в правильном регистре.
Вы наговариваете сырую мысль так, как она идет из головы, а в редактор попадает чистый текст без опечаток.
Где это экономит время каждый день
Я держу Nyx Vox запущенным постоянно. Вот три сценария, где он полностью заменил мне ручной набор:
- Промпты для Cursor и Claude. Чтобы модель выдала нужный результат с первой попытки, ей нужно подробно описать контекст: какие файлы трогать, какие методы вызывать, где проверить ошибки. Печатать такой абзац руками — это полторы-две минуты. Сказать голосом — 15 секунд.
- Ответы в Telegram и Slack. На вопрос коллеги можно ответить сразу из IDE, не переключая окна и не беря в руки мышь. Нажал клавишу, продиктовал пару предложений — VAD сам завершит запись и вставит ответ.
- Заметки и документация. Когда во время проектирования в голове складывается структура модуля или схема API, проще всего открыть пустой файл в Obsidian и проговорить логику вслух.
Приватность и локальный режим
При работе с коммерческими проектами и кодом под NDA отправлять голос на внешние сервера нельзя. Поэтому в приложении предусмотрено два режима:
- Скоростной (облачный): Распознавание идет через Groq LPU Whisper. Это дает задержку около 500 мс. В качестве постредактора можно подключить свой ключ от Gemini, DeepSeek, Qwen или GigaChat.
- Локальный (оффлайн): Инференс Whisper запускается прямо на вашем компьютере. На Mac используется аппаратное ускорение Metal. Ни один байт звука или текста не уходит в сеть, всё обрабатывается локально.
Все API-ключи шифруются аппаратно (AES-256-GCM) и хранятся исключительно на вашем устройстве.
Версия для Windows и Open Source
Изначально я делал Nyx Vox под свой рабочий MacBook. Но поскольку проект написан на Rust и Tauri 2, системные вызовы удалось изолировать, и недавно в проекте появилась версия для Windows.
Сборка под Windows работает по тем же принципам: перехват глобальных клавиш, определение активного окна через Win32 API и эмуляция вставки через enigo.
Код проекта полностью открыт:
- Репозиторий: github.com/AVP-Dev/nyx-vox
- Готовые сборки (DMG для macOS, инсталлятор для Windows): Releases
Обратная связь
Для любого опенсорсного инструмента самое ценное — это отзывы тех, кто пробует его в реальной работе.
Если вы часто работаете с кодом, формулируете длинные задачи или просто хотите тратить меньше времени на печать — скачайте сборку под свою систему, попробуйте поработать с ней день-два и напишите в Issues на GitHub. Любые замечания по горячим клавишам, задержкам или распознаванию помогут сделать инструмент удобнее для всех.