Голосовой ассистент с распознаванием речи на русском языке, синтезом речи и пробуждением по голосу ("Пятница").
- Пробуждение по голосу — Wake Word Detection "Пятница" с Silero VAD
- Распознавание речи — Kairos ASR (офлайн)
- Синтез речи — Silero TTS (голос baya)
- Будильник — голосовая установка
- Таймер — с возможностью отмены
- Калькулятор — голосовые вычисления (+, -, *, /, %, корень, степень)
- Яркость экрана — управление через xrandr (Linux) / WMI (Windows)
- Поиск в интернете — DuckDuckGo
- Выключение компьютера — голосовая команда
- Системный трей — иконка в трее для управления
- Отложенные вопросы — 120-секундный буфер контекста
| Фраза | Действие |
|---|---|
| Пятница, сколько будет 2 плюс 2 | Калькулятор |
| Пятница, поставь будильник на 7 часов | Будильник |
| Пятница, таймер на 5 минут | Таймер |
| Пятница, увеличь яркость | Яркость экрана |
| Пятница, посмотри погоду в интернете | Поиск в DuckDuckGo |
| Пятница, выключи компьютер | Выключение системы |
| Пятница, заверши работу | Выход из ассистента |
| Пятница (без команды) | Режим ожидания команды на 15 с |
FriDay/
├── FriDay.pyw # Точка входа
├── python_files/
│ ├── __init__.py
│ ├── constants.py # Константы (пути, аудио, TTS)
│ ├── logger.py # Логирование
│ ├── settings.py # Инициализация аудиопотока
│ ├── stt.py # Распознавание речи (VAD + ASR)
│ ├── tts.py # Синтез речи (Silero TTS)
│ ├── FriDay_say.py # Воспроизведение WAV
│ ├── commands.py # Обработчик команд
│ ├── search.py # Поиск в DuckDuckGo
│ ├── calc.py # Калькулятор
│ ├── brightness.py # Яркость экрана (xrandr)
│ ├── text_normalization.py # Нормализация русского текста
│ ├── number_utils.py # Извлечение чисел/времени
│ ├── lists.py # Списки слов
│ └── tray_icon.py # Иконка в системном трее
├── files/
│ └── icon.png # Иконка трея
├── FriDay_say/
│ ├── i_am_doing.wav # Звук выполнения
│ └── wwd/
│ └── listen.wav # Звук ожидания команды
├── requirements.txt # Все зависимости
├── setup_venv.sh # Скрипт настройки (Arch Linux)
├── setup_venv.ps1 # Скрипт настройки (Windows)
├── log.txt # Файл лога
└── LICENSE # MIT License
sudo pacman -S python python-pip portaudio xorg-xrandr
chmod +x setup_venv.sh
./setup_venv.shИли вручную:
python3 -m venv venv
source venv/bin/activate
pip install --index-url https://download.pytorch.org/whl/cpu torch==2.11.0+cpu torchaudio==2.11.0+cpu
pip install -r requirements.txtТребования: Python 3.10+ (рекомендуется 3.12–3.14), установленный через python.org с галочкой «Add Python to PATH».
.\setup_venv.ps1Если скрипт не запускается из-за политики ExecutionPolicy:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\setup_venv.ps1Или вручную (в командной строке или PowerShell):
python -m venv venv
venv\Scripts\activate
pip install --index-url https://download.pytorch.org/whl/cpu torch torchaudio
pip install -r requirements.txtПримечание: На Windows PyAudio устанавливается из готовых колёс — дополнительно устанавливать PortAudio не требуется.
source venv/bin/activate
python FriDay.pywvenv\Scripts\activate
python FriDay.pywПри первом запуске будут загружены и закешированы модели:
- Silero VAD (
snakers4/silero-vad) - Silero TTS (
snakers4/silero-models) - Kairos ASR (скачивается в
~/.cache/)
Полный список — в requirements.txt. Ключевые пакеты:
| Пакет | Назначение |
|---|---|
| PyAudio | Захват аудио с микрофона |
| sounddevice | Воспроизведение аудио |
| torch + torchaudio | Нейросетевые модели |
| kairos-asr | Распознавание русской речи |
| silero-vad / silero-models | Детекция речи и синтез |
| num2words | Числа прописью (русский) |
| pystray + pillow | Иконка в системном трее |
| ddgs | Поиск в DuckDuckGo |
| onnxruntime | Инференс ONNX-моделей |
- Linux и Windows — автоматическое определение платформы
- Русский язык — весь интерфейс и голосовые ответы на русском
- Офлайн — после загрузки моделей не требует интернета (кроме поиска)
- Атрибуты — ключевое слово "Пятница", женский голос
MIT License. Copyright (c) 2026 Aroma.
Подробнее:
- LICENSE — полный текст лицензии MIT
- ATTRIBUTION.md — информация о сторонних библиотеках и их лицензиях
- Иконка для системного трея предоставлена Icons8
Проект создан в учебных целях.