AA_shout_nem_youth_sxc_715294.jpg

© Nem_youth, sxc.hu

Mach Mail!

Per Sprache den Computer steuern

19.12.2013
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
 

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 01/2015: E-Books im Griff

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

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

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

PCLinuxOS Version 2014.08 "FullMonty" Umstellung auf deutsch
Karl-Heinz Welz, 19.12.2014 09:55, 3 Antworten
Hallo, liebe Community, ich bin 63 Jahre alt und möchte jetzt nach Jahrzehnten Windows zu Linux...
ICEauthority
Thomas Mann, 17.12.2014 14:49, 2 Antworten
Fehlermeldung beim Start von Linux Mint: Could not update ICEauthority file / home/user/.ICEauth...
Linux einrichten
Sigrid Bölke, 10.12.2014 10:46, 5 Antworten
Hallo, liebe Community, bin hier ganz neu,also entschuldigt,wenn ich hier falsch bin. Mein Prob...
Externe USB-Festplatte mit Ext4 formatiert, USB-Stick wird nicht mehr eingebunden
Wimpy *, 02.12.2014 16:31, 0 Antworten
Hallo, ich habe die externe USB-FP, die nur für Daten-Backup benutzt wird, mit dem YaST-Partition...
Steuern mit Linux
Siegfried Markner, 01.12.2014 11:56, 2 Antworten
Welches Linux eignet sich am besten für Steuerungen.