Einrichtung eines Wyoming Satellite mit WM8960 auf dem Raspberry Pi

Diese Anleitung beschreibt Schritt für Schritt, wie man einen Wyoming Satellite auf einem Raspberry Pi Zero 2 W mit der WM8960 I2S-Soundkarte einrichtet. Das Setup eignet sich für die Offline-Erkennung von Hotwords und Audio-Ein-/Ausgabe in einer Sprachsteuerung über das Wyoming-Protokoll innerhalb einer Home Assistant-Umgebung. Es wird davon ausgegangen, dass ein frisch installiertes Raspberry Pi OS Lite (Bookworm/Bullseye) verwendet wird.


1. I2S und I2C aktivieren und WM8960-Treiber laden

Bearbeite die Konfigurationsdatei des Raspberry Pi:

sudo nano /boot/firmware/config.txt

Füge folgende Zeilen am Ende der Datei hinzu, um I2S und I2C zu aktivieren und den WM8960-Treiber zu laden:

dtparam=i2s=on
dtparam=i2c_arm=on
dtoverlay=wm8960-soundcard

2. System aktualisieren und notwendige Pakete installieren

Führe ein Systemupdate durch und installiere die benötigten Pakete:

sudo apt update
sudo apt upgrade

sudo apt install --no-install-recommends \
  git \
  python3-venv \
  python3-pip \
  alsa-utils \
  btop \
  fish

Starte anschließend den Raspberry Pi neu:

sudo reboot

3. Wyoming OpenWakeWord installieren

Klonen des Repositories und Ausführen des Setup-Skripts:

git clone https://github.com/rhasspy/wyoming-openwakeword.git
cd wyoming-openwakeword
script/setup

Die Wakeword-Erkennung kannst du später mit folgendem Befehl starten:

script/run --uri 'tcp://0.0.0.0:10400' --debug

4. Wyoming Satellite installieren

Klonen und Einrichten des Wyoming Satellite:

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

5. Wyoming Satellite starten

Starte den Satellite mit der WM8960-Soundkarte über folgenden Befehl:

script/run \
  --name 'WM8960 Satellite' \
  --uri 'tcp://0.0.0.0:10700' \
  --mic-command 'arecord -D plughw:1,0 -r 16000 -c 1 -f S16_LE -t raw' \
  --snd-command 'aplay -D plughw:1,0 -r 22050 -c 1 -f S16_LE -t raw' \
  --wake-uri 'tcp://127.0.0.1:10400' \
  --wake-word-name 'ok_nabu' \
  --mic-auto-gain 5 \
  --mic-noise-suppression 2 \
  --awake-wav /home/adivius/wyoming-satellite/sounds/awake.wav \
  --done-wav /home/adivius/wyoming-satellite/sounds/done.wav \
  --timer-finished-wav /home/adivius/wyoming-satellite/sounds/timer_finished.wav \
  --debug-recording-dir recordings \
  --debug

Passe bei Bedarf die Soundgeräte (plughw:1,0) und die Pfade zu den Audiodateien an dein System an.


6. Lautstärke mit alsamixer anpassen

Nutze alsamixer, um die Lautstärke zu konfigurieren:

alsamixer
  • Drücke F6, um die WM8960-Soundkarte auszuwählen.
  • Stelle Lautstärkepegel für Speaker, Playback und Output Mixer ein.
  • Deaktiviere Stummschaltungen mit der Taste M.

Zusammenfassung

Du hast nun einen vollständig eingerichteten Wyoming Satellite auf deinem Raspberry Pi mit der WM8960-Soundkarte. Dieses Setup ist bereit für die Integration in eine Sprachsteuerungsumgebung und ermöglicht die Offline-Erkennung von Hotwords sowie Audioein- und -ausgabe über ein I2S-basiertes Gerät – ideal für stromsparende, permanent aktive Systeme.