docs: перевод документации на русский язык
Полностью переведена вся документация в docs/: - docs/architecture/overview.md — Архитектура Wyoming Satellite - docs/settings-cheatsheet.md — Шпаргалка по настройкам (CLI флаги) - docs/deployment/systemd-services.md — Настройка systemd сервисов - docs/integration/mqtt-led.md — MQTT LED управление - docs/integration/vad-wakeword.md — Уже был на русском - docs/tutorials/2mic-hat.md — Tutorial для 2-MIC HAT - docs/tutorials/installer.md — Интерактивный установщик - docs/README.md — Индекс документации Обновлены корневые файлы: - README.md — Полностью на русском - DEPLOY.md — Полностью на русском Вся документация теперь на русском языке для удобства русскоязычных пользователей. Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
@@ -1,16 +1,16 @@
|
||||
# Architecture Overview
|
||||
# Архитектура Wyoming Satellite
|
||||
|
||||
High-level architecture of Wyoming Satellite.
|
||||
Обзор архитектуры Wyoming Satellite.
|
||||
|
||||
## Core Components
|
||||
## Основные компоненты
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ Home Assistant │
|
||||
│ (Wyoming Integration) │
|
||||
│ (Wyoming интеграция) │
|
||||
└──────────────────────┬──────────────────────────────────────┘
|
||||
│ Wyoming Protocol (TCP)
|
||||
│ Port 10700
|
||||
│ Порт 10700
|
||||
┌──────────────────────▼──────────────────────────────────────┐
|
||||
│ Wyoming Satellite │
|
||||
│ ┌─────────────────────────────────────────────────────┐ │
|
||||
@@ -32,102 +32,102 @@ High-level architecture of Wyoming Satellite.
|
||||
│ Audio In │ Audio Out
|
||||
│ (arecord) │ (aplay)
|
||||
┌──────────▼──────┐ ┌────────▼──────────┐
|
||||
│ Microphone │ │ Speaker │
|
||||
│ USB/HAT │ │ USB/HAT │
|
||||
│ Микрофон │ │ Динамик │
|
||||
│ USB/HAT │ │ USB/HAT │
|
||||
└─────────────────┘ └───────────────────┘
|
||||
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ Local Services (Optional) │
|
||||
│ Локальные сервисы (опционально) │
|
||||
├─────────────────────────────────────────────────────────────┤
|
||||
│ ┌─────────────────────┐ ┌─────────────────────┐ │
|
||||
│ │ Wake Word Service │ │ Event Service │ │
|
||||
│ │ (Vosk, port 10400) │ │ (MQTT, port 10500) │ │
|
||||
│ │ (Vosk, порт 10400) │ │ (MQTT, порт 10500) │ │
|
||||
│ └─────────────────────┘ └─────────────────────┘ │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## Satellite Modes
|
||||
## Режимы работы спутника
|
||||
|
||||
### AlwaysStreamingSatellite
|
||||
|
||||
Continuously streams audio to Home Assistant.
|
||||
Постоянно передаёт аудио в Home Assistant.
|
||||
|
||||
- **Pros:** Lowest latency, simplest
|
||||
- **Cons:** Highest bandwidth, no local processing
|
||||
- **Use case:** Fast LAN, no privacy concerns
|
||||
- **Преимущества:** Минимальная задержка, простота
|
||||
- **Недостатки:** Высокий трафик, нет локальной обработки
|
||||
- **Применение:** Быстрая LAN, нет требований к приватности
|
||||
|
||||
### VadStreamingSatellite
|
||||
|
||||
Uses Voice Activity Detection to start streaming only when speech is detected.
|
||||
Использует Voice Activity Detection для начала стриминга только при обнаружении речи.
|
||||
|
||||
- **VAD Systems:**
|
||||
- **Silero:** Neural network-based, more accurate
|
||||
- **WebRTC:** Lightweight, faster
|
||||
- **Features:**
|
||||
- Pre-roll buffer (sends audio before VAD trigger)
|
||||
- Wake word timeout (wait for wake word after VAD)
|
||||
- **Use case:** Privacy-focused, bandwidth-constrained
|
||||
- **VAD системы:**
|
||||
- **Silero:** Нейросетевой, более точный
|
||||
- **WebRTC:** Лёгкий, быстрый
|
||||
- **Возможности:**
|
||||
- Пре-буфер (отправляет аудио до триггера VAD)
|
||||
- Таймаут wake word (ожидание фразы после VAD)
|
||||
- **Применение:** Приватность, ограничение трафика
|
||||
|
||||
### WakeStreamingSatellite
|
||||
|
||||
Uses local wake word detection before streaming.
|
||||
Использует локальную детекцию wake word перед стримингом.
|
||||
|
||||
- **Wake Word Systems:**
|
||||
- **Vosk:** Grammar-based (Russian phrases)
|
||||
- **openWakeWord:** Neural network
|
||||
- **Porcupine:** Commercial KWS
|
||||
- **Flow:**
|
||||
1. Continuously listen for wake word
|
||||
2. On detection → start streaming to HA
|
||||
3. Process command → stop streaming
|
||||
- **Use case:** Full local wake word, "Hey Google" style
|
||||
- **Системы wake word:**
|
||||
- **Vosk:** Грамматика (русские фразы)
|
||||
- **openWakeWord:** Нейросеть
|
||||
- **Porcupine:** Коммерческий KWS
|
||||
- **Поток:**
|
||||
1. Постоянное прослушивание wake word
|
||||
2. При обнаружении → стриминг в HA
|
||||
3. Обработка команды → остановка стриминга
|
||||
- **Применение:** Полная локальная активация, стиль "Hey Google"
|
||||
|
||||
## Audio Pipeline
|
||||
## Аудио пайплайн
|
||||
|
||||
```
|
||||
Microphone
|
||||
Микрофон
|
||||
│
|
||||
▼
|
||||
┌─────────────────┐
|
||||
│ Audio Capture │ arecord -r 16000 -c 1 -f S16_LE
|
||||
│ Захват аудио │ arecord -r 16000 -c 1 -f S16_LE
|
||||
└────────┬────────┘
|
||||
│
|
||||
▼
|
||||
┌─────────────────┐
|
||||
│ Pre-processing │ Volume, AGC, Noise Suppression
|
||||
│ Предобработка │ Громкость, AGC, шумоподавление
|
||||
└────────┬────────┘
|
||||
│
|
||||
▼
|
||||
┌─────────────────┐
|
||||
│ VAD / Wake │ Decision: stream or not?
|
||||
│ VAD / Wake │ Решение: стримить или нет?
|
||||
└────────┬────────┘
|
||||
│
|
||||
▼
|
||||
┌─────────────────┐
|
||||
│ Wyoming Protocol│ Encode to Wyoming messages
|
||||
│ Wyoming Protocol│ Кодирование в Wyoming сообщения
|
||||
└────────┬────────┘
|
||||
│
|
||||
▼
|
||||
Home Assistant
|
||||
```
|
||||
|
||||
## Key Files
|
||||
## Основные файлы
|
||||
|
||||
| File | Purpose |
|
||||
|------|---------|
|
||||
| `wyoming_satellite/__main__.py` | CLI entry point, argument parsing |
|
||||
| `wyoming_satellite/satellite.py` | Satellite implementations |
|
||||
| `wyoming_satellite/settings.py` | Settings dataclasses |
|
||||
| `wyoming_satellite/event_handler.py` | Wyoming event handling |
|
||||
| `wyoming_satellite/vad.py` | VAD implementations (Silero, WebRTC) |
|
||||
| `wyoming_satellite/webrtc.py` | WebRTC audio processing |
|
||||
| Файл | Назначение |
|
||||
|------|------------|
|
||||
| `wyoming_satellite/__main__.py` | CLI entry point, парсинг аргументов |
|
||||
| `wyoming_satellite/satellite.py` | Реализации спутников |
|
||||
| `wyoming_satellite/settings.py` | Dataclass настроек |
|
||||
| `wyoming_satellite/event_handler.py` | Обработка Wyoming событий |
|
||||
| `wyoming_satellite/vad.py` | VAD реализации (Silero, WebRTC) |
|
||||
| `wyoming_satellite/webrtc.py` | WebRTC обработка аудио |
|
||||
|
||||
## Configuration
|
||||
## Конфигурация
|
||||
|
||||
Main configuration via CLI arguments (see `__main__.py`):
|
||||
Основная конфигурация через CLI аргументы (см. `__main__.py`):
|
||||
|
||||
```bash
|
||||
# Microphone
|
||||
# Микрофон
|
||||
--mic-command 'arecord -r 16000 -c 1 -f S16_LE -t raw'
|
||||
--mic-noise-suppression 2
|
||||
--mic-auto-gain 5
|
||||
@@ -141,28 +141,28 @@ Main configuration via CLI arguments (see `__main__.py`):
|
||||
--vad-system webrtc
|
||||
--vad-threshold 0.5
|
||||
|
||||
# Events (LED, MQTT)
|
||||
# События (LED, MQTT)
|
||||
--event-uri tcp://127.0.0.1:10500
|
||||
```
|
||||
|
||||
## State Machine
|
||||
## Машина состояний
|
||||
|
||||
```
|
||||
┌──────────────┐
|
||||
│ Stopped │
|
||||
│ Остановка │
|
||||
└──────┬───────┘
|
||||
│ Start
|
||||
│ Старт
|
||||
▼
|
||||
┌──────────────┐
|
||||
┌────────│ Listening │────────┐
|
||||
┌────────│ Прослушивание│────────┐
|
||||
│ └──────┬───────┘ │
|
||||
│ │ │
|
||||
VAD trigger Wake detection Streaming
|
||||
VAD триггер Wake детекция Стриминг
|
||||
│ │ │
|
||||
▼ ▼ ▼
|
||||
┌──────────┐ ┌──────────┐ ┌──────────┐
|
||||
│ VAD │ │ Wake │ │Streaming │
|
||||
│ Active │ │ Active │ │ Audio │
|
||||
│ VAD │ │ Wake │ │Стриминг │
|
||||
│ Активен │ │ Активен │ │ Аудио │
|
||||
└────┬─────┘ └────┬─────┘ └────┬─────┘
|
||||
│ │ │
|
||||
└───────────────┴───────────────┘
|
||||
@@ -170,6 +170,14 @@ Main configuration via CLI arguments (see `__main__.py`):
|
||||
AudioStop
|
||||
▼
|
||||
┌──────────────┐
|
||||
│ Listening │
|
||||
│ Прослушивание│
|
||||
└──────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔗 Связанное
|
||||
|
||||
- [Настройки (cheat sheet)](settings-cheatsheet.md)
|
||||
- [Руководство по развёртыванию](../../DEPLOY.md)
|
||||
- [Интеграция VAD/Wake](integration/vad-wakeword.md)
|
||||
|
||||
Reference in New Issue
Block a user