AA_shout_nem_youth_sxc_715294.jpg

© Nem_youth, sxc.hu

Per Sprache den Computer steuern

Mach Mail!

Besitzer eines iPhones brauchen nur laut einen Wunsch zu äußern, und schon legt das Programm Siri mit der Arbeit los. Wer den Linux-Desktop ähnlich herumkommandieren möchte, braucht die passende Software – und viel Geduld.

Ein strammes "Starte Browser" ins Mikrofon gebellt, und schon startet Firefox – genau das versprechen die fünf freien Programme Blather, FreeSpeech, Palaver, Simon und Vedics. Damit möchten sie die Eingabe erleichtern und nebenbei behinderten Menschen beim Bedienen des Desktops helfen.

Bei vieren davon – die Ausnahme ist Vedics – dürfen Sie selbst bestimmen, welches Kommando welche Aktion auslöst. Ein "Starte Browser" wäre also durchaus geeignet, um einen Texteditor aufzurufen – verwirrend, aber möglich.

Die fünf Applikationen analysieren die Sprache nicht selbst, sondern überlassen das einer weiteren Software. In der Regel kommt dabei Pocketsphinx [1] von der Carnegie Mellon University (CMU) zum Einsatz. Eine solche Hilfe bei der Analyse bezeichnen die Anwendungen allgemein als Backend oder Engine. Blather, FreeSpeech, Palaver und Vedics stehen unter der Lizenz GNU GPLv3, Simon verwendet noch die Version 2 der gleichen Lizenz.

Blather

Extrem einfach gestrickt kommt das in Python programmierte Blather [1] daher. Um es in Betrieb zu nehmen, installieren Sie zunächst über das Paketmanagementsystem die Archive von Pocketsphinx, Python-Gstreamer und Python-Gtk (unter Ubuntu: python-gtk2, python-gst0.10 und pocketsphinx). Falls Pocketsphinx der von Ihnen verwendeten Distribution nicht beiliegt, folgen Sie den Anweisungen aus dem Kasten "Dreiteilige Sphinx".

Dreiteilige Sphinx

Spielen Sie zunächst die Pakete für Bison und gegebenenfalls für Perl ein. Laden Sie aus dem Web [14] (oder von der Media-Edition dieser Ausgabe beiliegendem Datenträger) die Pakete sphinxbase, pocketsphinx und sphinxtrain herunter. Entpacken Sie diese, und installieren Sie sie jeweils über den klassischen Dreisatz (Listing 1), wobei Sie mit dem Base-Paket beginnen.

Listing 1

$ ./configure
$ make
$ sudo make install

Laden Sie auf Gitorious [2] den aktuellen Entwicklungsstand von Blather herunter. Nach dem Entpacken des Archivs benennen Sie die Datei commands.tmp in commands um und tragen in ihr mit einem Texteditor die gewünschten englischsprachigen Befehle ein. Dabei beginnt jede Zeile mit einem Sprachbefehl in Großbuchstaben, dem ein Doppelpunkt und der auszuführende Shell-Befehl folgt.

Legen Sie anschließend das Verzeichnis ~/.config/blather an, kopieren Sie die Datei commands dort hinein und rufen Sie im Blather-Verzeichnis ./Blather.py auf. Sobald das Programm abgestürzt scheint, beenden Sie es mit [Strg]+[C]. Laden Sie die Datei ~/.config/blather/sentences.corpus auf der Seite des Sphinx Knowledge Base Tools [3] hoch.

Nach einem Klick auf Compile Knowledge Base speichern Sie im Verzeichnis ~/.config/blather/language die generierte Datei mit der Endung .lm unter dem Namen lm und die Datei mit der Endung .dic unter dem Namen dic. Jetzt haben Sie die Möglichkeit, Blather in seinem Verzeichnis mit ./Blather.py -i g zu starten.

Das Programm zeigt das äußerst übersichtliche Hauptfenster (Abbildung 1). Nach einem Mausklick auf Listen lauscht es am Mikrofoneingang auf genau einen Befehl. Alternativ schalten Sie die Software in einen Continuous-Modus, in dem sie dauerhaft zuhört. Weitere Funktionen gibt es nicht, die Rate beim Erkennen von Kommandos fällt gerade noch akzeptabel aus.

Abbildung 1: Das Hauptfenster von Blather bietet lediglich die Möglichkeit, die Sprachsteuerung zu starten und zu stoppen.

FreeSpeech

Im Gegensatz zu den anderen vier Programmen arbeitet das wie Blather in Python geschriebene FreeSpeech standardmäßig als Diktiergerät: Nach dem Start öffnet es einen rudimentären Texteditor, in dem alle ins Mikrofon gesprochenen Wörter landen. Spezielle Sprachbefehle bieten die Möglichkeit, den Text noch nachzubearbeiten. So löscht etwa editor clear den bislang erkannten Text.

