Skip to content

Диктовка текста голосом на базе VOSK. Работает офлайн. Удержи Alt — получи текст!

License

Notifications You must be signed in to change notification settings

LabOzzy/vosk-dictation

Repository files navigation

Demo


🚀 Как работает?

  1. Удерживай Alt 1.2 секунды — начнётся запись.
  2. Повторно удержи Alt 1.2 секунды — запись остановится.
  3. Текст будет распознан и вставлен туда, где находился курсор (в активном окне).

📌 Работает полностью оффлайн, ничего никуда не передаёт.
❗ Пока значок в трее 🟢 активен — программа работает в фоне и готова к использованию.
📌 Нет лимита по длительности записи.
❌ Нажми "Завершить" в трее — программа завершит все процессы и закроется.
💡 Добавьте в автозапуск, чтобы не включать постоянно вручную.

📢 Отображаются системные уведомления и звуковые сигналы при:

  • включении программы в системе
  • завершении записи и начале распознавания
  • успешной вставке текста
  • если не удалось распознать (пустой результат)

🔊 Везде проигрывается системный звуковой сигнал.


🧩 Особенности

  • 🧠 Использует VOSK (Kaldi) — самая легкая, быстрая и более - менее точная оффлайн модель
  • ⌨️ Наблюдает за клавишей Alt (левый)
  • 🔊 Уведомления + звук (через notify-send и paplay)
  • 🧰 Лёгкая модель: vosk-model-small-ru-0.22 (только русский язык)
  • 🧙 Автоматическая вставка текста с помощью xdotool
  • 🧼 Запуск из AppImage: не требует установки
  • 🖊 Не имеет встроенной пунктуации
  • 🧪 Иконка в трее с кнопкой ❌ Завершить — завершает работу полностью, включая фоновые процессы

🖥️ Требования

AppImage VOSK Dictation v1.1 содержит всё:

  • Python 3.10
  • Модель: vosk-model-small-ru-0.22 (русская, облегчённая)
  • Зависимости Python: vosk, sounddevice, pynput, xdotool, pystray, Pillow, notify-send, paplay, libportaudio
  • ❗ GTK3 + PyGObject и .typelib файлы для GObject Introspection
  • ❗ Библиотеки: libgio, libglib, libgobject, libffi, libpcre, libz, libmount, libselinux, libblkid
  • ❗ Добавлены системные зависимости для полной автономии: libX11, libXfixes, libXext, libXdamage, libXtst,
    libcairo, libgdk-3, libatk-1.0, libpango-1.0, libpangocairo-1.0,
    libXcursor, libXrandr, libXi, libdbus-1,
    libayatana-appindicator3, libdbusmenu-glib, libdbusmenu-gtk3

📦 Полностью автономен — не зависит от системных библиотек.
Работает в любой системе, где поддерживается AppImage.


🧾 Совместимость

💻 Дистрибутив ✅ Работает? 🔍 Особенности
Ubuntu / Mint ✅ Да Всё встроено. Полная поддержка
Debian ✅ Да xdotool встроен, notify-send, paplay работают из коробки
Arch / Manjaro ✅ Да Никаких ограничений
Fedora ✅ Да Может потребоваться FUSE 2 или запуск через --appimage-extract
openSUSE ✅ Да Аналогично, зависит от FUSE
Elementary / Pop!_OS ✅ Да Основаны на Ubuntu, всё работает без изменений

📦 Поддерживается любой дистрибутив, где можно запускать AppImage.


📎 Установка

Просто скачай .AppImage, сделай исполняемым:

chmod +x VOSK_Dictation-x86_64.AppImage
./VOSK_Dictation-x86_64.AppImage

📌 Если AppImage не запускается

Попробуй ручной запуск через извлечение:

./VOSK_Dictation-x86_64.AppImage --appimage-extract
./squashfs-root/AppRun

Что делают эти команды:

  • 🔧 ./VOSK_Dictation-x86_64.AppImage --appimage-extract
    ➡️ Распаковывает AppImage в папку squashfs-root, как архив, без запуска.

  • ▶️ ./squashfs-root/AppRun
    ➡️ Запускает приложение вручную из распакованной папки.

🧠 Это полезно, если:

  • AppImage не стартует (например, нет FUSE)
  • Хочешь проверить или отладить, что внутри
  • Используешь старый дистрибутив без полной поддержки AppImage

⚖️ Лицензии

Проект использует:


✍️ Автор

Сборка, AppImage, настройка трея и голосового ввода: Ozzy 🥷🏾
С поддержкой от ChatGPT (OpenAI). 🫶🏽


📬 Контакты 🤝

Если есть предложения, баги или хочешь сказать спасибо — пиши:
📧 [email protected]


📝 История изменений

##v1.1 — Расширение совместимости (второй релиз)

✅ Ручное добавление всех GTK3 и GObject зависимостей для полной автономности

✅ Включены .so и .typelib для libgtk, libgdk, libpango, libayatana-appindicator3, libX11 и пр.

✅ Проверка через ldd, пересборка AppImage с полной изоляцией

✅ Исправлена проблема Namespace Gtk not available на всех системах

✅ Обновлён startup-код (экспорт LD_LIBRARY_PATH, GI_TYPELIB_PATH)

✅ AppImage запускается на любом дистрибутиве, без FUSE, без внешних зависимостей

#v1.0 — Первый релиз

Сборка AppImage

Голосовой ввод с Alt

Уведомления и звук

Иконка в трее с кнопкой "Завершить"

Автоматическая вставка текста

About

Диктовка текста голосом на базе VOSK. Работает офлайн. Удержи Alt — получи текст!

Resources

License

Stars

Watchers

Forks

Packages

No packages published