# Wyoming Satellite

## Install

<https://github.com/rhasspy/wyoming-satellite/blob/master/docs/tutorial_2mic.md>

```bash
sudo apt update && sudo apt upgrade -y
sudo apt install --no-install-recommends  \
  git \
  python3-venv \
  vim \
  tmux

sudo reboot

git clone https://github.com/rhasspy/wyoming-satellite.git

cd wyoming-satellite/
python3 -m venv .venv
.venv/bin/pip3 install --upgrade pip
.venv/bin/pip3 install --upgrade wheel setuptools
.venv/bin/pip3 install \
  -f 'https://synesthesiam.github.io/prebuilt-apps/' \
  -r requirements.txt \
  -r requirements_audio_enhancement.txt \
  -r requirements_vad.txt

# Find microphone
arecord -L | grep plughw -A 2

# Create a test recording
arecord -D plughw:CARD=JV801,DEV=0 -r 16000 -c 1 -f S16_LE -t wav -d 5 test.wav

# Find speaker
aplay -L | grep plughw -A 2

# Play test recording
aplay -D plughw:CARD=JV801,DEV=0 test.wav

# Bedroom
script/run \
  --debug \
  --name 'Bedroom Satellite' \
  --uri 'tcp://0.0.0.0:10700' \
  --mic-command 'arecord -D plughw:CARD=Speaker,DEV=0 -r 16000 -c 1 -f S16_LE -t raw' \
  --snd-command 'aplay -D plughw:CARD=Speaker,DEV=0 -r 22050 -c 1 -f S16_LE -t raw'

# Living Room
script/run \
  --debug \
  --name 'Living Room Satellite' \
  --uri 'tcp://0.0.0.0:10700' \
  --mic-command 'arecord -D plughw:CARD=Speaker,DEV=0 -r 16000 -c 1 -f S16_LE -t raw' \
  --snd-command 'aplay -D plughw:CARD=Speaker,DEV=0 -r 22050 -c 1 -f S16_LE -t raw'
```

## Systemd

### Create and Edit

```bash
sudo systemctl edit --force --full wyoming-satellite.service
sudo systemctl enable --now wyoming-satellite.service
sudo journalctl -u wyoming-satellite.service -f
```

### Bedroom

```conf
[Unit]
Description=Wyoming Satellite
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
ExecStart=/home/ducoterra/wyoming-satellite/script/run \
  --name 'Bedroom Satellite' \
  --uri 'tcp://0.0.0.0:10700' \
  --mic-command 'arecord -D plughw:CARD=Speaker,DEV=0 -r 16000 -c 1 -f S16_LE -t raw' \
  --snd-command 'aplay -D plughw:CARD=Speaker,DEV=0 -r 22050 -c 1 -f S16_LE -t raw'
WorkingDirectory=/home/ducoterra/wyoming-satellite
Restart=always
RestartSec=1

[Install]
WantedBy=default.target
```

### Living Room

```conf
[Unit]
Description=Wyoming Satellite
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
ExecStart=/home/ducoterra/wyoming-satellite/script/run \
  --name 'Living Room Satellite' \
  --uri 'tcp://0.0.0.0:10700' \
  --mic-command 'arecord -D plughw:CARD=Speaker,DEV=0 -r 16000 -c 1 -f S16_LE -t raw' \
  --snd-command 'aplay -D plughw:CARD=Speaker,DEV=0 -r 22050 -c 1 -f S16_LE -t raw'
WorkingDirectory=/home/ducoterra/wyoming-satellite
Restart=always
RestartSec=1

[Install]
WantedBy=default.target
```

## Volume

Run `alsamixer`.

## Community Wake Words

<https://github.com/fwartner/home-assistant-wakewords-collection?tab=readme-ov-file>

<https://github.com/fwartner/ha-openwakeword-installer>