Представляем OpenTypeless: голосовой ввод, который действительно работает
Голосовой ввод существует уже много лет, но он никогда не работал так, как мне хотелось. Встроенная диктовка ограничена одним провайдером, сторонние инструменты требуют подписки, а результат всегда приходится серьёзно редактировать. Мне нужно было нечто принципиально лучшее — инструмент, дающий полный контроль над каждым этапом преобразования голоса в текст.
Проблема голосового ввода
Как разработчик, я провожу большую часть дня за набором текста. Голосовой ввод мог бы сэкономить часы рутинной работы, но существующие решения подводили в ключевых моментах. Они были привязаны к единственному движку распознавания речи без возможности переключения. Они не умели шлифовать результат — вы получали сырую транскрипцию, полную слов-паразитов и без знаков препинания. И они плохо справлялись с технической лексикой, превращая «PostgreSQL» в «пост гресс сиквел» каждый раз.
Я перепробовал все инструменты голосового ввода, которые смог найти. Диктовка macOS неплохо справлялась с обычным текстом, но была ужасна для обсуждения кода. Распознавание речи Windows ощущалось как реликт 2005 года. Сторонние приложения вроде Otter.ai и инструменты на базе Whisper были лучше, но все они страдали от одной и той же фундаментальной проблемы: невозможности настроить конвейер обработки. Вы были привязаны к тому STT-движку, который они выбрали, к той постобработке, которую они реализовали, и к тем ограничениям, которые они наложили.
- Нет выбора STT-провайдера — привязка к одному движку
- Нет ИИ-обработки — сырая транскрипция со словами-паразитами и грамматическими ошибками
- Плохая работа с технической лексикой — «React» превращается в «реакт», «PostgreSQL» — в абракадабру
- Нет пользовательского словаря — невозможно обучить терминам вашего проекта
- Подписочная модель — ежемесячная плата за то, что должно быть утилитой
Почему я создал OpenTypeless
Мне нужен был инструмент, позволяющий выбирать собственных провайдеров, автоматически приводить речь в порядок и работать в любом приложении на десктопе. Не веб-приложение, не расширение для браузера — полноценное нативное десктопное приложение, способное захватывать аудио глобально и вставлять отшлифованный текст куда угодно. Ключевое понимание состояло в том, что голосовой ввод — это по сути задача конвейера: захват с микрофона, преобразование речи в текст, ИИ-обработка текста и вывод в буфер обмена. Каждый этап должен настраиваться независимо.
Подробный разбор архитектуры
OpenTypeless построен на современном десктопном стеке, спроектированном для производительности и расширяемости. Архитектура чётко разделяет ответственности: нативная оболочка отвечает за системную интеграцию, UI-слой — за взаимодействие с пользователем, а система провайдеров — за всю коммуникацию с внешними API.
Десктопная оболочка Tauri
Tauri обеспечивает нативную десктопную оболочку — Rust на бэкенде означает отличную производительность, крошечный размер бинарника (менее 10 МБ) и надёжную безопасность. В отличие от Electron, Tauri использует системный нативный webview вместо встроенного Chromium, что приводит к значительно меньшему потреблению памяти. Бэкенд на Rust отвечает за захват аудио, регистрацию глобальных горячих клавиш, управление буфером обмена и интеграцию с системным треем. Все эти операции требуют нативного доступа к ОС и выигрывают от характеристик производительности Rust.
Фронтенд на React + TypeScript
Интерфейс построен на React и TypeScript, обеспечивая привычный опыт разработки с полной типобезопасностью. Фронтенд отвечает за элементы управления записью, панель настроек, предпросмотр текста и конфигурацию провайдеров. Управление состоянием простое — встроенные хуки React обрабатывают локальное состояние, а IPC-мост Tauri обеспечивает связь с бэкендом на Rust для системных операций.
Система провайдеров
Система провайдеров — самое важное архитектурное решение OpenTypeless. Вместо жёсткого кодирования одного STT-движка или LLM, OpenTypeless определяет чистый интерфейс, который может реализовать любой провайдер. Добавление нового провайдера сводится к реализации простого адаптера — остальная часть конвейера не меняется.
На данный момент OpenTypeless поддерживает 6 STT-провайдеров (Deepgram Nova-3, OpenAI Whisper, Groq Whisper, GLM-ASR, AssemblyAI и SiliconFlow) и 11 LLM-провайдеров для обработки текста. У каждого провайдера свои сильные стороны — Deepgram лидирует по точности для английского, Groq обеспечивает минимальную задержку, GLM-ASR оптимизирован для китайского, а Ollama работает полностью офлайн на вашем компьютере.
ИИ-обработка текста
Сырой результат распознавания речи по своей природе неаккуратен. Люди говорят «эм», «ну», «типа» — и это нормально в разговоре, но ужасно в письменном тексте. Этап ИИ-обработки OpenTypeless отправляет сырую транскрипцию выбранной вами LLM с тщательно составленным промптом, который исправляет грамматику, расставляет знаки препинания, убирает слова-паразиты и форматирует текст естественным образом. Функция пользовательского словаря гарантирует, что технические термины сохраняются именно так, как вы их определили.
Конфиденциальность как принцип
Конфиденциальность в OpenTypeless — не запоздалая мысль, а основополагающий принцип проектирования. Ваши API-ключи хранятся локально на вашем компьютере, а не на наших серверах. Аудио отправляется напрямую с вашего компьютера выбранному STT-провайдеру — сервера OpenTypeless в этой цепочке нет. Мы не собираем телеметрию, не отслеживаем использование и не имеем доступа к вашим транскрипциям. Код полностью открыт, так что вы можете проверить каждое утверждение.
Философия открытого исходного кода
OpenTypeless распространяется под лицензией MIT и бесплатен навсегда. Я верю, что отличные инструменты должны быть доступны каждому. Модель открытого исходного кода означает, что сообщество может добавлять провайдеров, исправлять ошибки и расширять функциональность. Это также означает, что вы никогда не окажетесь в ловушке — если OpenTypeless исчезнет завтра, у вас останется код. Несколько участников уже добавили адаптеры провайдеров и улучшения интерфейса, и проект приветствует пулл-реквесты от всех желающих.
Если вам надоел голосовой ввод, который работает кое-как, попробуйте OpenTypeless. Скачайте его с нашего сайта, подключите свои API-ключи и начните набирать текст голосом — где угодно. Ознакомьтесь с нашим руководством по выбору подходящего STT-провайдера, чтобы получить лучшие результаты для вашего языка и сценария использования.