Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Raspberry Pi Grundkurs

Sprachsteuerung mit dem Raspberry Pi

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Fühlen Sie sich wie in einem Science-Fiction-Film und fragen Sie den Raspberry Pi in natürlich gesprochener Sprache, wie das Wetter wird. Der "Raspi" wird Ihnen korrekt antworten. In diesem Film erfahren Sie im Detail, wie man das realisiert.
08:27

Transkript

Jetzt habe ich etwas ganz tolles für Sie vorbereitet, nämlich Spracherkennung wie in Science-Fiction-Filmen. Ich bin auf meinem Raspberry eingeloggt. Und ich starte jetzt gleich ein Programm, das heißt "recognize". Und das lauscht jetzt in den Raum hinein, bis ein lauter Knall oder ein Klatschen gehört wird. Achtung! Ich klatsche! "Bitte" Wie wird das Wetter morgen? "Klarer Himmel" Das war jetzt kein Fake. Ich starte das Programm jetzt nochmal mit "recognize". Ich muss wieder leise sein, ich klatsche. Achtung! "Bitte" Kannst du mir einen Witz erzählen? Das wäre klasse! "Ich kenne keine Witze!" Auch hier war das jetzt kein Fake. Das war ein System von Raspberry, das meine natürliche Sprache erkannt hat, und anhand dieses Wortes "Witz", oder weiter oben anhand des Wortes "Wetter" eben eine entsprechende Reaktion gezeigt hat. Wie Sie das bei sich zu Hause mit Ihrem Raspberry nachbauen, das zeige ich Ihnen jetzt in diesem Video. Ich habe mich ausgeloggt und logge mich nochmal ein, damit Sie von Anfang an mitbekommen, wie das Ganze umgesetzt wird. Ich logge mich auf dem Raspberry ein. Und als erstes muss ich jetzt zwei verschiedene Softwares installieren: Einmal "sudo apt-get install sox" Die ist dafür da, den Sound von meiner Soundkarte aufzunehmen. Und als zweites "mpg321" - das ist die Software, die später die Rückmeldung ausgibt. Wichtig natürlich auch, ich brauch entweder eine externe Soundkarte, oder ein USB-Headset, das den Sound aufnimmt. Als nächstes werde ich jetzt mal eine Software installieren von Git: "git clone (und dann hier) https://github.com/ codeispoetry/Speechrecognition" Die lade ich jetzt herunter. Das ist ein einfaches Push-Script, also ein ganz normales Text-File. Wenn ich mir das Ganze jetzt mit "ls -l" anschaue, dann sehen Sie, gibt es hier ein neues Verzeichnis. Da gehe ich jetzt mal rein mit "cd Speechrecognition/" Und dann schauen wir mal in dieses Verzeichnis rein. Da gibt es nur ein einziges File, das heißt "recognize". Das ist das File, das ich grade auch ausgeführt habe. Damit dieses File ausführbar ist, muss ich die Rechte ändern: entweder auf "chmod 777" oder "chmod 755" Ich bin hier in einer sicheren Umgebung, also mach ich "777 recognize" Und jetzt ist dieses File tatsächlich scharf mit "./recognize" Jetzt fängt es wieder an, zu lauschen. Ich klatsche. Achtung! "Bitte" Das ist so eine tolle Sache. Ich weiß gar nicht, wie ich mich freuen kann. "Ich habe dich leider nicht verstanden" Sie sehen also, es wurde richtig erkannt "Das ist so eine tolle Sache. Ich weiß gar nicht, wie ich mich freuen" Das K hat er schon abgeschuckt. Und dass am Anfang habe ich eigentlich das gesagt, war nicht richtig deutlich. Man sieht da auch mal, dass solche Nachrichten zwar einigermaßen richtig erkannt sind, aber so einen richtigen Sinn ergibt dieser Satz dann nicht. Aber wenn man sich mal freut, dann kann man auch mal durcheinander sein. Schauen wir uns das File "recognize" mal an, wie das genau ausschaut. Das befindet sich ja direkt auf meinem Raspberry. Jetzt geh ich hier mal rein, das ist ein ganz normales Text-File. In den ersten 16 Zeilen habe ich eine Funktion, die heißt "rawurlencode". Die schauen wir uns später an, weil es ja eine Funktion ist" Dann habe ich eine Funktion "weather". Die schauen wir uns auch später an. Und hier geht das eigentliche Programm los. Ich kann die Soundkarte einstellen mit "alsamixer" Das habe ich Ihnen in einem anderen Video schon gezeigt. Und hier geht der Auslösemechanismus los. Das heißt, ich möchte eine Datei aufnehmen mit dem Befehl "rec", und zwar vom Audio-Device mit der Ordnungsziffer 1. Es fängt bei 0 an, zu zählen. 0 ist die eingebaute Soundkarte von Raspberry, 1 ist dann meine USB-Soundkarte, die ich eingesteckt habe. Mit "rec" lausche ich in den Raum hinein. Dann sage ich: sobald du was hast, bitte das Ganze in der Datei "ausloesen.flac" (flac ist ein Audioformat), mit 16k als Rate, und das Ganze soll passieren, wenn die Lautstärke hier ein bestimmtes Level überschreitet. In dem Fall sind es nur 3%. Und zwar wenn es sehr sehr kurz ist, also wenn ich einmal klatsche oder einen lauten Knall habe. Das Ganze soll sofort wieder aufhören, weil ich dann, wenn dieses Klatschen stattgefunden hat, hier weiter gehe. Und dann gebe ich erstmal aus das Wort "Bitte", was Sie vorhin immer gehört haben. Mit "mpg321" spiel ich eine Sounddatei ab. Und die Sounddatei hat hier diese Adresse, die mir von Google Translate zur Verfügung gestellt wird. Als nächstes, wenn dieses "Bitte" ausgegeben ist, dann nehme ich eine Massage auf. Das ist ähnlich wie hier oben in der Zeile 36, auch wieder mit "rec". Das Ganze wird dann in "massage.flac" gespeichert. Und ich möchte das Ganze 4 Sekunden aufnehmen, das heißt mit "trim 0 4" sage ich: fang sofort an mit der Aufnahme und laufe 4 Sekunden. Sobald ich das gemacht habe, hole ich mir mit dem Befehl "wget" das entsprechende Text-File. Das heißt, ich übergebe an Google-Speech dieses "massage.flac", also diese Sounddatei. Und Google gibt mir dann hoffentlich eine "massage.txt" zurück. Das heißt, mit diesem Befehl "wget --post-file" schiebe ich eine Audiodatei hoch zu Google und bekomme dann eine "massage.txt" zurück. Also die eigentliche Zauberei, die geschieht in dieser einen einzigen Zeile und wird von einem Server im Internet übernommen. Als nächstes schaue ich mir dann an, was ist denn in dieser Datei alles enthalten. Mit "cat massage" schaue ich diese gesamte Datei durch. Das ist eine Json-encodierte Datei. Und hier gibt es den Bereich "utterance", das ist also die erkannte Textstelle. Und diese erkannte Textstelle, die speichere ich in der Variablen "message", und gebe hier einfach die Message aus, wie wir es vorhin auch hier hatten, nämlich hier - die erkannte Nachricht. Was ich als nächstes mache ist, ich gucke einfach mal nach: ist denn in dieser Message, in dieser erkannt Nachricht das Wort "Wetter" enthalten? Falls das der Fall ist, rufe diese Funktion "Wetter" auf, die wir ganz am Anfang dieser Datei gesehen haben. Falls das nicht der Fall ist, schaue nach: ist denn das Wort "Witz" enthalten? Wenn das so ist, dann gebe die Antwort aus: Ich kenne keine Witze! Wenn es auch nicht der Fall ist, dann sage: Ich hab dich leider nicht verstanden! Werfen wir noch einen Blick in diese beiden Funktionen am Anfang. Hier haben wir diese Funktion "weather" Die schaut einfach bei openweathermap.org nach, wie das Wetter für München ist. Das Ganze möchte ich als deutsche Version zurückgeliefert bekommen. Speichere das Ganze in "wetter.txt" Und dann schaue ich einfach nach, was ist denn hier als "description" enthalten. Und gebe das Ganze hier mit mpg321 ganz normal aus. Ich hab hier nochmal ein "rawurlencode", das ist ein Funktionsaufruf. Und diese Funktion ist hier oben definiert. Die sorgt dafür, dass ein ganz normaler Text mit Sonderzeichen, mit Leerzeichen in ein URL-encodiertes Format übertragen wird, damit ich das dann hier auch korrekt übergeben kann diesen String. Probieren wir es nochmal ein letztes Mal aus. "Bitte" Hast du jetzt vielleicht einen Witz für mich? "Ich kenne keine Witze!" Also, ganz intelligent ist der Raspberry auch nicht. Er macht zwar genau das, was wir ihm einprogrammiert haben, aber leider eben noch nicht mehr.

