Files
boWave/WINDOWS_AUDIO_SETUP.md

5.8 KiB

Windows Audio Setup für boWave

Übersicht

Diese Anleitung ermöglicht es, Audio vom boWave-System auf deinem Windows-PC abzuspielen, während alle virtuellen Boot-Zonen stumm bleiben.

Voraussetzungen

1. Snapcast Client für Windows installieren

# Download von GitHub (aktuellste Version)
# https://github.com/badaix/snapcast/releases/latest

# Oder mit Scoop (falls installiert):
scoop bucket add extras
scoop install snapcast

Manuelle Installation:

  1. Gehe zu https://github.com/badaix/snapcast/releases/latest
  2. Lade snapclient-<version>-win64.zip herunter
  3. Entpacke nach C:\Program Files\Snapcast\
  4. Füge C:\Program Files\Snapcast\bin zu deinem PATH hinzu

Setup-Schritte

Schritt 1: Projekt starten

cd D:\coding\boWave
make dev

Dies startet:

  • Snapserver (Multiroom Audio Server) auf Port 1704
  • SignalK (NMEA Mock-Daten)
  • Mopidy (Musik-Player mit Mock-Playlist)
  • Dashboard mit HMR auf http://localhost:8090
  • 4 virtuelle Boot-Zonen (Salon, Cockpit, Bug, Heck) - alle stumm (null output)

Schritt 2: Windows Audio Client starten

Öffne ein neues PowerShell-Fenster und führe aus:

snapclient --host localhost --port 1704 --hostID windows-pc --player wasapi

Parameter Erklärung:

  • --host localhost → verbindet sich mit dem Docker Snapserver
  • --port 1704 → Standard Snapcast Port
  • --hostID windows-pc → Eindeutige Zone-ID (wird im Dashboard angezeigt)
  • --player wasapi → Windows Audio Session API (native Windows Audio)

Alternative für ältere Windows-Versionen:

snapclient --host localhost --port 1704 --hostID windows-pc --player winmm

Schritt 3: Audio-Routing konfigurieren

Öffne das Snapcast Web-Interface: http://localhost:1780

  1. Du siehst jetzt 5 Zonen:

    • zone-salon (stumm)
    • zone-cockpit (stumm)
    • zone-bug (stumm)
    • zone-heck (stumm)
    • windows-pc (dein PC!)
  2. Wähle die Zone windows-pc aus

  3. Setze die Lautstärke auf 50-80%

  4. Stelle sicher, dass die Zone nicht auf mute ist

  5. Wähle den Audio-Stream (z.B. "Mopidy" für lokale Musik)

Schritt 4: Musik abspielen

Option A: Mopidy Web-Interface

  1. Öffne http://localhost:6680/iris/
  2. Spiele einen Track ab
  3. Audio sollte jetzt über deine Windows-Lautsprecher kommen!

Option B: Spotify Connect (nativ auf Windows)

In einem weiteren Terminal:

# Librespot für Windows installieren (falls noch nicht vorhanden)
# Download: https://github.com/librespot-org/librespot/releases

librespot --name "Bordanlage-Windows" --backend rodio

Dann öffne die Spotify-App und wähle "Bordanlage-Windows" als Ausgabegerät.

Troubleshooting

"snapclient: Befehl nicht gefunden"

# Prüfe ob Snapcast installiert ist:
where.exe snapclient

# Falls nicht gefunden, füge zum PATH hinzu (als Administrator):
$env:Path += ";C:\Program Files\Snapcast\bin"

Kein Audio auf Windows

  1. Prüfe ob snapclient läuft:

    # In einem separaten Terminal sollte snapclient-Output sichtbar sein
    
  2. Prüfe Snapserver-Logs:

    docker compose -f docker-compose.yml -f docker-compose.dev.yml logs snapserver
    
  3. Prüfe Windows Audio Device:

    • Rechtsklick auf Lautsprecher-Icon in Taskleiste
    • "Sound-Einstellungen öffnen"
    • Stelle sicher, dass das richtige Ausgabegerät ausgewählt ist

Snapclient verbindet nicht

# Prüfe ob Port 1704 erreichbar ist:
Test-NetConnection -ComputerName localhost -Port 1704

# Falls Docker Desktop verwendet wird, prüfe:
docker ps | findstr snapserver

Audio stottert oder hat Aussetzer

# Erhöhe Buffer-Größe:
snapclient --host localhost --port 1704 --hostID windows-pc --player wasapi --latency 500

Der --latency Parameter ist in Millisekunden (Standard: 200ms).

Permanente Konfiguration

Automatischer Start mit Batch-Datei

Erstelle start-windows-audio.bat:

@echo off
echo Starting Snapcast Windows Audio Client...
snapclient --host localhost --port 1704 --hostID windows-pc --player wasapi --latency 300
pause

Doppelklick auf die Datei startet den Audio-Client.

Windows-Dienst (fortgeschritten)

Um snapclient als Windows-Dienst zu installieren (läuft automatisch im Hintergrund):

# Benötigt: NSSM (Non-Sucking Service Manager)
scoop install nssm

# Dienst erstellen:
nssm install SnapcastClient "C:\Program Files\Snapcast\bin\snapclient.exe"
nssm set SnapcastClient AppParameters "--host localhost --port 1704 --hostID windows-pc --player wasapi"
nssm set SnapcastClient DisplayName "Snapcast Audio Client"
nssm set SnapcastClient Start SERVICE_AUTO_START

# Dienst starten:
nssm start SnapcastClient

Make-Target Erweiterung (Optional)

Für Komfort kannst du ein neues Make-Target hinzufügen:

# Im Makefile nach Zeile 52 einfügen:

windows-audio:
	@echo "Starting Snapcast client → Windows speakers (zone: windows-pc)"
	@where snapclient > nul || (echo "Please install Snapcast from https://github.com/badaix/snapcast/releases" && exit 1)
	snapclient --host localhost --port 1704 --hostID windows-pc --player wasapi

Dann kannst du einfach make windows-audio ausführen.

Zusammenfassung

  • Mock-Daten aktiv: SignalK sendet realistische NMEA 2000 Boot-Daten
  • 4 Boot-Zonen stumm: Salon/Cockpit/Bug/Heck nutzen null-Player
  • 1 PC-Zone mit Audio: windows-pc nutzt WASAPI für echten Sound
  • Dashboard funktionsfähig: http://localhost:8090 zeigt alle Zonen
  • Alle Services laufen in Docker: Nur snapclient läuft nativ für Audio-Output

Next Steps:

  1. make dev starten
  2. snapclient --host localhost --port 1704 --hostID windows-pc --player wasapi in neuem Terminal
  3. Musik über Mopidy oder Spotify abspielen
  4. Genießen! 🎵