BorisovAI
Все проекты

ScribeAir — голосовой ввод текстаv1.3.1

Push-to-talk и голосовая активация для Windows. Офлайн-распознавание речи через GigaAM (3.3% WER), Whisper и Vosk. Wake word — скажите «запись» для старта, «стоп» для завершения. Прогрессивная транскрипция в реальном времени, автозамена IT-терминов (питон→Python), вставка текста в любое приложение.

ScribeAir — голосовой ввод текста
Offline
Вся обработка на вашем устройстве. Интернет не нужен.
Open Source
Лицензия MIT. Исходный код открыт.
Wake Word
«Запись» для старта, «Стоп» для остановки.
GPU Accelerated
CUDA для ускоренной транскрипции.
3.3% WER
Снижение ошибок на 90% по сравнению с Whisper.
Push-to-Talk
Зажмите клавишу, говорите, отпустите. Текст появится мгновенно.
GigaAM
Лучшая модель распознавания речи для русского. 700K часов обучения.
ONNX
Оптимизированная среда. Быстро на CPU и GPU.
УтилитыPythonGigaAMfaster-whisperVoskONNX RuntimePyTorchSilero VADTransformersT5tkinterPyInstaller

Скриншоты

Документация

ScribeAir

Офлайн голосовой ввод для Windows — push-to-talk и голосовая активация

Говорите — текст появится в позиции курсора. Зажмите горячую клавишу или скажите «запись». Работает в любом приложении.

License: MIT Platform Python 3.10+ Release

Скачать | Возможности | Бенчмарки | Установка | English


GigaAM достигает 3.3% WER на русском языке (CPU) — превосходит все модели Whisper, включая RTX 4090 GPU. Полностью офлайн после первой загрузки моделей. Бесплатно и с открытым исходным кодом.

Почему ScribeAir?

  • Офлайн — работает без интернета (голосовой ввод Windows, Google, Dragon требуют облако)
  • Лучшее качество для русского — 3.3% WER vs ~25% Windows, ~10% Google, ~8% Dragon
  • Бесплатно и с открытым кодом — MIT лицензия (Dragon стоит $300+, Google берёт за каждый запрос)
  • Настраиваемый — 3 ASR-движка на выбор (GigaAM, Whisper, Vosk)
  • Приватный — 100% локально, ваша речь никогда не покидает компьютер

Скачать

Готовые EXE-файлы для Windows доступны в Releases — Python не требуется.

Распакуйте ZIP и запустите ScribeAir.exe. Модели загрузятся автоматически при первом запуске.

Возможности

  • Push-to-talk запись с настраиваемыми горячими клавишами (LShift+RShift, Win+Shift и др.)
  • Голосовая активация — скажите «запись» / «record» для начала, «стоп» / «stop» для завершения
  • 3 ASR-движка: Whisper (GPU/CPU), GigaAM (ONNX, оптимизирован для русского), Vosk (легковесный)
  • Прогрессивная транскрипция — промежуточные результаты в реальном времени во время записи
  • Замена IT-терминов — автоматическая конвертация питон→Python, гугл→Google (81 термин с морфологией)
  • Оверлей с прогрессом транскрипции в реальном времени
  • Потоковый пайплайн с Silero VAD для мгновенного определения голоса
  • Полностью офлайн после первоначальной загрузки моделей
  • Мультиязычность: русский, английский, автоопределение, смешанный RU+EN, перевод RU→EN
  • Коррекция текста T5 для исправления ошибок распознавания
  • Интерфейс в системном трее с полным меню настроек
  • GPU-ускорение через NVIDIA CUDA (автооткат на CPU)
  • Два варианта сборки — CUDA (~4.9 ГБ) и CPU-only (~800 МБ)
  • Пользовательский словарь для специфичных терминов
  • Автозапуск с Windows

Архитектура

