# Wyoming Satellite — Шпаргалка по настройкам Быстрый справочник всех CLI флагов и настроек. --- ## 🎤 Микрофон (`--mic-*`) | Флаг | По умолчанию | Описание | |------|--------------|----------| | `--mic-uri` | — | Wyoming microphone сервис URI (`tcp://ip:port`) | | `--mic-command` | — | Команда для записи с микрофона (`arecord ...`) | | `--mic-command-rate` | 16000 | Частота дискретизации (Гц) | | `--mic-command-width` | 2 | Разрядность (байт) | | `--mic-command-channels` | 1 | Каналы (1=моно) | | `--mic-command-samples-per-chunk` | 1024 | Сэмплов за чтение | | `--mic-volume-multiplier` | 1.0 | Множитель громкости | | `--mic-noise-suppression` | 0 | Шумоподавление (0-4) | | `--mic-auto-gain` | 0 | Автоусиление (0-31 dbFS) | | `--mic-channel-index` | None | Индекс канала | | `--mic-seconds-to-mute-after-awake-wav` | 0.5 | Глушить после awake WAV | | `--mic-no-mute-during-awake-wav` | false | Не глушить во время awake WAV | **Пример:** ```bash --mic-command 'arecord -D plughw:CARD=Array,DEV=0 -r 16000 -c 1 -f S16_LE -t raw' \ --mic-noise-suppression 2 \ --mic-auto-gain 5 ``` --- ## 🔊 Звук (`--snd-*`) | Флаг | По умолчанию | Описание | |------|--------------|----------| | `--snd-uri` | — | Wyoming sound сервис URI | | `--snd-command` | — | Команда для вывода звука (`aplay ...`) | | `--snd-command-rate` | 22050 | Частота дискретизации (Гц) | | `--snd-command-width` | 2 | Разрядность (байт) | | `--snd-command-channels` | 1 | Каналы | | `--snd-volume-multiplier` | 1.0 | Множитель громкости | | `--awake-wav` | — | WAV после wake word | | `--done-wav` | — | WAV после команды | **Пример:** ```bash --snd-command 'aplay -D plughw:CARD=Array,DEV=0 -r 22050 -c 1 -f S16_LE -t raw' \ --awake-wav /home/sirmrak/projects/Satellite/sounds/awake.wav ``` --- ## 🎯 Wake Word (`--wake-*`) | Флаг | По умолчанию | Описание | |------|--------------|----------| | `--wake-uri` | — | Wyoming wake word сервис URI | | `--wake-command` | — | Локальная команда wake word | | `--wake-word-name` | — | Фраза wake word (можно повторять) | | `--wake-refractory-seconds` | 5.0 | Задержка между детекциями | **Пример:** ```bash --wake-uri tcp://127.0.0.1:10400 \ --wake-word-name "привет дроид" \ --wake-word-name "привет придурок" ``` --- ## 🎤 Voice Activity Detection (`--vad*`) | Флаг | По умолчанию | Описание | |------|--------------|----------| | `--vad` | false | Включить VAD | | `--vad-system` | silero | `silero` или `webrtc` | | `--vad-threshold` | 0.5 | Порог (0-1) | | `--vad-trigger-level` | 1 | Чанков для активации | | `--vad-energy-threshold` | None | Энергия для webrtc (int16) | | `--vad-buffer-seconds` | 2.0 | Пре-буфер (секунды) | | `--vad-wake-word-timeout` | 5.0 | Таймаут wake word | **Пример:** ```bash --vad \ --vad-system webrtc \ --vad-threshold 0.5 \ --vad-energy-threshold 200 \ --vad-trigger-level 5 ``` --- ## 📡 Event Service (`--event-uri`, `--*-command`) | Флаг | Событие | |------|---------| | `--event-uri` | Wyoming event сервис URI | | `--startup-command` | Спутник запущен | | `--streaming-start-command` | Стриминг начался | | `--streaming-stop-command` | Стриминг остановлен | | `--detect-command` | Начало детекции wake | | `--detection-command` | Wake word обнаружен | | `--tts-played-command` | Аудио воспроизведено | | `--transcript-command` | STT текст | | `--stt-start-command` | STT начался | | `--stt-stop-command` | STT завершён | | `--synthesize-command` | TTS текст получен | | `--tts-start-command` | TTS начался | | `--tts-stop-command` | TTS завершён | | `--error-command` | Ошибка | | `--connected-command` | Подключен к серверу | | `--disconnected-command` | Отключен от сервера | **Пример:** ```bash --event-uri tcp://127.0.0.1:10500 \ --detection-command 'examples/commands/detection.sh' \ --transcript-command 'examples/commands/transcript.sh' \ --tts-start-command 'notify-send "TTS started"' ``` --- ## ⏱️ Таймеры (`--timer-*`) | Флаг | По умолчанию | Описание | |------|--------------|----------| | `--timer-started-command` | — | Таймер запущен | | `--timer-updated-command` | — | Таймер изменён/пауза/возобновление | | `--timer-cancelled-command` | — | Таймер отменён | | `--timer-finished-command` | — | Таймер завершён | | `--timer-finished-wav` | — | WAV файл для воспроизведения | | `--timer-finished-wav-repeat` | `1 0` | `<повторы> <задержка_сек>` | **Пример:** ```bash --timer-finished-wav /path/to/timer.wav \ --timer-finished-wav-repeat 3 1.0 ``` --- ## 🛰️ Спутник (`--uri`, `--name`, `--area`) | Флаг | По умолчанию | Описание | |------|--------------|----------| | `--uri` | **требуется** | URI спутника (`tcp://0.0.0.0:10700`) | | `--name` | Wyoming Satellite | Имя спутника | | `--area` | — | Имя зоны (для Home Assistant) | --- ## 🔧 Отладка и обнаружение (`--debug*`, `--zeroconf*`) | Флаг | По умолчанию | Описание | |------|--------------|----------| | `--debug` | false | DEBUG логирование | | `--debug-recording-dir` | None | Папка для записи аудио | | `--no-zeroconf` | false | Отключить Zeroconf | | `--zeroconf-name` | MAC address | Имя для Zeroconf | | `--zeroconf-host` | Авто | Хост для Zeroconf | | `--log-format` | BASIC | Формат логов | --- ## 📊 Режимы работы ### Режим 1: Always Streaming (без VAD, без wake) ```bash python3 -m wyoming_satellite \ --name 'my-satellite' \ --uri 'tcp://0.0.0.0:10700' \ --mic-command 'arecord -r 16000 -c 1 -f S16_LE -t raw' \ --snd-command 'aplay -r 22050 -c 1 -f S16_LE -t raw' ``` **Применение:** Минимальная задержка, постоянный стриминг в HA. --- ### Режим 2: VAD Streaming (стрим после обнаружения речи) ```bash python3 -m wyoming_satellite \ --name 'my-satellite' \ --uri 'tcp://0.0.0.0:10700' \ --mic-command 'arecord -r 16000 -c 1 -f S16_LE -t raw' \ --snd-command 'aplay -r 22050 -c 1 -f S16_LE -t raw' \ --vad \ --vad-system webrtc \ --vad-threshold 0.5 \ --vad-energy-threshold 200 ``` **Применение:** Приватность, стрим только при разговоре. --- ### Режим 3: Wake Streaming (локальная детекция wake word) ```bash python3 -m wyoming_satellite \ --name 'my-satellite' \ --uri 'tcp://0.0.0.0:10700' \ --mic-command 'arecord -r 16000 -c 1 -f S16_LE -t raw' \ --snd-command 'aplay -r 22050 -c 1 -f S16_LE -t raw' \ --wake-uri tcp://127.0.0.1:10400 \ --wake-word-name "привет дроид" \ --wake-word-name "привет придурок" ``` **Применение:** Стиль "Hey Google", полная локальная активация. --- ### Режим 4: С Event Service (LED, MQTT, уведомления) ```bash python3 -m wyoming_satellite \ --name 'my-satellite' \ --uri 'tcp://0.0.0.0:10700' \ --mic-command 'arecord -r 16000 -c 1 -f S16_LE -t raw' \ --snd-command 'aplay -r 22050 -c 1 -f S16_LE -t raw' \ --wake-uri tcp://127.0.0.1:10400 \ --wake-word-name "привет дроид" \ --event-uri tcp://127.0.0.1:10500 \ --detection-command 'examples/commands/detection.sh' \ --transcript-command 'examples/commands/transcript.sh' ``` **Применение:** Полная интеграция с LED, MQTT, внешними скриптами. --- ## 🔗 Связанное - [Архитектура](architecture/overview.md) - [Руководство по развёртыванию](../../DEPLOY.md) - [MQTT LED интеграция](integration/mqtt-led.md)