Raspberry Pi 3 als Amazon Alexa

Alexa ist Amazons viel gepriesene digitale, stimmengesteuerte Assistentin. Alexa ist faszinierend, auch wenn ich selbst noch keinen echten Platz für diese Art Assistent in meinem Leben gefunden habe. Ein Amazon Echo, dass ich mir im November letzten Jahres aus Amerika mitgebracht habe, wurde noch vor Weihnachten wieder verkauft.

Spannend ist die Technologie trotzdem. In den letzten zwei Tagen habe ich mich daher mit Alexa ein weiteres Mal beschäftigt und habe mir Alexa auf einen Raspberry Pi 3 geholt. Sparen kann man dabei nichts, denn die Summe der Einzelteile, kostet mehr als ein Amazon Echo Dot (z.Zt. € 59,99).

Was Du brauchst:

Auf GitHub haben die Entwickler von Amazon eine ausgezeichnete Anleitung veröffentlicht, wie man die Beispiel-Applikation auf einem Raspberry Pi 3 zum Laufen bekommt. Wer sich an diese Anleitung hält, kann in weniger als einer Stunde zu einem voll funktionsfähigen Setup gelangen, wobei man nicht wirklich gefordert wird.

Nach der Installation kam es bei mir jedoch zu einem Problem, dass ich nur durch einen recht radikalen Schritt lösen konnte. Aber dazu kommen wir gleich.

Im Ende lässt man die Beispiel-Applikation im Pixel Desktop laufen und öffnet dafür 3 Terminal-Fenster, die die drei Anwendungen steuern, die zusammen eine vollständige Alexa-Umgebung aufbauen.

  1. node.js Applikation, die man eigentlich nur braucht, damit man sich einen gültigen Zugangs-Token abholen kann
  2. Apache Maven, unter dem die eigentliche Java App läuft – quasi das „Hirn“ von Alexa
  3. WakeWordEngine (Sensory), damit Alexa auch auf ihren Namen hört

Bei mir lief alles wunderbar, nur als ich den OAuth Workflow beenden wollte, stieg der node.js Server aus. Ich bin dabei nicht der einzige Nutzer, dem es so ging, wie  Issue 601 bei GitHub zeigt. Gelöst habe ich das Problem, indem ich das Raspbian Jessie Image vom 02. März neu auf die SD-Karte gespielt habe (Etcher ist dabei eine große Hilfe) und dann keinerlei Updates (ich weiß, ich weiß) durchgeführt habe, bevor ich das Betriebssystem installierte.

Ob es jetzt die fehlenden Updates waren, oder das unberührte Betriebssystem kann ich jetzt natürlich nicht nachvollziehen, aber das System läuft wunderbar und hört ganz brav und antwortet entsprechend. Lediglich die Musikdienste (Amazon Prime Music, Spotify & Co) stehen nicht zur Verfügung.

Eine weitere Einschränkung gibt es dann auch noch: Die drei Terminalfenster, die man öffnet, damit die Installation läuft, lassen sich nicht so ohne weiteres automatisieren und der WakeWordEngine lässt die CPU des Raspberry Pi dauerhaft auf >75% ansteigen. Da wird also richtig gearbeitet, denn schließlich muss der WakeWordEngine ständig alles „mithören“, um festzustellen, ob du gerade „Alexa“ gesagt hast, oder halt nicht. Im Ende braucht es also ein paar Minuten, bis man die App zum laufen bringt, nachdem der Raspberry Pi gebootet wurde, auch weil man jedes Mal einen neuen Token abholen muss.

Das andere was ich erwähnen sollte, zu mindestens bei mir ist die Tonqualität alles andere als berauschend – zum Glück geht es bei diesem Projekt auch nicht, um beste Tonqualität.

Also warum ist es denn trotzdem interessant?

Naja, zum einen ist es eine nette Spielerei und man kann dann doch mal schauen, was Amazon Alexa so kann und was nicht. Zum anderen habe ich so eine Testumgebung, für eine Alexa Skill, die ich auf die schnelle geschrieben habe. Dazu schreibe ich dann die Tage noch mal etwas mehr, denn das ist eigentlich das wirklich spannende Thema.

Hier ein Video-Demo:

Claus Wolf

Seit 1994 im Netz unterwegs und seit 2004 eingefleischter Mac-Nutzer. 21.5" iMac - 2.9GHz Intel Core i5, 16GB RAM, 1TB Fusion Drive HDD / 128GB iPhone 7 / 128GB iPad 9,7" (2017) / 15" MacBook Pro (Mitte 2014) in der Firma...

Das könnte Dich auch interessieren...

1 Antwort

  1. 11. Februar 2018

    […] kurz darauf, da ich keinen Platz dafür in meinem Leben fand. Danach bastelte ich mir aus einem Raspberry Pi einen Amazon Echo und später einen Google Assistant, aber auch diese Nachbauten konnten mich nicht ganz überzeugen. […]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

This site uses Akismet to reduce spam. Learn how your comment data is processed.