55 lines
1.8 KiB
Bash
Executable File
55 lines
1.8 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'
|
|
--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[@]}"
|
|
|
|
|