Raspberry Pi Grundkurs

Wecken Sie den "Bastler" in sich und lassen Sie sich zeigen, wie Sie den Minicomputer Raspberry Pi für den praktischen Einsatz zuhause oder für mobile Zwecke nutzen können.

2 Std. 2 min (29 Videos)
Kurs macht Laune
Thomas W.
Sehr geiler Kurs und schön erklärt. Macht Lust auf mehr! Ich freue mich schon auf eine Fortsetzung. :-)
git clone repository not found
Philipp K.

Ich habe wegen der Spracherkennung das 10 Tage kostenlose Abo gegönnt. Heute wollte ich die Spracherkennung auf meinen Raspberry Pi3 nachbauen. Leider musste ich feststellen, dass das Repository https://github.com/ codeispoetry/Speechrecognition" nicht mehr verfügbar ist. Gibt es dazu eine Alternative und auch ein aktuelles Training dazu?

Thomas Rose Thomas Rose

Leider bietet Google den Text2Speech-Service nicht mehr an. Aber es gibt Abhilfe: http://mary.dfki.de:59125/

Dort können Sie ein Sprachmuster wählen und auf "Speak" klicken. Dann erscheint ein Download-Button. Diese URl können Sie manipulieren, indem Sie den Parameter für INPUT_TEXT ändern.

 
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:12.03.2014
Aktualisiert am:06.02.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!