AA_megafon_123rf-13649022_OlgaYastremska.jpg

© Olga Yastremska, 123RF

Klare Ansage

Linux via Spracheingabe bedienen

28.02.2013
Zwar können Sie Simon keine Briefe oder ärztlichen Befunde diktieren, doch mithilfe der leistungsfähigen Sprachsteuerung folgt Ihnen der Rechner ab sofort aufs Wort.

Unter Windows und Mac OS X ist es seit langem gang und gäbe, den PC nicht nur über Tastatur und Maus zu bedienen, sondern auch per Sprache. Linux holt hier seit einigen Jahren auf, auch dank des gemeinnützigen Vereins "Simon listens"  [1]. Der wurde von Franz Stieger gegründet und agiert als treibende Kraft hinter der Spracherkennungssoftware Simon.

Ursprünglich war die bereits seit mehreren Jahren entwickelte Anwendung dafür gedacht, körperbehinderten Menschen die Benutzung eines PCs zu erleichtern. Dieses Ziel verfolgt der Verein nach wie vor, aber die Entwickler haben auch einige zusätzliche Anwendungsgebiete für ihre Software entdeckt. Dazu zählen verbale Steuerungssysteme, die älteren Menschen die einfache Nutzung moderner Kommunikationstechnologien ermöglichen oder mit denen sich Roboter, Rollstühle oder Lifte via Spracheingabe bedienen lassen. Wer dagegen vorhat, dem PC seine Texte zu diktieren, wird mit Simon nicht glücklich werden und muss sich nach anderen Lösungen umsehen.

Seit April 2012 ist Simon ein offizielles KDE-Projekt [2] und nutzt somit auch die KDE-Infrastruktur. Die Spracherkennungssoftware folgt dem Client/Server-Prinzip. Sie besteht aus mehreren Komponenten und greift auf verschiedene andere Programme zurück, wie etwa das Spracherkennungstoolkit CMU Sphinx [3], die Spracherkennungsengine Julius [4] mit dem Hidden Markov Model Toolkit (HTK, [5]) und das Aussprachewörterbuch Hadi-Bomp [6]. Zu den Bestandteilen der Anwendung gehören neben dem Frontend Simon und dem Daemon Simond auch der Simon Acoustic Modeller Sam und der Simon Sample Collector SSC.

Simon installieren

Am einfachsten klappt die Installation für Nutzer der OpenSuse-Entwicklerversion: Für diese gibt es im OpenSuse Build Service Binärpakete [10], die sich mit den distributionseigenen Paketwerkzeugen installieren lassen.

Verwenden Sie eine andere Distribution, klonen Sie die Quelltexte aus dem KDE-Git (Listing 1) beziehungsweise holen sich das Tar-Archiv [11] und packen es aus. Dann wechseln in das neu entstandene Verzeichnis und starten das darin liegende Script build.sh beziehungsweise build_ubuntu.sh. Eventuell gilt es vorab noch einige Abhängigkeiten [12] aufzulösen, damit die Installation fehlerfrei durchläuft.

Um alle Funktionen des Spracherkennungsfrontends voll auszureizen, benötigen Sie zusätzlich entweder CMU Sphinx (sphinxbase, pocketsphinx und sphinxtrain jeweils in einer Version größer 0.8) oder Julius mit dem HTK sowie Entwicklerpakete von OpenCV, Libsamplerate, QAccessibilityClient und Libkdepimlibs4. Seit der Version 0.4 verwendet Simon in der Vorgabe die CMU-Sphinx-Engine als Backend zur Spracherkennung, unterstützt aber auch weithin Julius und das proprietäre HTK vollständig.

Listing 1

$ git clone git://anongit.kde.org/simon simonsource

Simon starten

Nach der Installation erscheint Simon im Startmenu der Desktop-Umgebung unter Eingabehilfen. Alternativ starten Sie die Anwendung mit dem Befehl simon auf der Kommandozeile. Beim ersten Start erscheint ein Assistent, der sie bei der Einrichtung unterstützt (Abbildung 1). Hier legen Sie fest, welche Szenarien und Sprachmodelle Simon später standardmäßig lädt, wo sich der Spracherkennungsserver Simond befindet und ob er automatisch starten soll.

Abbildung 1: Ein Konfigurationsassistent erleichtert das Einrichten von Simon.

Simond kümmert sich darum, dass die Spracheingaben der Clients ausgewertet werden. Standardmäßig läuft er auf dem selben Rechner wie Simon und lauscht am Port 4444. Wie es sich für einen Server gehört, darf er aber auch auf einem separaten Rechner laufen und mehrere Clients bedienen, weshalb es später eventuell noch passwortgeschützte Nutzer anzulegen gilt.

In einem weiteren Schritt konfigurieren Sie die Soundkarte (Abbildung 2) und finden Sich dann im Hauptfenster der Anwendung wieder (Abbildung 3).

Abbildung 2: Mehrere Soundkarten und Mikrofone in USB-Webcams stellen für Simon kein Problem dar.
Abbildung 3: Verfügbare Szenarien, erkannte Worte, Verbindungsstatus: Im Hauptfenster präsentiert Simon übersichtlich alle Informationen. Viele Funktionen erreichen Sie von hier aus per Mausklick.

Modellpflege

Um gesprochene Worte zu erkennen, greift Simon auf akustische Modelle ("Basismodelle") zurück. Diese gibt es in den drei Kategorien statisch, angepasst oder komplett nutzergeneriert. Die vorgefertigten statischen Modelle lassen sich nicht auf einzelne Nutzer zuschneiden: Damit sie korrekt funktionieren, muss der Anwender so sprechen, wie es die Urheber des Modells vorgesehen haben.

Auch angepasste Modelle liegen bereits vorgefertigt vor, lassen sich aber vom Nutzer noch für seine Stimme und Sprechweise trainieren – das erhöht die Treffergenauigkeit. Komplett nutzergenerierte Modelle müssen Sie zwar selbst erstellen, doch dafür bieten sie die höchste Trefferquote und eignen sich bestens auch für Individuen mit Sprachproblemen oder starken Dialekten.

Der Einsatz angepasster und nutzergenerierter Modelle setzt das Verwenden einer Spracherkennungsengine wie CMU Sphinx oder Julius voraus. Vorsicht: Die beiden verwenden nicht kompatible Modelle, weswegen sich ein Engine-Wechsel bei einem gut trainierten Modell nicht empfiehlt. Simon erkennt in der aktuellen Version das verwendete Modell und wählt automatisch das richtige Backend aus. Gute Anlaufstellen für für adaptierbare Modelle bieten die Download-Funktion von Simon unter Settings | Configure Simon | Sprachmodelle | Open model | Download oder das Voxforge-Projekt [7].

Von Voxforge heruntergeladene Modelle müssen Sie zunächst importieren. Um etwa das deutsche CMU-Sphinx-Modell zu nutzen, laden sie es von Voxforge herunter und entpacken es. Anschließend wählen Sie in der Konfiguration bei den Sprachmodellen anstelle des Downloads den Punkt Create from model files und geben die Pfade zu den nötigen Dateien an. Für andere verfügbare Sprachen oder Julius-Modelle klappt das Verfahren analog.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 5 Heftseiten

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

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare

Infos zur Publikation

title_2014_10

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

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 4 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...