Raspberry Pi Sprachsteuerung mit der PiAUISuite
Gerade im Bereich der Heimautomation kann es sehr nützlich und komfortabel sein, Befehle über eine Sprachsteuerung auszuführen. So könnte man z.B Lichter ein- und ausschalten, abfragen wie kalt oder warm es gerade draußen ist oder eine spezielle Folge der Lieblingsserie im TV abspielen lassen.Was wird für die Sprachsteuerung durch den Raspberry Pi benötigt?
Kompatibles Mikrofon (z.B Ansteckmikrofon von König und dazu eine kompatible USB Soundkarte).Wie man das Mikrofon installiert und einrichtet, erfahrt ihr in diesem Tutorial: Mikrofon am Raspberry Pi einrichten
Sprachsteuerung über PiAUISuite
Es gibt mehrere Möglichkeiten eine Sprachsteurung mit dem Raspberry Pi zu realisieren, hier wird die PiAUISuite verwendet, welche von Steven Hickson entwickelt wurde.Um diese zu installieren geht man folgender Maßen vor:
Zuerstmal, wie immer, zuerstmal schnell updaten:
1 sudo apt-get update 2 sudo apt-get upgrade |
Nun installiert man die PiAUISuite über Gitcore
1 sudo apt-get install git-core 2 git clone git://github.com/StevenHickson/PiAUISuite.git 3 cd PiAUISuite/Install/ 4 ./InstallAUISuite.sh |
Nun werden viele Pakete zum installieren angeboten, viele davon sind sehr nützlich und man kann diese durchaus zum testen installieren. Wer aber nur auf die Spracheingabe wert legt, bestätigt nur das Paket ‘Voicecommand’ mit [Y] für Yes.
Nun wird gefragt, ob Voicecommand versuchen soll, sich selber aufzusetzen. Das bestätigt man mit [Y] um Voicecommand einzurichten. Möchte man dies später nochmal ändern kann man das Menü nochmals mit folgendem Befehl öffnen
1 voicecommand -s |
Nun werden nötige Einstellungswünsche abgefragt.
‘Do you want to set permanentely the continous flag?‘ Wünscht man, dass ständig auf das später eingestellte Keyboard gewartet wird, bestätigt man mit [Y] (sehr sinnvoll).
‘Do you want to set permanentely the varify flag?‘ Wünscht man, dass jedesmal erst auf das Keyword gehört werden soll, bevor ein Befehl kommt, bestätigt man mit [Y] (auch sehr sinnvoll, da sonst eventuell ungewünschte befehle ausgeführt werden).
‘Do you want to set permanentely the ignore flag?‘ dies kann man mit [N] verneinen.
‘Do you want to set permanentely the quiet flag?‘ Soll der Pi nicht über den Audioausgang sprechen, verneint man dies. Es ist allerdings meistens wünschenswert ein Feedback auf seine Befehle zu bekommen. Dann bestätigt man mit [Y].
Die nächsten 2 Fragen, beziehen sich auf die Reaktionszeiten. Diese kann man mit [Y] bestätigen.
‘Do you want to set up and test the speech options?‘ Möchte man den Audiooutput nutzen kann man diesen mit dem bestätigen durch [Y] testen.
‘Do you want to set permanentely the filler flag to 0?‘ dies kann man mit [Y] bestätigen.
‘Do you want to change the response?‘ Die Standardreaktion auf das Keyword ist ‘Yes Sir?’. Hier hat man die Möglichkeit dies mit [Y] zu ändern. Ansonsten mit [N] zur nächsten Frage springen.
‘Do you want to test and set up the speech recognition options?‘ Hier sollte man testen, ob das Mikrofon auch funktioniert und voicecommand auf das Keyword reagiert. Hier kann man ebenfalls auch das Keyword ändern. Dieses ist Standardmäßig auf ‘pi’ eingestellt, was ganz gut funktioniert.
Nun ist voicecommand erfolgreich installiert.
Voicecommand benutzen
Voicecommand starten1 voicecommand -c -k pi -v -b0 -i |
Nun kann man das Keyboard sagen, welches standardmäßig auf ‘pi’ eingestellt ist. Daraufhin sollte man ein ‘Yes Sir?’ hören. Anschließend kann der gewünschte Befehl ausgeführt werden.
Die Befehle kann man in der ‘commands.conf’ Datei hinzufügen oder ändern. Diese ist in PiAUISuite/Voicecommand hinterlegt.
Öffnen kann man die Datei z.B mit dem Nano Editor
1 sudo nano /home/pi/PiAUISuite/VoiceCommand/commands.conf |
Hier stehen schon einige Befehle. Um einen Befehl hinzuzufügen, der z.B einen GPIO über WiringPi schaltet gibt man folgendes ein:
1 Licht an==gpio -g write 17 1 |
die ‘==’ Zeichen bezeichnen dabei einen eindeutigen Befehl. Möchte man die Wörte organisch in einem Satz benutzen wie z.B ‘Schalte bitte das Licht an’, stellt man ein ‘~’ voran. Also z.B
1 ~Licht an==gpio -g write 17 1 |
Nun kann man seiner Kreativität freien lauf lassen und Befehle oder Skripte über Spracheingabe ausführen.