Spracherkennung mit dem Arduino

Gepostet in: Arduino
Werbung:
Aufgepasst!
Günstige Hardware und kostenlose eBooks für den Arduino gibt es bei AZ Delivery

Während alle Welt begeister auf Amazons Alexa starrt, habe ich mich mal mit dem Thema Spracherkennung bzw. Sprachsteuerung  im Bereich Arduino auseinandergesetzt.

Von Haus aus können die Arduino-Boards nicht wirklich sprechen. Und Sprache verstehen schon mal gar nicht. Jedenfalls nicht einfach so. Relativ einfach wird dies ermöglicht, indem man sich z.B. das MOVI-Shield von Audeme (nun auch direkter EU-Verkauf) kauft, welches einer erfolgreichen Kickstarter-Kampagne entstammt, und dieses die meiste Arbeit verrichten lässt.

Auf MOVI läuft ein kleines Linux inkl. viele verschiedener Opensource-Paketen, die dann zusammengenommen dafür sorgen, dass das Eingangssignal aufbereitet und auf zuvor trainierte Sätze gematcht wird.

MOVI unterstützt offiziell bis zu 150 volle Sätze bzw. Kommandos. User berichten, dass sie sogar knapp 1000 Sätze bzw. Kommandos anlernen konnten ohne das dies zu Problemen führte. In der aktuellsten Version unterstützt MOVI Englisch, Deutsch und Spanisch.

Weiterhin kommt das Shield ohne Internetverbindung aus. Man kann sich also sicher sein, dass das Gesagte die eigenen vier Wände nicht verlässt.

Den Arduino kann man natürlich dennoch ins Netz hängen. Die Sprache wird aber auch dann das Shield nicht verlassen.

Grund genug also, das Ding mal zu bestellen und auszuprobieren.

Die Programmierung per Arduino ist nicht viel komplizierter als bei anderen Projekten auch. Das Manual ist leicht verständlich und dokumentiert die Bibliothek ausreichend. Weiterhin gibt es über die Library sehr viel Beispiel-Code, der – gut kommentiert – die Verwendung erklärt.

Da meine LED-Uhr aktuell auf Eis liegt, da ich auf Material warte, habe ich kurzerhand meine 433MHz-Schaltung mit „Magda“ erweitert. „Magda“ nimmt meine Sprachbefehle entgegen, um zwei Lichter im Wohnzimmer ein- bzw. auszuschalten.

Bis auf ein paar Verständigungsprobleme (Spracherkennung auf Deutsch läuft noch nicht soooo geil), funktionierte „Magda“ auf Anhieb.

Aktivieren Sie JavaScript um das Video zu sehen.
Video-Link: https://youtu.be/hpkMgAGg_XU

 


Wenn Dir dieser Artikel geholfen und/oder gefallen hat, freue ich mich, wenn Du janbpunkt.de mit einer kleinen Spende per PayPal unterstützt. Jeder Betrag ist willkommen.



Über einen Kommentar freue ich mich natürlich auch :-)

The following two tabs change content below.

Jan B-Punkt

CEO, bitch!
Ich bin Jan, der Hauptakteur bei janbpunkt.de. Naja, eigtl. bin ich sogar der einzige Schreiberling hier. 1980 in Eckernförde geboren, lebe ich aktuell mit meiner Frau in Kiel und habe Spaß an Technik, Gadgets und dem Internet. Außerdem fotografiere und zocke ich gern. Verständlich, dass die meisten Artikel sich daher auf eben jene Themen beziehen.
Abonnieren
Benachrichtige mich bei
17 Comments
Oldest
Newest Most Voted
Inline Feedbacks
Zeige alle Kommentare
Olli
3 Jahre zuvor

Hallo Jan,
cooler Beitrag. Eine Frage habe ich, hast du dann 2 Empfänger Module mit je einem weiteren Arduino oder wie liest du die empfangenen Daten aus?
Würde mir das gerne auch bauen, aber für mehr Geräte und über eine Relaiskarte schalten wäre eine nicht so elegante Lösung.

Grüße,
Olli.

Olli
Reply to  Jan B-Punkt
3 Jahre zuvor

Alles klar, danke dir:)

Jörg
3 Jahre zuvor

Hallo Jan,
ich möchte zusätzlich noch ein Ethernet-Shield verwenden. Würde es da Kollisionen bei Pins geben, die von beiden Shields standardmäßig verwendet werden?
Grüße, Jörg

Jörg
Reply to  Jan B-Punkt
3 Jahre zuvor

