Files
satellite/start_satellite_test.sh
2026-05-19 19:40:42 +03:00

55 lines
1.9 KiB
Bash
Executable File

#!/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 Test'
--uri tcp://0.0.0.0:10701
--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[@]}"