Einrichtung eines Raspberry Pi Zero 2 W als Snapcast-Client mit WM8960 I2S-Audio

Zielsystem: Raspberry Pi OS Lite (Bookworm/Bullseye) – Headless-Setup (ohne Desktop)

Diese Anleitung erklärt, wie man einen Raspberry Pi Zero 2 W als Snapcast-Client mit dem WM8960 I2S-Audiocodec einrichtet. Ideal für ein minimalistisches Audio-Streaming-Setup in einer Multiroom-Umgebung.


1. /boot/firmware/config.txt anpassen

Aktiviere die I2S- und I2C-Schnittstellen und lade das WM8960-Overlay:

sudo nano /boot/firmware/config.txt

Füge am Ende der Datei folgende Zeilen hinzu:

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

2. System aktualisieren und benötigte Pakete installieren

Führe folgende Befehle aus, um dein System zu aktualisieren und notwendige Tools sowie den Snapcast-Client zu installieren:

sudo apt update
sudo apt upgrade -y

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

3. Audiogerät überprüfen

Starte den Raspberry Pi neu:

sudo reboot

Nach dem Neustart prüfe, ob die Soundkarte erkannt wurde:

aplay -l

Führe einen kurzen Lautsprechertest durch (angenommen hw:1,0 ist das richtige Gerät):

speaker-test -D hw:1,0 -c 2

4. Lautstärke mit alsamixer konfigurieren

Starte den Lautstärkemixer:

alsamixer
  • Drücke F6, um die WM8960-Soundkarte auszuwählen (normalerweise wm8960-soundcard)
  • Stelle Speaker, Playback und Output Mixer auf etwa 85–95%
  • Deaktiviere Stummschaltung mit M
  • Beende mit Esc

Speichere die Audioeinstellungen:

sudo alsactl store

5. Snapclient konfigurieren

Bearbeite die Konfigurationsdatei von Snapclient:

sudo nano /etc/snapclient.conf

Füge folgenden Inhalt hinzu oder passe ihn an:

server = 127.0.0.1
soundcard = hw:1,0

Ersetze 127.0.0.1 durch die IP-Adresse deines Snapservers. Überprüfe mit aplay -l, ob hw:1,0 korrekt ist.


6. Snapclient aktivieren und starten

Aktiviere den Snapclient-Dienst beim Systemstart und starte ihn direkt:

sudo systemctl enable snapclient
sudo systemctl start snapclient

Überprüfe den Status des Dienstes:

sudo systemctl status snapclient

Die Ausgabe sollte in etwa so aussehen:

Connected to 127.0.0.1
Player name: alsa, device: hw:1,0
...

Fertig!

Dein Raspberry Pi Zero 2 W ist jetzt ein vollständig funktionierender Snapcast-Client mit WM8960 I2S-Audioausgabe. Viel Spaß mit synchronisiertem Multiroom-Audio!