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
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 02/2016: Alt-PCs flott machen

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!       

Der Tipp der Woche

Schon gewußt?

14.11.2015

Auch unter Ubuntu 15.10 kann man wieder mit dem Startmedienersteller (alias Startup Disk Creator) ein Live-System auf einem USB-Stick einrichten. ...

Fehler des Startmedienerstellers von Ubuntu 15.10 umgehen

Aktuelle Fragen

Leap 42.1 und LibreOffice
Heinz Kolbe, 09.02.2016 21:54, 0 Antworten
Moin moin, auf meinem Notebook habe ich Leap 42.1 und Win 10 installiert. Alles läuft rund nur...
Tails Update
Val Lerie, 11.01.2016 10:51, 0 Antworten
Hallo zusammen, updaten > update Speichern unter > Persistent nicht möglich, mit der Meldung;...
Recoll
Jürgen Heck, 20.12.2015 18:13, 4 Antworten
Wie kann man mit Recoll nach bestimmten Zeichen/Satzzeichen bzw. Zeichenkombinationen suchen, z....
Wings Platinum 4 auf Linux?
Bodo Steguweit, 18.12.2015 11:37, 4 Antworten
Hallo in die Runde ich nutze für meine Diashows Wings Platinum 4 als Diareferent. Arbeite jetzt...
Bandbreite regulieren
Georg Armani, 25.11.2015 16:50, 1 Antworten
Hallo, ich bin ein Neuling in Sachen Linux und hoffe auf Hilfe. Ich habe zwei Windows Rechner...