Hallo Jan,
ja schade. Ich mache mich dann mal ans Werk. Das kann berufsbedingt eine Weile dauern. Ich melde mich mit dem Ergebnis meiner Recherche zurück. Vielleicht hilft es ja jemandem weiter…
Grüße, Jörg

Jörg
Reply to  Jan B-Punkt
2 Jahre zuvor

Auf die Schnelle: Das Ethernet-Shield als auch das Movi-Shield verwenden die Pins 10 und 11 zur Kommunikation mit dem Arduino. Also sind Kollisionen vorprogrammiert. Ich will den Arduino Uno R3 einsetzen und werde mich mit softserial beschäftigen müssen. Darüber hinaus gibt es auf dem Movi-Shield Jumper, um es an andere MC anzupassen. Da werden offensichtlich die Kommunikationspins umgejumpert. Es gibt also Hoffnung, dass ich meine Kombination aus Arduino Uno R3 + Ethernet-Shield 2 + Movi-Shield zum Funktionieren überreden kann. Das hebe ich mir aber für die Dunkle Jahreszeit auf. Es wird also eine Weile dauern, bis ich mich wieder melde.… Weiterlesen »

Carsten
2 Jahre zuvor

Hey Jan,
ich habe mir jetzt auch den MOVI angeschafft und da ist ja standardmäßig nur Englisch erstmal drauf. Jetzt will ich das „Deutsch-Packet“ hinzufügen und auf der original Audeme Seite steht das man die ZIP-Datei in den Updateordner des mitglieferten Sdhc karte hinzufügen muss. Problem: ich habe nur 2 Ordner : „256 MB“ und „512 MB“ , eine „script.bin“ (Bin-Datei) sowie eine „uImage“ Datei.
Aber von einem Update-Ordner ist nirgends eine Spur. Kannst du mir da helfen? Habe ich ausversehen etwas gelöscht? oder ist das Deutsch-Packet überflüssig?

Mfg, Carsten

Carsten
Reply to  Jan B-Punkt
2 Jahre zuvor

Ich danke dir, mit meinen hobbymäßigen Informatikkenntnissen gelangt man da so manches mal an seine Grenzen. Den Tag über war ich dann bei einem Kollegen und wir haben das mit Linux hingekriegt. MOVI spricht jetzt auch deutsch und mit „Magda“ ist das auch ein guter Callsign.

Einziges Problem was ich jetzt noch habe: MOVI kann meine Sätze nicht ganz so gut auseinanderhalten. Die Sätze ähneln sich jedoch stark weil ich ihm eine Zahl zwischen 1 bis 12 sagen will. Jedoch versteht er meist eine andere Zahl. Hast du da einen Tipp? Zahlen ausschreiben bringt nichts.

Mfg, Carsten

Marcel Effner
2 Jahre zuvor

Moin coole Seite, mein Onkel kommt auch aus Eckernförde und auch Hobby Elektroniker. Naja, ich hätte da ein paar fragen: 1. Würdest du dazu raten die Englische oder Deutsche Version zu benutzen, hinsichtlich, dass der Arduino auch versteht was man sagt. 2. Kann man das Codewort („Magda“), in der Deutschen und Englischen Version ändern? 3. Bei welcher Sprache hört sich das was der Arduino antwortet am flüssigsten an? 4. Kann man Stimmenlage oder gleich die ganze Stimme in der Deutschen oder Englischen Version ändern? 5. Hättest du einen Link zu dem aktuellsten Modell, weil ich hab das Gefühl, dass die… Weiterlesen »

Admin
Admin
Reply to  Marcel Effner
1 Jahr zuvor

Mensch, Marcel, sorry!
Ich habe den Kommentar eben erst gesehen. Sehr spät, ich weiß.

Falls noch relevant:
1. Deutsch funktionierte, als ich es zuletzt nutzte, noch nicht ganz so gut.
2. Japp. Du kannst Dir da ein eigenes ausdenken und benutzen.
3. Das macht keinen Unterschied.
4. Angeblich ja, habe ich aber noch nicht probiert. Die Doku ist aber sehr ausführlich und verständlich.
5. Da kann ich leider nicht helfen. Ich hab es damals über den verknüpften Link gekauft.

Anonym
1 Jahr zuvor

Hallo zusammen,

vielleicht habt ihr einen Tipp für mich. Ich habe mir das movi shield ebenfalls zugelegt. Er erkennt die Wörter jedoch gar nicht bzw. das Ergebnis beim recognizer.poll() ist immer unterschiedlich beim gleichen Wort. Selbst wenn die Wörter komplett unterschiedlich sind wie 1 und 2.
Habt ihr eine Idee, was ich falsch mache?

Viele Grüße,
Thorsten