Голосовой ассистент для чата — записывает речь, распознаёт через локальную модель Whisper и автоматически отправляет текст в чат или копирует в буфер обмена.
🛡️ 100% приватно — всё работает оффлайн, без передачи данных в облако
✨ Особенности • 🚀 Быстрый старт • ⚙️ Настройка • 📖 Документация • 🤝 Вклад
- ✨ Основные возможности
- 🚀 Быстрый старт
- ⚙️ Настройка
- 🎮 Использование
- 🛠️ Установка
- 📖 Документация
- 🔒 Приватность и безопасность
- 🤝 Вклад в проект
- 📝 Лицензия
|
|
|
|
- Скачайте установщик
Voice2Chat-Setup-x.x.x.exeиз папкиinstaller/(после сборки) - Запустите установщик и следуйте инструкциям
- Выберите папку установки (по умолчанию
C:\Program Files\Voice2Chat) - Опционально создайте ярлык на рабочем столе
- Запустите приложение из меню Пуск или с рабочего стола
💡 Примечание: Установщик требует прав администратора для установки в Program Files. После установки приложение можно запускать без прав администратора.
# Клонируйте репозиторий
git clone https://github.com/Soragy-bot/voice2chat.git
cd voice2chat
# Установите зависимости
pip install -r requirements.txt
# Запустите приложение
python main.py- Выберите модель Whisper при первом запуске (tiny/base/small/medium/turbo). По умолчанию в экране выбора выбрана модель
mediumдля лучшего баланса точности и скорости. - Настройте микрофон — выберите устройство ввода
- Выберите приложение — укажите, куда отправлять текст
- Настройте бинд записи — выберите кнопку мыши, клавишу или горячую клавишу
- Настройте горячие клавиши (опционально)
- Готово! Нажмите и удерживайте настроенный бинд записи и говорите 🎤
Приложение предоставляет удобный графический интерфейс для настройки всех параметров:
| Параметр | Описание | По умолчанию |
|---|---|---|
| Микрофон | Выбор устройства ввода | Автоматически |
| Запись (record_bind) | Кнопка мыши (x1/x2) или клавиша/горячая клавиша | x2 (боковая кнопка мыши) |
| Клавиша открытия чата | Клавиша для открытия чата | T |
| Клавиша отправки | Клавиша для отправки сообщения | Enter |
| Переключение режима | Горячая клавиша | F8 |
| Язык | Язык распознавания | ru (русский) |
| Модель Whisper | Размер модели | tiny (выбирается при первом запуске) |
| Начальный режим | Chat или Clipboard | chat |
| Уведомления | Системные уведомления | Включено |
Настройки сохраняются в файле settings.json в папке AppData\Local\Voice2Chat\:
{
"record_bind": "x2",
"chat_open_bind": "t",
"send_bind": "enter",
"mode_toggle_bind": "f8",
"language": "ru",
"model_size": "tiny",
"initial_mode": "chat",
"enable_notifications": true,
"input_device": null,
"chat_app": ""
}| Модель | Размер | Скорость | Точность | Рекомендация |
|---|---|---|---|---|
tiny |
~74 MB | ⚡⚡⚡ Очень быстро | ⭐⭐ Низкая точность | Для быстрого старта |
base |
~141 MB | ⚡⚡ Быстро | ⭐⭐⭐ Средняя точность | Сбалансированный вариант |
small |
~463 MB | ⚡ Средне | ⭐⭐⭐⭐ Хорошая точность | Рекомендуется |
medium |
~1420 MB | 🐌 Медленно | ⭐⭐⭐⭐⭐ Высокая точность | Для высокой точности |
turbo |
~1500 MB | 🐌 Медленно | ⭐⭐⭐⭐⭐ Высокая точность | Максимальная точность |
💡 Совет: Начните с модели
tinyилиbaseдля быстрой проверки, затем переключитесь наsmallилиmediumдля лучшего качества. Модельturboобеспечивает максимальную точность, но требует больше ресурсов.
┌─────────────────────────────────────────────────────────────┐
│ Рабочий процесс │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. Нажмите и удерживайте бинд записи │
│ (кнопка мыши X1/X2, клавиша или горячая клавиша) │
│ ↓ │
│ 2. Говорите в микрофон │
│ ↓ │
│ 3. Отпустите бинд записи │
│ ↓ │
│ 4. Ожидание распознавания речи... │
│ ↓ │
│ 5. Режим Chat: │ Режим Clipboard: │
│ • Вставка текста│ • Копирование в буфер │
│ • Нажатие Enter │ • Системное уведомление │
│ │
└─────────────────────────────────────────────────────────────┘
| Действие | По умолчанию | Настройка | Тип |
|---|---|---|---|
| Запись | Боковая кнопка мыши (X2) | Настраивается в GUI | Кнопка мыши / Клавиша / Горячая клавиша |
| Открыть чат | T |
Настраивается в GUI | Клавиша |
| Отправить | Enter |
Настраивается в GUI | Клавиша |
| Переключить режим | F8 |
Настраивается в GUI | Горячая клавиша |
💡 Важно: Запись можно настроить на кнопку мыши (X1, X2, left, right, middle), обычную клавишу или горячую клавишу (комбинацию). Это позволяет выбрать наиболее удобный способ управления в зависимости от ваших предпочтений.
- Нажмите и удерживайте бинд записи (настроенный в параметрах)
- Говорите в микрофон
- Отпустите бинд записи
- Текст автоматически вставится в активное окно и отправится
- Нажмите и удерживайте бинд записи (настроенный в параметрах)
- Говорите в микрофон
- Отпустите бинд записи
- Текст скопируется в буфер обмена
- Появится системное уведомление
Нажмите F8 (или настроенную клавишу) для мгновенного переключения между режимами Chat и Clipboard.
- ОС: Windows 10 или новее
- Python: 3.8 или новее (для установки из исходников)
- Микрофон: Любое устройство ввода звука
- Память: ~500 MB свободного места (для моделей)
Все зависимости автоматически устанавливаются при установке:
faster-whisper # Распознавание речи (Whisper)
sounddevice # Запись аудио
pyperclip # Работа с буфером обмена
pynput # Обработка ввода (мышь/клавиатура)
numpy # Математические операции
winotify # Системные уведомления Windows
pystray # Иконка в системном трее
Pillow # Обработка изображений
Для сборки исполняемого файла exe см. подробную инструкцию в BUILD.md
Быстрый старт:
# 1. Установите зависимости приложения
pip install -r requirements.txt
# 2. Установите зависимости для сборки
pip install -r requirements-build.txt
# 3. Соберите исполняемый файл
python build.pyИли используйте batch файл (Windows):
build.batРезультат сборки будет в папке release/Voice2Chat/ (режим onedir - папка с exe файлом и зависимостями).
Для создания установщика:
# Автоматическое создание установщика (требуется Inno Setup)
python build.py --installer
# Или используйте batch файл
build_installer.batУстановщик будет создан в папке installer/. Подробные инструкции см. в BUILD.md.
Voice2Chat/
├── 📄 main.py # Точка входа приложения
├── 📄 settings.json # Файл настроек (создается автоматически в AppData\Local\Voice2Chat\)
├── 📄 requirements.txt # Зависимости Python
├── 📄 requirements-build.txt # Зависимости для сборки
├── 📄 BUILD.md # Инструкция по сборке
├── 📄 Voice2Chat.spec # Конфигурация PyInstaller
├── 📄 setup.iss # Конфигурация Inno Setup для установщика
├── 📄 build.py # Скрипт сборки приложения
├── 📄 build.bat # Batch файл для сборки (Windows)
├── 📄 build_installer.bat # Batch файл для создания установщика
│
├── 📁 core/ # Основная логика
│ ├── audio.py # Управление записью аудио
│ ├── transcription.py # Распознавание речи (Whisper)
│ ├── text_sender.py # Отправка текста в чат/буфер
│ ├── input_listener.py # Обработка ввода (мышь/клавиатура)
│ └── mode_manager.py # Управление режимами работы
│
├── 📁 ui/ # Пользовательский интерфейс
│ ├── gui.py # Главный класс GUI
│ ├── view/ # Представления (MVP)
│ ├── presenter/ # Презентеры (MVP)
│ ├── services/ # Сервисы
│ └── components/ # UI компоненты
│
├── 📁 models/ # Модели данных
│ ├── app_model.py
│ ├── device_model.py
│ └── settings_model.py
│
├── 📁 utils/ # Утилиты
│ ├── helpers.py # Вспомогательные функции
│ ├── keyboard_windows.py # Работа с клавиатурой (Windows API)
│ ├── settings.py # Работа с настройками
│ ├── logger.py # Логирование
│ ├── icon_utils.py # Работа с иконками
│ ├── app_paths.py # Определение путей приложения
│ ├── process_utils.py # Утилиты для работы с процессами
│ └── window_manager.py # Управление окнами
│
└── 📁 assets/ # Ресурсы
├── app_icon.ico # Иконка приложения
└── silero_vad_v6.onnx # Модель VAD для фильтрации тишины
Для запуска приложения в режиме отладки:
python main.py --debugили
python main.py -dЛоги сохраняются в папке AppData\Local\Voice2Chat\logs\app.log.
Как настроить бинд записи?
Откройте GUI приложения, перейдите во вкладку "Настройки" и настройте параметр "Запись (record_bind)". Вы можете выбрать:
- Кнопку мыши: X1, X2, left, right, middle
- Клавишу: любую клавишу (например, Space, F1, и т.д.)
- Горячую клавишу: комбинацию клавиш (например, Ctrl+Shift+R)
Запись будет активироваться при удержании выбранного бинда.
Модель не скачивается. Что делать?
Убедитесь, что у вас есть подключение к интернету. Модели скачиваются при первом запуске и сохраняются в папке AppData\Local\Voice2Chat\whisper_models\. Если проблема persists, проверьте логи в папке AppData\Local\Voice2Chat\logs\.
Как изменить язык распознавания?
В GUI приложения перейдите во вкладку "Настройки" и выберите нужный язык из списка. Поддерживается 99+ языков.
Приложение не отправляет текст в игру. Почему?
Убедитесь, что:
- Выбран правильный режим (Chat)
- Указано правильное приложение в настройках
- Игра активна (окно в фокусе) при отправке
- Настроены правильные клавиши для открытия чата и отправки
Как полностью удалить приложение?
- Удалите приложение через "Программы и компоненты" (если использовали установщик)
- Удалите папку с данными пользователя:
%LOCALAPPDATA%\Voice2Chat\- Эта папка содержит настройки, логи и модели Whisper
- (Опционально) Если приложение было установлено портативно, удалите папку с exe файлом
- ✅ 100% оффлайн — все данные обрабатываются локально
- ✅ Нет отправки данных — аудио и текст никогда не покидают ваш компьютер
- ✅ Нет регистрации — не требуется создание аккаунта
- ✅ Нет телеметрии — приложение не собирает статистику использования
- ✅ Открытый исходный код — вы можете проверить весь код
Все данные пользователя сохраняются в папке AppData\Local\Voice2Chat\:
- Настройки приложения (
settings.json) - Логи работы (
logs/app.log) - Модели Whisper (
whisper_models/) - Временные файлы аудио (удаляются после обработки)
💡 Примечание: Данные сохраняются в папке пользователя, а не в папке установки приложения. Это обеспечивает правильные права доступа без необходимости запуска от имени администратора.
🔒 Гарантия приватности: Все данные остаются на вашем компьютере. Мы не имеем доступа к вашим записям, текстам или настройкам.
Мы приветствуем вклад в развитие проекта! Вот как вы можете помочь:
Если вы нашли ошибку, пожалуйста:
- Проверьте, не была ли она уже сообщена в Issues
- Создайте новое Issue с подробным описанием проблемы
- Приложите логи из папки
logs/(если возможно)
- Создайте Issue с описанием вашей идеи
- Обсудите предложение с сообществом
- Дождитесь обратной связи от разработчиков
- Fork репозитория
- Создайте ветку для вашей функции (
git checkout -b feature/AmazingFeature) - Закоммитьте изменения (
git commit -m 'Add some AmazingFeature') - Запушьте в ветку (
git push origin feature/AmazingFeature) - Откройте Pull Request
Помогите улучшить документацию:
- Исправьте опечатки
- Добавьте примеры использования
- Переведите документацию на другие языки
- Добавьте скриншоты
Этот проект распространяется под лицензией MIT. См. файл LICENSE.md для подробностей.
- OpenAI Whisper — за модель распознавания речи
- faster-whisper — за быструю реализацию Whisper
- Всем контрибьюторам проекта