Eine Übersicht über alle Kommandos zeigt das Fenster nach dem Start an (Abbildung 2). Dort ändern Sie bei Bedarf mit einem Doppelklick ein Kommando ab. Ab der Version 120 bietet FreeSpeech zusätzlich die Option, andere Programme über virtuelle Tasten zu steuern. Dazu klicken Sie im Fenster mit dem Texteditor auf Send keys und sprechen die zu drückende Kombination ins Mikrofon.

Abbildung 2: Nach dem Start zeigt FreeSpeech alle Kommandos an, mit denen Sie den diktierten Text manipulieren und sogar als Textdatei speichern.

FreeSpeech verdaut ausschließlich englische Wörter, wobei die Rate beim Erkennen nicht besonders gut ausfällt. So machte das im Hintergrund werkelnde Pocketsphinx in unserem Test aus einem deutlich gesprochenen "Hello World" zunächst ein "An over To open" (Abbildung 3), beim zweiten Versuch hingegen ein "An adult wall".

Abbildung 3: FreeSpeech zeigte beim gesprochenen "Hello World" ein äußerst kreatives Ergebnis.

Es besteht laut Dokumentation die Möglichkeit, die Erkennungsrate zu verbessern, indem Sie im Editor den falschen Text mit der Tastatur korrigieren und dann auf Learn klicken. In den Tests produzierte das jedoch stets zahlreiche Fehlermeldungen. Auch das Steuern anderer Programme funktionierte nicht, sämtliche Eingaben landeten weiterhin als wirrer Text im Editor.

Um FreeSpeech in Betrieb zu nehmen, spielen Sie zunächst über den Paketmanager Python-Gtk2, Python-Xlib, Python-Simplejson, Python-Gstreamer, Pocketsphinx und Sphinxbase ein. Unter Ubuntu stecken diese in den Paketen python-xlib, python-simplejson, python-gtk2, python-gst0.10, python-pocketsphinx und gstreamer0.10-pocketsphinx. Falls Sie Pocketsphinx nicht in den Repositories der von Ihnen verwendeten Distribution finden, folgen Sie wie bei Blather den Angaben im Kasten "Dreiteilige Sphinx".

Laden Sie das Pocketsphinx-Archiv aus dem Web [4] (oder vom beiliegenden Datenträger) herunter und entpacken Sie es auf der Festplatte. Öffnen Sie das Makefile aus dem Unterverzeichnis CMU-Cam_Toolkit_v2/src mit einem Texteditor und entfernen Sie in der Zeile

#BYTESWAP_FLAG  = -DSLM_SWAP_BYTES

das Hash-Zeichen (#) am Anfang. Nach dem Speichern öffnen Sie ein Terminal, wechseln in das Unterverzeichnis CMU-Cam_Toolkit_v2/src und rufen make install auf. Die dabei erstellten Programme im Ordner CMU-Cam_Toolkit_v2/bin kopieren Sie in ein Verzeichnis, das in der Umgebungsvariablen $PATH enthalten ist, wie etwa /usr/local/bin.

Laden Sie ebenfalls aus dem Web [5] das FreeSpeech-Archiv herunter (achten Sie auf das Veröffentlichungsdatum unter ReleaseDate). Entpacken Sie das ZIP-Archiv auf der Festplatte und starten Sie im entstandenen Verzeichnis die Software via python freespeech.py.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 10/2016: Kryptographie

Digitale Ausgabe: Preis € 0,00
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Aktuelle Fragen

zweites Bildschirm auf gleichem PC einrichten
H A, 30.09.2016 19:16, 2 Antworten
Hallo, ich habe Probleme mein zweites Bildschirm einzurichten.(Auf Debian Jessie mit Gnome) Ich...
Probleme mit MPC/MPD
Matthias Göhlen, 27.09.2016 13:39, 2 Antworten
Habe gerade mein erstes Raspi Projekt angefangen, typisches Einsteigerding: Vom Raspi 3B zum Radi...
Soundkarte wird erkannt, aber kein Ton
H A, 25.09.2016 01:37, 6 Antworten
Hallo, Ich weiß, dass es zu diesem Thema sehr oft Fragen gestellt wurden. Aber da ich ein Linu...
Scannen nur schwarz-weiß möglich
Werner Hahn, 20.09.2016 13:21, 2 Antworten
Canon Pixma MG5450S, Dell Latitude E6510, Betriebssyteme Ubuntu 16.04 und Windows 7. Der Canon-D...
Meteorit NB-7 startet nicht
Thomas Helbig, 13.09.2016 02:03, 4 Antworten
Verehrte Community Ich habe vor Kurzem einen Netbook-Oldie geschenkt bekommen. Beim Start ersch...