Wake Word (OWW)  ──→  Запись  ──→  Прогрессивный GigaAM (предпросмотр)
  или Хоткей             │                    │
                         ▼                    ▼ «стоп/stop»
                   Silero VAD  →  ASR-движок  →  Замена терминов  →  Буфер обмена
                                  ├── GigaAM  (русский, CPU)
                                  ├── Whisper  (мультиязычный, GPU/CPU)
                                  └── Vosk     (легковесный, CPU)

Качество распознавания

Результаты на русских аудиокнигах (подробные бенчмарки):

Движок     Модель             WER     Снижение    Задержка
─────────  ─────────────────  ──────  ──────────  ──────────
GigaAM     v3-e2e-rnnt        3.3%   90.0%       0.66с (CPU)
GigaAM     v3-rnnt            3.3%   90.0%       0.82с (CPU)
GigaAM     v3-e2e-ctc         4.2%   87.2%       1.08с (CPU)
Whisper    large-v3-turbo     7.9%   75.7%       0.44с (GPU)
Whisper    large-v3           8.8%   72.9%       2.30с (GPU)
Whisper    medium            10.7%   67.2%       1.75с (GPU)
Vosk       small-ru          13.0%   60.0%       0.75с (CPU)
Whisper    base (baseline)   32.6%   —           0.42с (CPU)

Главный вывод: GigaAM на CPU (3.3% WER) превосходит Whisper large-v3-turbo на RTX 4090 GPU (7.9% WER) для русского языка.

Установка

Из исходников

Требования: Windows 10/11, Python 3.10+, 8 ГБ RAM, микрофон.

git clone https://github.com/borisovai/scribe-air.git
cd scribe-air

python -m venv venv
venv\Scripts\Activate.ps1

pip install -r requirements.txt
venv\Scripts\python.exe src\main.py

Модели загрузятся автоматически при первом запуске (~240 МБ для GigaAM, ~1.6 ГБ для Whisper).

Рекомендуемые требования (для GPU):

  • NVIDIA GPU с 6+ ГБ VRAM
  • CUDA 12.x

Использование

  1. Запустите приложение — иконка микрофона появится в системном трее
  2. Дождитесь загрузки модели (иконка сменится с синей на серую)
  3. Начните запись любым способом:
    • Горячая клавиша — зажмите LShift + RShift (настраивается), отпустите для завершения
    • Голосом — скажите «запись» / «record» для начала, «стоп» / «stop» для завершения
  4. Говорите в микрофон
  5. Текст будет вставлен в позицию курсора

Голосовая активация (Wake Word)

Включите «Wake Word» в меню трея для работы без рук — хоткей не нужен, полностью голосовое управление.

Меню трея (правый клик)

  • Язык — Автоопределение, Русский, Английский, RU+EN Смешанный, RU→EN Перевод
  • Модель — Tiny, Small, Medium, Large v3, Large v3 Turbo
  • ASR-движок — Auto, Whisper, GigaAM, Vosk
  • Модель GigaAM — v2-ctc, v3-rnnt, v3-e2e-rnnt и др.
  • Горячая клавиша — Комбинация для push-to-talk
  • Аудиоустройство — Выбор входного микрофона
  • Wake Word — Вкл/выкл голосовой активации (скажите «запись»/«record» для начала)
  • Замена IT-терминов — Вкл/выкл автоматической конвертации кириллица→латиница
  • Коррекция текста (T5) — Вкл/выкл коррекции T5
  • Запуск с Windows — Вкл/выкл автозапуска
  • Показать/Скрыть консоль — Открыть консоль с логами

Конфигурация

Настройки хранятся в %APPDATA%\ScribeAir\config.json:

{
  "language_mode": "auto",
  "model": "large-v3-turbo",
  "device": "cuda",
  "hotkey": "shift+shift",
  "asr_backend": "auto",
  "gigaam_model": "v3-e2e-rnnt",
  "llm_correction_enabled": true,
  "custom_vocabulary": ["Kubernetes", "PostgreSQL"]
}

