#!/usr/bin/env bash set -euo pipefail # Делаем текущий проект доступным для Python SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) export PYTHONPATH="${SCRIPT_DIR}" # Путь к Python-окружению PY="/home/sirmrak/projects/.venv_satellite/bin/python" # Режим запуска: wake|vad (по умолчанию wake) MODE="${1:-wake}" BASE_ARGS=( --debug --name 'Wyoming Pi Satellite' --uri tcp://0.0.0.0:10700 --mic-command 'arecord -D plughw:CARD=Array,DEV=0 -q -r 16000 -c 1 -f S16_LE -t raw' --snd-command 'aplay -D plughw:CARD=Array,DEV=0 -q -r 22050 -c 1 -f S16_LE -t raw' --awake-wav /home/sirmrak/projects/Satellite/sounds/awake.wav #--mic-noise-suppression 2 #--mic-auto-gain 20 --event-uri tcp://127.0.0.1:10500 ) if [[ "$MODE" == "wake" ]]; then # Локальный wakeword-сервис (Vosk). VAD в этом режиме не используется спутником. EXTRA_ARGS=( --wake-uri tcp://127.0.0.1:10400 --wake-word-name "привет дроид" \ #--wake-word-name "привет придурок" \ #--wake-word-name "привет жопа с ушами" # Добавьте дополнительные фразы при необходимости: # --wake-word-name "привет дурик" \ # --wake-word-name "привет говнюк" ) elif [[ "$MODE" == "vad" ]]; then # Локальный VAD (WebRTC+энергия) без wakeword-сервиса EXTRA_ARGS=( --vad --vad-system webrtc --vad-trigger-level 5 # ≈100мс при 20мс окне --vad-energy-threshold 200 --vad-buffer-seconds 1 --vad-wake-word-timeout 5 ) else echo "Неизвестный режим: $MODE (ожидается: wake|vad)" >&2 exit 1 fi exec "$PY" -m wyoming_satellite "${BASE_ARGS[@]}" "${EXTRA_ARGS[@]}"