Snips: Raspi-Sprachassistent ganz ohne Cloud bauen

Mit einem Raspberry Pi und dem Projekt Snips baut man einen Sprachassistenten á la Alexa, Siri & Co. zusammen, der ohne Sprachübertragung in die Cloud auskommt.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 21 Kommentare lesen
Raspi-Sprachassistent Snips ohne Cloud

Mit dem abgebildeten Matrix Voice Standard Mikrofonaufsatz lauscht der selbstgebastelte Assistent in den Raum.

Lesezeit: 12 Min.
Von
  • Jan Mahn
Inhaltsverzeichnis

Sprachassistenten funktionieren fast alle nach dem gleichen Prinzip: Die Mikrofone, eingebaut in "smarten" Lautsprechern, Fernsehern und anderen Haushaltsgeräten, lauschen in den Raum und analysieren permanent das Gehörte. Sie tragen ein trainiertes Modell in sich, um das sogenannte Hotword zu erkennen: "Alexa", "Siri" oder "Hey, Google". Wurde diese Phrase erkannt, schneiden sie das Gehörte mit und übertragen den Audiostream der nächsten Sekunden an die Cloud des Herstellers. Der Nutzer erkennt das meist über einen Signalton und eine leuchtende LED. In der Cloud passiert dann die Analyse des Audio-Schnipsels. Das Gesprochene wird mit dafür trainierten neuronalen Netzen in Text übersetzt.

Schwerpunkt: Bastelprojekte mit Raspi und ESP

Danach ist eine weitere Übersetzungsleistung nötig. Aus einem transkribierten Text wie "schalte Lampe im Wohnzimmer ein" muss ein weiteres System herausfischen, was der Nutzer damit gemeint hat, ob er etwa eine Frage gestellt oder einen Befehl gegeben hat. Neben der Absicht ("Lampe ein") muss das Programm Parameter in der Botschaft finden ("im Wohnzimmer").

Auf einige Absichten des Nutzers können die Hersteller-Clouds selbst antworten, etwa Wetterberichte erstellen oder einen mittelmäßigen Witz als Text zurückgeben. Für andere Fähigkeiten haben sich die Cloud-Anbieter Schnittstellen ausgedacht, über die Drittanbieter wie Hersteller von steuerbaren Lampen das Verständnis für weitere Sätze nachrüsten können. Bei Amazons Alexa heißen diese Skills. Technisch gesehen sind das APIs auf dem Server eines Drittanbieters, die den in Text übersetzten Satz des Nutzers erhalten und ein Ereignis auslösen oder Text zurückgeben, den der Assistent dann vorliest.