Режимы ASR-движка

  • auto — По умолчанию: GigaAM для русского на CPU, Whisper на GPU (3.3–7.9% WER, 0.4–0.8с)
  • whisper — Английский или GPU-ускоренное распознавание (7.9% WER, 0.44с на GPU)
  • gigaam — Русский на CPU, лучшее качество (3.3% WER, 0.66с)
  • vosk — Минимальная задержка, короткие фразы (13% WER, 0.7с)

Сборка EXE

# Собрать оба варианта
venv\Scripts\python.exe build.py

# Только CPU или CUDA
venv\Scripts\python.exe build.py cpu
venv\Scripts\python.exe build.py cuda
  • CUDA (~4.9 ГБ) — Полная GPU-поддержка, включает NVIDIA DLL
  • CPU (~800 МБ) — Только CPU, без зависимостей CUDA

AI-модели не включены в сборку — загружаются автоматически при первом запуске и кешируются в %APPDATA%\ScribeAir\models\.

Структура проекта

scribe-air/
├── src/
│   ├── main.py                 # Точка входа
│   ├── config.py               # Управление конфигурацией
│   ├── hotkey.py               # Глобальные горячие клавиши
│   ├── recorder.py             # Запись аудио (sounddevice)
│   ├── transcriber.py          # Транскрипция Whisper
│   ├── gigaam_transcriber.py   # Транскрипция GigaAM (ONNX)
│   ├── vosk_transcriber.py     # Транскрипция Vosk
│   ├── streaming_pipeline.py   # Потоковый VAD + транскрипция
│   ├── wakeword_listener.py    # Обнаружение слов-активаторов (openWakeWord)
│   ├── term_replacer.py        # Замена IT-терминов (кириллица → латиница)
│   ├── audio_processor.py      # Предобработка аудио
│   ├── text_corrector_t5.py    # Коррекция текста T5
│   ├── model_downloader.py     # Загрузка моделей с фоллбэком
│   ├── inserter.py             # Вставка текста через буфер обмена
│   ├── overlay.py              # Плавающее окно транскрипции
│   ├── tray.py                 # Интерфейс системного трея
│   └── autostart.py            # Автозапуск Windows
├── wakeword_data/models/       # ONNX-модели для слов-активаторов
├── tests/                      # Тесты (pytest)
├── docs/guides/                # Руководства
├── assets/icon.ico             # Иконка приложения
├── requirements.txt            # Зависимости
├── voice_app.spec              # Конфигурация PyInstaller
└── build.py                    # Скрипт сборки

Решение проблем

  • Модель не загружается — Проверьте интернет-соединение. Первая загрузка ~240 МБ–1.6 ГБ с HuggingFace. Модели кешируются в %APPDATA%\ScribeAir\models\
  • Нет звука — Проверьте микрофон в настройках звука Windows. Выберите устройство в меню трея «Аудиоустройство»
  • GPU не используется — Установите CUDA 12.x, обновите драйверы NVIDIA. Установите "device": "cuda" в конфиге. Используйте CUDA-сборку
  • Текст не вставляется — Убедитесь, что курсор в текстовом поле. Попробуйте сначала в Блокноте
  • Отладка — Правый клик по иконке в трее → «Показать консоль». Лог: %APPDATA%\ScribeAir\scribe_air.log

Тестирование

pip install -r requirements-dev.txt
pytest tests/ -v

Участие в разработке

Мы рады вашим вкладам! См. CONTRIBUTING.md.

Лицензия

MIT License. См. LICENSE.

Благодарности

  • GigaAM — ASR-модель для русского языка (Сбер, 700K часов обучения)
  • faster-whisper — Оптимизированная реализация Whisper
  • onnx-asr — ONNX-инференс для ASR
  • Vosk — Легковесное офлайн-распознавание речи
  • Silero VAD — Нейросетевое определение голоса
  • bond005/ruT5-ASR-large — T5 коррекция русского текста

Оцените материал

0/1000