100 % lokal arbeitender Sprachassistent: Whisper + Ollama + Piper
Ein lokaler Sprachassistent hört zu, versteht und antwortet laut, ohne jemals ein einziges Byte in die Cloud zu senden. Dieser Leitfaden verbindet drei Open-Source-Bausteine – Whisper für die Spracherkennung, ein über Ollama bereitgestelltes LLM für das Schlussfolgern und Piper für eine natürliche französische Stimme – zu einer vollständigen Schleife, die auf Ihrem eigenen Rechner läuft. Wir erläutern die Verarbeitungskette STT → LLM → TTS, die empfohlene Hardware und die Latenz, mit der Sie tatsächlich rechnen können.
#Warum ein lokaler Sprachassistent?
Alexa, Google Assistant und Siri haben denselben Nachteil: Jeder Satz, den Sie aussprechen, wird zur Transkription und Interpretation an entfernte Server gesendet. Ein lokaler Sprachassistent kehrt dieses Modell um. Mikrofon, Spracherkennung, Schlussfolgern und Sprachausgabe laufen vollständig auf Ihrer Hardware. Nichts wird über das Internet übertragen, und der Assistent funktioniert auch bei unterbrochener Verbindung weiter.
Neben dem Schutz der Privatsphäre liegt der Vorteil in der Kontrolle. Sie wählen das Sprachmodell, seine Persönlichkeit über den Systemprompt und die Ausgabestimme und können es mit Ihren eigenen Werkzeugen verbinden — Hausautomation, Kalender, Notizen —, ohne von einer API eines Drittanbieters abhängig zu sein, die von einem Tag auf den anderen eingestellt werden oder ihre Bedingungen ändern kann.
- Datenschutz
- Kein Sprachbefehl wird von Dritten aufgezeichnet oder analysiert. Ideal für sensible Anwendungen zu Hause oder im beruflichen Umfeld.
- Offline
- Die vollständige Kette funktioniert ohne Internet, sobald die Modelle heruntergeladen wurden.
- Anpassbar
- Systemprompt, Stimme, Sprache, Wake-Word und Werkzeuge sind alle unter Ihrer Kontrolle.
- Ohne Abonnement
- Alles ist Open Source. Kosten entstehen nur für Ihre Hardware und den Strom.
#Die Kette STT → LLM → TTS
Ihr privates, kostenloses ChatGPT auf Ihrem Rechner in einer Stunde – mit LM Studio, Ollama, Open WebUI und Ihren Dokumenten, ganz ohne Cloud.
- Lebenslanger Online-Zugang
- PDF + Dateien
- Lebenslange Updates
Ein Sprachassistent besteht, so ausgefeilt er auch sein mag, lediglich aus einer Abfolge von drei Schritten. Diese Aufteilung zu verstehen, ist der Schlüssel dazu, die Latenz zu diagnostizieren und ein Glied der Kette zu ersetzen, ohne den Rest zu beeinträchtigen.
- 01STT — Speech To TextDas Mikrofon nimmt Ihre Stimme auf, und Whisper wandelt sie in Text um. Das ist Spracherkennung. Die Qualität hängt vom gewählten Whisper-Modell und von den Umgebungsgeräuschen ab.
- 02LLM — das SchlussfolgernDer transkribierte Text wird an ein von Ollama bereitgestelltes Sprachmodell gesendet, wobei ein Systemprompt die Rolle des Assistenten definiert. Das LLM erzeugt eine schriftliche Antwort.
- 03TTS — Text to SpeechDie Textantwort wird an Piper weitergegeben und von Piper mit einer französischen Stimme laut vorgelesen. Das ist Sprachsynthese.
Die wahrgenommene Latenz ist die Summe der Zeiten für die drei Schritte: die Transkription mit Whisper, die Generierung durch das LLM (deren Dauer am stärksten variiert) und die Synthese mit Piper. Darauf gehen wir weiter unten ausführlich ein.
#Voraussetzungen und Hardware
Ein lokaler Sprachassistent ist anspruchsvoller als ein einfacher Textchat: Whisper und das LLM teilen sich die GPU, und die Reaktionsgeschwindigkeit zählt. Hier finden Sie Hardware-Richtwerte je nach Anspruch.
- Minimal (nur CPU)
- Whisper base + ein kleines LLM in Q4_K_M (≈2 GB), etwa Qwen 3.5 2B oder Granite 4.2 3B. Funktioniert, aber rechnen Sie mit mehreren Sekunden Latenz pro Gesprächsrunde. Für Hausautomation, bei der nicht ununterbrochen gesprochen wird, akzeptabel.
- Komfortabel
- RTX 3060 12GB oder RTX 4070 12GB. Whisper small/medium auf der GPU + ein 8–9B-LLM in Q4_K_M (≈5–7 GB), beispielsweise Qwen 3.5 9B oder Granite 4.2 8B. Latenz in der Größenordnung von 1 bis 3 Sekunden pro Gesprächsrunde.
- Flüssig
- RTX 4080 16GB / RTX 4090 24GB oder ein Mac M4 Pro (24–48 GB vereinheitlichter Speicher). Whisper medium + ein leistungsfähigerer LLM (Gemma 4 12B ≈8 GB oder Qwen 3.8 27B ≈18 GB bei 24 GB Speicher), nahezu sofortige Antworten.
- Mikrofon und Audio
- Ein ordentliches USB-Mikrofon reicht aus. Unter Linux: PipeWire oder PulseAudio; unter macOS/Windows genügt die Standardkonfiguration.
Softwareseitig setzen wir voraus, dass Ollama bereits installiert ist und funktioniert. Falls nicht, beginnen Sie mit der Installationsanleitung für Ollama, bevor Sie fortfahren. Prüfen Sie, ob der Daemon antwortet.
#1. Hören und Transkription (Whisper)
Whisper ist das Spracherkennungsmodell von OpenAI und wird als Open Source bereitgestellt. Für den lokalen Einsatz in Echtzeit wird faster-whisper bevorzugt, eine optimierte Neuimplementierung, die CTranslate2 verwendet und sowohl auf der CPU als auch auf der GPU deutlich schneller läuft als die Referenzversion.
Die Whisper-Modelle existieren in verschiedenen Größen. Je größer das Modell ist, desto besser ist die Transkription – besonders im Französischen und in lauten Umgebungen –, aber desto langsamer ist es.
- tiny / base
- Sehr schnell, ideal für eine wenig leistungsstarke CPU oder für Smart-Home-Anwendungen. Ordentliche Transkription kurzer Befehle auf Französisch.
- small
- Guter Kompromiss zwischen Geschwindigkeit und Qualität für die meisten Assistenten. Empfohlen als Ausgangspunkt.
- medium
- Deutlich besser bei langen Sätzen und Akzenten, benötigt aber eine GPU, um flüssig zu arbeiten.
- large-v3
- Maximale Qualität, nur für GPUs mit ausreichendem Leistungsvermögen, wenn Latenz von Bedeutung ist.
Hier ist eine Funktion, die über das Mikrofon aufnimmt und den transkribierten Text zurückgibt. Wir legen Französisch als Sprache fest, um Fehler bei der Spracherkennung zu vermeiden.
#2. Schlussfolgern (Ollama)
Der transkribierte Text wird nun an das LLM weitergeleitet. Ollama stellt unter http://localhost:11434 eine HTTP-API bereit, die mit Python abgefragt wird. Die Modellwahl hängt von Ihrer GPU ab: Ein kompaktes Modell wie Qwen 3.5 9B (6,6 GB, 256k Kontext, Apache 2.0) oder Granite 4.2 8B (5,3 GB) in Q4_K_M bietet eine hervorragende Balance für einen Dialogassistenten.
Der Systemprompt verwandelt einen allgemeinen LLM in einen nützlichen Sprachassistenten. Für die Sprachausgabe ist eine Anweisung entscheidend: kurze Antworten verlangen. Ein langer Text wird beim Vorlesen endlos.
#3. Französische Sprachsynthese (Piper)
Piper ist eine schnelle, lokal laufende Engine für neuronale Sprachsynthese, die von der Home Assistant-Community (Projekt Rhasspy) entwickelt wurde. Sie erzeugt eine französische Stimme, die deutlich natürlicher klingt als die alter Engines wie espeak, und bleibt dabei schlank genug, um auf einem Raspberry Pi zu laufen.
Piper arbeitet mit vortrainierten Stimmen, jeweils einer pro Sprache und Stimmklang. Für Französisch sind mehrere Stimmen (fr_FR) in verschiedenen Qualitätsstufen verfügbar. Jede Stimme besteht aus zwei Dateien: dem Modell .onnx und seiner Konfiguration .onnx.json.
Anschließend verwendet man es, um einen Satz in Audio umzuwandeln und direkt abzuspielen.
#4. Die vollständige Schleife zusammenbauen
Nachdem die drei Bausteine einzeln getestet wurden, müssen sie nur noch in einer Schleife miteinander verknüpft werden: zuhören, nachdenken, sprechen, von vorn beginnen. Hier ist der vollständige, minimal gehaltene Assistent, der die vorherigen Funktionen zusammenführt.
Das ist alles: etwa hundert Zeilen, verteilt auf drei Dateien, und Sie haben einen Sprachassistenten, der auf Französisch zuhört, mit einem lokalen LLM nachdenkt und laut antwortet – ohne einen einzigen ausgehenden Netzwerkaufruf. Darauf aufbauend lässt sich mit openWakeWord ein Aktivierungswort („Ok maison“) hinzufügen, eine VAD für kontinuierliches Zuhören einbauen oder eine Anbindung an Tools ergänzen.
#Tatsächliche Latenz und Optimierungen
Die Frage, die über Erfolg oder Misserfolg eines Sprachassistenten entscheidet: Wie viel Zeit vergeht zwischen dem Ende Ihres Satzes und dem Beginn der gesprochenen Antwort? Hier sind beobachtete Größenordnungen auf einer RTX 4070 mit Whisper small und einem Modell mit 8–9 Milliarden Parametern in Q4_K_M (etwa Qwen 3.5 9B).
- Transkription mit Whisper
- ≈ 0,3 bis 0,8 s für einen 5 s langen Satz mit dem Modell small auf der GPU. Auf der CPU sollten Sie mit 2 bis 4 s rechnen.
- LLM-Generierung
- Der Schritt mit der größten Schwankungsbreite. Ein Modell mit 8–9 Milliarden Parametern erzeugt auf der GPU je nach Länge die erste Antwort in ≈ 0,5 bis 1,5 s. Hier sind ein niedriger Wert für num_predict und ein schnelles Modell am wichtigsten.
- Piper-Synthese
- ≈ 0,2 bis 0,5 s für ein oder zwei Sätze mit einer Stimme der Qualitätsstufe medium. Sehr schnell, selten der Engpass.
- Wahrgenommene Gesamtdauer
- Etwa 1 bis 3 Sekunden pro Gesprächsrunde auf einer Mittelklasse-GPU. Für weniger als eine Sekunde braucht es High-End-Hardware oder Streaming.
- Die Modelle geladen halten
- Stellen Sie OLLAMA_KEEP_ALIVE ein, um sicherzustellen, dass Ollama zwischen zwei Fragen nicht das Modell entlädt – das Wiederladen dauert mehrere Sekunden.
- Kurze Antworten
- Ein niedriger Wert für num_predict und ein Systemprompt, der knappe Antworten verlangt, reduzieren unmittelbar die Generierungszeit und die Vorlesedauer.
- Passendes Whisper-Modell
- Verwenden Sie nicht large-v3, wenn small für Ihre akustischen Bedingungen ausreicht: So sparen Sie bei jedem Durchlauf Hunderte von Millisekunden.
#5. In Home Assistant integrieren
Wenn Sie ein Smart Home per Sprache steuern möchten, müssen Sie nicht alles neu programmieren. Home Assistant integriert die „Assist“-Pipeline nativ, und sowohl Whisper als auch Piper lassen sich über offizielle Add-ons daran anbinden – sie wurden übrigens in diesem Ökosystem entwickelt.
- 01Die Add-Ons für Sprache installierenFügen Sie unter Einstellungen → Add-ons „Whisper“ und „Piper“ hinzu. Home Assistant führt sie lokal als STT- und TTS-Dienste aus.
- 02Eine Assist-Pipeline erstellenIn Einstellungen → Stimme erstellen Sie einen Assistenten: Wählen Sie Whisper für die Erkennung und Piper (Stimme fr_FR) für die Synthese.
- 03Das LLM über Ollama anbindenHome Assistant bietet eine „Ollama“-Integration als Konversationsagent an. Geben Sie die URL http://localhost:11434 und Ihr Modell an, um die standardmäßige Absichtserkennung zu ersetzen.
- 04Einen Zugang für die Spracheingabe wählenEin ESP32-Satellit (Voice PE), ein altes Telefon oder die mobile App dienen in den Räumen als Mikrofon/Lautsprecher.
#Fehlerbehebung
- Whisper transkriptiert in der falschen Sprache
- Setzen Sie language='fr' in transcribe(). Andernfalls kann eine kurze Aussage als Englisch erkannt werden.
- Keine Tonausgabe
- Prüfen Sie das Ausgabegerät von sounddevice (sd.query_devices()) und stellen Sie sicher, dass die Sample-Rate, die an sd.play übergeben wird, der Sample-Rate in voix.config.sample_rate entspricht.
- Das Mikrofon nimmt nichts auf
- Testen Sie sd.query_devices(), um den richtigen Index für den Audioeingang zu finden, und überprüfen Sie die Mikrofonberechtigungen (macOS) oder die PipeWire-/PulseAudio-Quelle (Linux).
- Zu lange und unlesbare Antworten
- Formulieren Sie die Anweisung zu kurzen Antworten im Systemprompt nachdrücklicher und reduzieren Sie num_predict. Ein zu wortreiches LLM ruiniert das Nutzungserlebnis eines Sprachassistenten.
- Latenz, die sich während der Konversation erhöht
- Der Gesprächsverlauf vergrößert den Kontext. Begrenzen Sie ihn auf die letzten N Nachrichten.
- Ollama lädt das Modell mit jeder Frage neu
- Erhöhen Sie OLLAMA_KEEP_ALIVE (z. B. auf 30m), damit das Modell zwischen den Gesprächsrunden im VRAM bleibt.
#Weiterführende Informationen
Ihr Sprachassistent basiert auf einem gut ausgewählten und gut eingestellten lokalen LLM. Diese Anleitungen auf unserer Website ergänzen die Einrichtung:
- Whisper + Ollama : Transkription und Zusammenfassung
- Um sich eingehender mit dem Audiobereich zu befassen und lange Dateien zu verarbeiten statt Audio in Echtzeit.
- Lokaler LLM für die Hausautomation
- Um Ihren Assistenten mit Home Assistant zu verbinden und die Hausautomatisierung per Sprache zu steuern, während die Privatsphäre erhalten bleibt.
- Q4, Q5, Q8: Welche Quantisierung wählen?
- Um je nach Ihrer GPU zwischen Antwortqualität, Geschwindigkeit und VRAM-Bedarf abzuwägen.
Haben Sie Feedback, einen Fehler entdeckt oder möchten Sie etwas präzisieren? Geben Sie uns Bescheid – so wird der Guide für alle besser.