Ich liebe Technik, die praktisch funktioniert — aber ich hasse, wenn jede Sprachabfrage in die Cloud wandert. Deshalb habe ich in den letzten Monaten einen lokalen Sprachassistenten aufgebaut, der komplett auf dem Raspberry Pi (oder in Kombination mit einem lokalen Mini‑PC) läuft und keine Daten in fremde Cloud‑Dienste schickt. In diesem Artikel beschreibe ich meine Herangehensweise, die Komponenten, die ich ausprobiert habe, und gebe eine Schritt‑für‑Schritt‑Anleitung, damit du das Projekt selbst nachbauen kannst.
Warum ein lokaler Sprachassistent?
Für mich sind zwei Dinge entscheidend: Privatsphäre und Offline‑Funktionalität. Viele kommerzielle Assistenten bieten zwar Komfort, speichern aber Sprachdaten und Analysen in der Cloud. Ein lokaler Assistent:
Natürlich ist der Nachteil, dass lokale Modelle oft weniger leistungsfähig sind als große Cloud‑LLMs. Für die meisten alltäglichen Aufgaben (Timer, Smart‑Home, lokale Informationen, einfache Konversation) reicht aber eine lokale Lösung völlig aus.
Hardware‑Übersicht: Was du brauchst
Ich habe verschiedene Setups getestet. Hier eine kompakte Übersicht, die dir hilft, das richtige Hardwareprofil zu wählen.
| Komponente | Minimal | Empfohlen |
|---|---|---|
| Hauptgerät | Raspberry Pi 4 (4GB) | Raspberry Pi 5 oder Intel NUC / Mini‑PC |
| Audio | USB‑Mikrofon (z. B. Fifine) | USB‑Soundkarte + Kugelmikrofon / ReSpeaker 4‑Mic HAT |
| Beschleuniger (optional) | keiner | USB‑Edge‑TPU (Coral) oder NN‑Beschleuniger |
| Speicher | 32 GB SD‑Card | SSD über USB (für Modelle & Logs) |
Software‑Stack: Meine Wahl
Für mein System verwende ich ausschließlich Open‑Source‑Komponenten, die lokal laufen:
Schritt‑für‑Schritt: Grundinstallation auf Raspberry Pi
Ich beschreibe hier eine schlanke Installation mit Vosk + Mycroft Precise + PicoTTS. Du kannst später leicht whisper.cpp oder Coqui TTS ergänzen.
sudo apt update && sudo apt upgrade -y
arecord -l && arecord -D plughw:1,0 test.wav
sudo apt install python3‑venv python3‑pip build‑essential
python3 -m venv ~/voiceenv && source ~/voiceenv/bin/activate
pip install vosk
Lade ein kleines deutschsprachiges Vosk‑Modell herunter und entpacke es in /home/pi/models/vosk‑de.Precise ist etwas aufwändiger zum Trainieren; du kannst vorgefertigte Modelle nutzen oder ein vorhandenes Wake‑Word übernehmen. Installiere Precise und starte den Listener als Dienst.
sudo apt install libttspico-utils
Beispiel: pico2wave -w test.wav "Hallo, ich bin dein Assistent" && aplay test.wavDas Grundschema meines Skripts:
LLM‑Integration (optional, lokal)
Wenn du komplexere Antworten oder kontextbezogene Konversation willst, kannst du ein lokales LLM einsetzen. Ich habe llama.cpp getestet — mit quantisierten Varianten laufen 7B‑Modelle auf einem Faustregel‑Setup (Mini‑PC besser als Pi). Für den Pi ist ein sehr kleines Modell (z. B. 2GB quantisiert) sinnvoll oder du richtest einen lokalen Server auf einem anderen Gerät ein und kommunizierst per LAN.
Wichtig: LLMs brauchen viel RAM/CPU. Plane entweder ein separates Gerät oder setze auf kleinere, spezialisierte Modelle (z. B. für Dialoge), um Latenz erträglich zu halten.
Integration mit Smart‑Home und Privacy‑Tipps
Ich habe meinen Assistenten an Home Assistant über MQTT angebunden. Das erlaubt lokale Automatisierungen ohne Cloud. Ein paar Regeln, die sich bewährt haben:
Fehlerbehebung & Performance‑Optimierung
Bei mir traten häufig zwei Probleme auf: schlechte Erkennung bei Umgebungsgeräuschen und hohe CPU‑Auslastung. So bin ich vorgegangen:
Praxisbeispiele, die ich nutze
Ein paar Dinge, die bei mir im Alltag zuverlässig funktionieren:
Wenn du willst, kann ich dir mein einfaches Starter‑Script (Python) zur Verfügung stellen, das Precise, Vosk und PicoTTS verbindet. Ebenso kann ich Varianten für whisper.cpp oder Coqui TTS beschreiben, falls du bessere Erkennung/Stimmen brauchst und einen stärkeren Rechner hast.