Lokale Sprachsteuerung in Home Assistant mit Whisper & Piper
Teil 4 von 6 der Reihe Home Assistant ohne Cloud

Inhalt
Cloud-abhängige Sprachassistenten wie Amazon Alexa, Google Assistant und Apple Siri basieren auf externen Servern für die Spracherkennung (ASR), die Aktivierungserkennung und die Verarbeitung natürlicher Sprache (NLP). Diese Abhängigkeit verursacht Latenzen, schafft Anfälligkeiten bei Internetausfällen und wirft erhebliche Datenschutzbedenken bezüglich permanenter akustischer Überwachung auf. Die Implementierung einer vollständig lokalen Sprachsteuerungsarchitektur in Home Assistant über das Wyoming-Protokoll – durch die Kombination von OpenAI Whisper für Speech-to-Text (STT) und Piper für neuronales Text-to-Speech (TTS) – führt Sprachbefehle in Bruchteilen von Sekunden aus, komplett innerhalb des lokalen Netzwerks.
1. Architektonische Grundlagen: Die Wyoming-Sprachpipeline
Die lokale Sprachverarbeitung in Home Assistant operiert als modulare, entkoppelte Pipeline, in der Audioströme sequenziell ohne externe API-Aufrufe verarbeitet werden:
- Wake-Word-Erkennung (openWakeWord / microWakeWord): Leichte KI-Modelle analysieren kontinuierlich die Mikrofoneingaben direkt auf der Satelliten-Hardware (z. B. ESP32-S3), um die Pipeline bei Erkennung des Aktivierungswortes zu starten.
- Speech-to-Text (Whisper): Audiopakete werden über das Wyoming-Protokoll an den lokalen Whisper-Container gestreamt und in strukturierte Zeichenketten transkribiert.
- Absichtserkennung (Home Assistant Assist): Natürliche Sprachparser gleichen die transkribierte Zeichenkette mit definierten Entitäten, Räumen und Automatisierungs-Aliasnamen ab.
- Text-to-Speech (Piper): Der Antworttext wird durch Piper in eine natürlich klingende Sprachausgabe synthetisiert und an den Lautsprecher des Satelliten zurückgestreamt.
2. Schritt-für-Schritt-Installation der Whisper- & Piper-Add-ons
Die Bereitstellung lokaler Sprachdienste erfordert die Installation dedizierter Container-Add-ons unter Home Assistant OS oder in überwachten Docker-Umgebungen:
- Installation des Whisper-Add-ons: Unter Einstellungen > Add-ons > Add-on Store ist nach Whisper zu suchen. Bei der Konfiguration muss die passende Modellgröße gewählt werden:
tiny-int8oderbasefür reine CPU-Server (Raspberry Pi 4/5) odermediumfür Systeme mit GPU-Beschleunigung oder Google Coral TPUs. - Installation des Piper-Add-ons: Nach der Installation des Piper-Add-ons wird im Konfigurationsbereich das gewünschte neuronale Sprachmodell (z. B.
de_DE-thorsten-mediumfür Deutsch) ausgewählt und der Dienst gestartet. - Konfiguration der Wyoming-Integration: Unter Einstellungen > Geräte & Dienste > Integration hinzufügen wird nach Wyoming Protocol gesucht und sowohl Whisper (Standardport
10300) als auch Piper (Standardport10200) hinzugefügt.
3. Schritt-für-Schritt-Konfiguration der Assist-Pipeline
Sobald die Verarbeitungsmodule integriert sind, muss eine einheitliche Sprachassistenten-Pipeline eingerichtet werden:
- Erstellung einer Sprachpipeline: Unter Einstellungen > Sprachassistenten > Pipeline hinzufügen ist ein aussagekräftiger Name wie
Lokaler Assist - Deutschzu vergeben. - Zuweisung lokaler Engines: Als Sprache-zu-Text-Engine wird Whisper, als Konversationsagent Home Assistant und als Text-zu-Sprache-Engine Piper konfiguriert.
- Aktivierung des lokalen Wake-Words: Für die lokale Aktivierungserkennung wird openWakeWord gewählt und ein passendes Schlüsselwort (z. B.
Okay NabbuoderHey Jarvis) festgelegt.
Produktionsreifes ESPHome-Satelliten-YAML
Um Sprache aufzunehmen und Antworten ohne Cloud-Hardware auszugeben, kann ein ESP32-S3-Sprachsatellit (z. B. ESP32-S3-BOX-3 oder Atom Echo) mit folgender ESPHome-Konfiguration betrieben werden:
esphome:
name: "voice-satellite-livingroom"
friendly_name: "Living Room Voice Satellite"
esp32:
board: esp32-s3-devkitc-1
framework:
type: esp-idf
api:
encryption:
key: "GENERATE_YOUR_KEY_HERE"
i2s_audio:
- id: i2s_in
i2s_lrclk_pin: GPIO4
i2s_bclk_pin: GPIO5
- id: i2s_out
i2s_lrclk_pin: GPIO15
i2s_bclk_pin: GPIO16
microphone:
- platform: i2s_audio
id: sat_mic
i2s_audio_id: i2s_in
i2s_din_pin: GPIO6
adc_type: external
pdm: false
speaker:
- platform: i2s_audio
id: sat_speaker
i2s_audio_id: i2s_out
i2s_dout_pin: GPIO17
voice_assistant:
id: va_pipeline
microphone: sat_mic
speaker: sat_speaker
use_wake_word: true
noise_suppression_level: 2
auto_gain: 31dBFS
volume_multiplier: 2.0
4. Zusammenfassung & Mehrwert
Was sich damit erreichen lässt: Die erfolgreiche Bereitstellung einer vollständig autonomen, lokalen Sprachsteuerungsarchitektur in Home Assistant mit dem Wyoming-Protokoll, Whisper STT, Piper TTS und ESPHome-basierter Hardware-Satelliten.
Resultierender Mehrwert: Die Sprachsteuerung im Smart Home wird komplett unabhängig von Cloud-Servern Dritter. Privatsphäre und akustische Telemetriedaten bleiben strikt innerhalb des lokalen Netzwerks isoliert, was jegliches Profiling und Datenabfischen ausschließt. Darüber hinaus entfällt das Routing über externe Server, wodurch Sprachbefehle in weniger als einer Sekunde verarbeitet werden und eine 100-prozentige Verfügbarkeit auch bei Internetausfällen garantiert ist.
Quellen
Home Assistant ohne Cloud
- Zigbee2MQTT vs. ZHA: Aufbau eines ausfallsicheren Mesh-Netzwerks in Home Assistant
- ESPHome und ESP32 in der Praxis: Eigene Cloud-freie Umweltsensoren entwickeln
- Präsenzerkennung 2.0: mmWave-Radare (LD2410/LD2450) in der Lichtautomatisierung
- Lokale Sprachsteuerung in Home Assistant mit Whisper & Piper
- WireGuard & Tailscale DMZ: Sicherer externer Zugriff auf Home Assistant und eigene Server
- Lokales Energiemanagement: Integration von PV-Wechselrichtern und Batteriespeichern über Modbus TCP