Vorbereitungen
Spracherkennungssoftware installieren und einrichten
FreeSpeedSpeech
Die Sprachsteuerung
Vorbereitungen
Benötigt werden:
ein Windows-Pc
ein Mikrophon
Spracherkennungssoftware
(in diesem Tutorial: SmartWord Command & Control Edition)
Interfaceansteuerungssoftware
(FreeSpeedSpeech, auch selbstprogrammiert möglich...)
Mikrophontest
Bevor Sie die Spracherkennungssoftware installieren, sollten Sie ihr
Mikrophon testen.
Verwenden Sie dazu ein Audioaufzeichnungsprogramm, der Windows-Audio-
Recorder ist dazu vollkommen ausreichend.
(Auf den meisten System hier zu finden:
Start->Programme->Zubehör->Unterhaltungsmedien->Audiorecorder)
Drücken Sie auf Aufnahme (Kreis), Sprechen Sie etwas, dann Stop (Rechteck), Zurückspulen (Doppelpfeil links) und spielen Sie die Aufnahme ab (Pfeil rechts).
Wenn die Qualität schlecht ist liegt das häufig an
Hintergrundgeräuschen (Fenster zumachen etc.!), aber auch am
Mikrophon oder der Aussprache.
(Erstaunlicherweise erkennt er aber oft auch in dialekt gesprochene
Wörter ganz gut...)
Nach einigem Probieren bekommt man meistens eine bracuhbare Qualität und Lautstärke.
Programme herunterladen
Laden Sie die Spracherkennungssoftware von www.ftcommunity.de.vu und FreeSpeedSpeech von www.MarMac.de.vu herunter und entpacken Sie die Archive.
Spracherkennungssoftware installieren und einrichten
Installieren Sie SmartWord mit dem setup-Programm.
Bei Standardeinstellungen finden Sie zum normalen Starten das Hauptprogramm unter Start -> Programme -> SmartWord für Windows -> SmartWord Command + Control Edition
Wichtig:
Das Mikrophon sollte unbedingt schon vor der Installation funktionieren!
Es kann sein dass Sie während der Installation dazu aufgefordert werden, den "Audio Setup Assistenten" zu starten.
Mit diesem kann man die Lautstärke von Mikrophon und Lautsprecher
testen und anpassen.
Außerdem wird ein Qualitätstest durchgeführt.
Aus eigener Erfahrung ist die Erkennungsqualität immer etwas besser
als der Assistent behauptet: Auch wenn er den Test mit "schlecht"
und "absolut unzureichend" kennzeichnet und die Installation
abbrechen will, sind trotzdem oft ncoh brauchbare Ergebnisse
möglich.
Dann den Assisistenten abbrechen und die Installation des Programms
fortsetzen.
Auf jeden Fall wird nach dem Einrichten eines Benutzerkontos ein sog. "Training"-Dialog mit zusammenhanglos erscheinenden Wörtern angezeigt, die man ein oder mehrmals nachsprechen soll.
Es handelt sich um Schlüsselwörter für die Sprachsteuerungssoftware,
das Tarining ist für die spätere richtige Erkennung sehr wichtig.
(Nur wenn er weiß, wie der Benutzer ein Wort ausspricht kann er
es später auch richtig wiedererkennen)
Wichtig:
Die Sprachsteuerung erkennt im Regelfall nur die Stimme einer Person.
Für andere Personen sollte man neue Benutzerkonten einrichten.
(Befehlsmenü->Benutzer->Anlegen)
Der andere Benutzer muss dann allerdings alle Wörter im "Training"
neu einsagen.
FreeSpeedSpeech
Dieses Programm dient als "Vermittler" zwischen der Spracherkennungs- software und dem fischertechnik-Interface.
Genauer genommen hat FreeSpeedSpeech (kurz: fss) gar nichts mit Spracheingabe zu tun, sondern steuert ein Modell auf Tastendrücke der Tastatur.
Wie Sie in Kapitel 4) erfahren werden, erzeugt die Spracherkennungs- software "künstliche" Tastendrücke, mit denen dann fss angesprochen wird.
Ich will die Funktion und das Zusammenspiel der Programme an einem einfachen Modell erklären:
Nehmen Sie einen Motor, befestigen Sie eine Drehscheibe oder ein Rad (oder irgendetwas, woram man die Drehrichtng und Geschwindigkeit des Motors erkennen kann) an der Achse, befestigen Sie das ganze auf einer Platte und schließen Sie den Motor am Interface-Eingang M1 an.
Überprüfen Sie dann die Interfaceverbindung und starten Sie fss.
(Leider ist z.Zt. nur eine Ansteuerung des seriellen Interfaces möglich)
Wenn Sie fss zum ersten Mal starten, sind keine Werte eingestellt,
bei jedem erneuten Start werden die letzten Einstellungen
wiederhergestellt.
Zum löschen dann einfach auf "Einstellungen zurücksetzen" klicken.
Startwerte
Sie können in fss für jeden der 4 Motoren Startrichtung und -Geschwindigkeit einstellen, außerdem Endtaster für Links und rechtslauf.
Stellen Sie jetzt für das Beispiel Die Startrichtung von Motor 1 von "A" (Aus) auf "L" (Links).
Drücken Sie dann zum Starten auf "LOS!".
Der Motor müsste sich jetzt bei richtiger Einstellung drehen.
Zum Stoppen auf "NOT-AUS" klicken.
Ändern Sie dann Testweise mit dem regler die Geschwindigkeit von Motor 1 auf 20% und testen Sie: Die Geschwindigkeitsregulierung ist dieselbe wie in "FreeSpeed".
Diese Startwerte gelten solange, bis man etwas über einen (vorher einprogrammierten) Tastaturbefehl ändert.
Machen Sie jetzt für das Beispiel die Änderungen mit "Einstellungen zurücksetzen" wieder rückgängig.
Tastaturbefehle
Wir wollen jetzt folgendes einstellen:
Bei Druck auf die Taste "Q" soll sich der Motor Links drehen,
bei "W" stoppen und bei "E" rechts drehen.
Setzen Sie dazu den Cursor in das kleine Eingabefeld neben dem "Neu:"-
Button oben und drücken Sie die Taste "Q" (kleinbuchstabe!).
Klicken Sie dann auf "Neu:", und das "q" wird der Liste links
hinzugefügt.
Stellen Sie jetzt gleich darunter bei "Aktion bei dieser Taste" "Motorstatus ändern" ein.
Daraufhin erscheinen weitere Auswahlmöglichkeiten.
Machen Sie jetzt an den Motor, den Sie ändern möchten (also Motor 1) ein Häkchen und stellen Sie daneben die Drehrichtung "L" ein.
Fahren Sie jetzt mit der nächsten Taste ("W") auf die gleiche Weise
fort:
Tippen Sie "a" in das Eingabefeld neben "Neu:", klicken Sie den
"Neu:"-Button, Stellen Sie "Motorstatus ändern" ein,
machen Sie das Häkchen bei Motor 1 und stellen Sie die Richtung
auf "A".
Dasselbe dann gleich nochmal mit der Taste "E" und der Richtung "R" (Rechts).
Wenn alles geklappt hat können Sie auf "LOS!" klicken.
Sie können jetzt die Drehrichtung des Motors mit den Tasten q, w, e ändern.
Stoppen Sie das programm ("NOT-AUS"), und stellen Sie jetzt zusätzlich
noch eine Geschwindigkeitsänderung ein:
Wir wollen die Taste "R" für 50% und "T" für 100%.
Erstellen Sie also einen Eintrag für die Taste "R", dann aber nicht "Motorstatus ändern", sondern "Geschwindigkeiten ändern".
Auch hier muss man den gewünschten Motor ankreuzen, kann dann aber
anstatt der Richtung die gewünschte Geschwindigkeit einstellen.
Stellen Sie für "R" 50% ein, danach analog für "T" 100%.
Testen Sie jetzt das Programm, die Geschwindigkeitsänderung ist auch
dann wirksam, wenn der Motor gerade ausgeschaltet ist.
(Sie wirkt sich dann aber natürlich erst beim wieder einschalten aus)
Sie können Einstellunegn jederzeit ändern, wählen Sie einfach die entsprechende Taste in der Lsite aus, fss "merkt" sich alle Einstellungen sofort.
Wenn Sie aus versehen eine Taste doppelt eintragen oder löschen wollen:
Eine Löschfunktion ist (noch) nicht integriert, allerdings können Sie
einen der Einträge dadurch unwirksam machen, indem Sie einfach
bei "Motorstatus ändern" alle Häkchen bei den Motoren entfernen:
Dadurch wird der Eintrag einfach übersprungen.
Man kann das Doppeltverwenden auch ausnutzen, z.B. wenn man
mit einem einzigen Befehl sowohl Drehrichtung als auch
Geschwindigkeit ändern will.
Es werden immer beide (alle) Einträge ausgeführt, und zwar in der
Reihenfolge wie sie in der Liste stehen.
Sobald alles mit der Tastatur wie gewünscht funktioniert können Sie mit dem letzen (und wesentlichen!) Schritt weitermachen.
Notieren Sie ggf. welche Aktion bei welcher Taste (und welchem gesprochenen Wort später) ausgeführt werden soll.
Die Sprachsteuerung
Jetzt muss man noch die Spracherkennungssoftware dazu bringen, die Tastendrücke vorzutäuschen, um fss zu steuern.
Starten Sie dazu die SmartWord Command & Control Edition, und bringen Sie das fss-Fenster wieder in den Vordergrund, sobald die SmartWord-Kontrolleiste am oberen Bildschirmrand erscheint.
Steuerung mit Buchstabenbezeichnern
Für das Motordrehung-Beispiel sollten Sie die Sprachsteuerung zunächst einmal mit den in SmartWord einprogrammierten Buchstabenbezeichnern versuchen:
SmartWord kennt standardmäßig eine Reihe Wörter (meistens Namen), die einen Tastendruck vortäuschen (und zwar jeweils die Anfangs- Buchstaben dieser Wörter).
Bsp:
A: Anton, B: Berta, C: Cäsar...
Diese Buchstabenbezeichner werden in der Regel sehr sicher erkannt (oft sogar fälschlicherweise...)
Eine vollständige Liste der Bezeichner finden Sie in der SmartWord-
Hilfe:
Befehlsmenü->Hilfe->Inhalt, Referenzthemen->Buchstabieralphabet.
Damit können Sie sofort einen Versuch starten:
Schalten Sie (falls nötig) das Mikrophon ein, überprüfen Sie ob
der Mikrophonbalken in der SmartWord-Kontrollleiste gelb ist
(Wenn nicht: Klicken Sie auf die Mikrophonschaltfäche oder
drücken Sie + auf der numerischen Tastatur, um die Spracherkennung
zu aktivieren.
Starten Sie dann das bereits richtig programmierte fss mit "LOS!".
Die Buchstabenbezeichner für das Beispielprogramm sind folgende:
Motor Links: | Q: | "Quelle" |
Motor Aus: | W: | "Wilhelm" |
Motor Rechts: | E: | "Emil" |
Geschw. 50%: | R: | "Richard" |
Geschw. 100%: | T: | "Theodor" |
Mit diesen 5 Wörtern müssten Sie jetzt bereits den Motor steuern können!
Fehlerdiagnose:
Wenn überhaupt nichts erkannt wird:
Überprüfen Sie, ob die Sprachsteuerung etwas erkennt:
Erkannte Wörter werden in der SmartWord-Kontrollleiste
Rechts angezeigt.
Wenn SmartWord etwas nicht versteht, steht dort {???}.
Dann: Nochmals sprechen, wenn er auch nach mehreren versuchen
nichts erkennt:
Mikrophontest wie in Kapitel 1) beschrieben wiederholen.
Wenn das Wort von SmartWord richtig erkannt wird:
Prüfen Sie, ob fss im Vordergrund und eingeschaltet (auf "LOS")
ist und der Cursor sich im hervorgehobenen Eingabefeld befindet.
Wenn das alles der Fall ist: Programmierung überprüfen!
Funktioniert es mit der Tastatur?
(Wenn ja: es muss klappen! Wenn nein: Schauen was falsch
programmiert / ob etwas abgestorben ist)
Wenn falsche Wörter erkannt werden:
(Rechts in der Kontrollleiste steht ein vielleicht ähnlich klingendes,
aber falsches Wort)
Um den Fehler weiterhin zu vermeiden, sollten Sie die Korrektur-
funktion von SmartWord verwenden:
Sagen Sie dazu entweder "Hoppla!" ins Mikrophon oder, wenn das auch
nicht/falsch erkannt wird, rufen Sie den Korrekturdialog manuell
auf: Befehlsmenü->Hilfsmittel-Wortliste [Hoppla].
Dort sehen Sie in der oberen, horizontalen Leiste die letzen
10 Wörter, die Smartword erkannt hat.
Das Programm bietet jetzt unter dem letzten Wort eine vertikale
Auswahlliste an, in der einige Vorschläge für das Wort
stehen. Wenn das tatsächlich gesprochene Wort dabeisteht:
Darauf doppelklicken und er wird es sich (hoffentlich)
merken.
Wenn es nicht dabeisteht: die {???} unten auswählen, besser
nichts erkennen als falsch erkennen...
Eigene Wörter in SmartWord einprogrammieren
War der vorige Versuch (mehr oder weniger) Erfolgreich, können Sie eigene, aussagekräftigere Wörter zur Sprachsteuerung definieren.
Dazu sollte fss laufen und im Vordergrund sein, allerdings nicht auf "LOS". (ggf. "NOT-AUS" drücken).
In der SmartWord-Kontrolleiste sollte in der Mitte "FREESP~1" oder etwas in dieser Art stehen.
Klicken (oder sprechen!) sie dann:
Befehlsmenü->Hilfmittel->Vokabularverwaltung.
Ein umfangreicheres Fenster mit Wortlisten öffnet sich.
Suchen Sie in der Liste links "FREESP~1" (oder eben das, was vorhin in der Kontrolleiste stand) und klicken Sie darauf.
Im rechten Fenster finden Sie alle bisher einprogrammierten Wörter, d.h. beim ersten Versuch keine.
Wir wollen jetzt folgende Wörter definieren:
"Links" (Q)
"Stop" (W)
"Aus" (W)
"Rechts" (E)
"halbe Geschwindigkeit" (R)
"volle Geschwindigkeit" (T)
Klicken Sie dazu im Menü der Vokabularverwaltung Wort->Wort hinzufügen.
Tippen Sie unter "Wortname" das ein, was Sie nacher sprechen möchten
(Also: "Links").
Tippen Sie dann in das weiße Eingabefeld unten "q".
("Ausgabe folgender Tastatureingabe" aktiviert lassen)
Klicken Sie dann auf Ok.
Es kommt eine Meldung, dass "Links" in "[Links]" umgewandelt wird, diese sollten Sie bestätigen.
Das Wort wurde jetzt der Liste hinzugefügt.
Verfahren Sie mit den anderen Aktionen wieder genauso:
Wort hinzufügen, Wort eintippen, buchstabe eintippen, ok, ja,
nächstes Wort...
Wenn alles eingetragen ist, sind die Befehle eigentlich schon
benutzungsbereit.
Sie sollten aber auf jeden Fall die Wörter vorher in SmartWord
"eintrainieren", damit er sie zuverlässig erkennt.
Klicken Sie dazu im Menü Gruppe->Trainieren.
Es kommt wieder der bekannte Dialog, in dem Sie die einzelnen Wörter mehrfach nachsprechen dürfen.
(Hinweis: es ist mir vorgekommen, dass manche Befehle mit
"Training beenden" verwechselt wurden und dadurch das Training
vorzeitig abgebrochen wurde... dann auf jeden Fall "Hoppla!",
korrigieren und das Training wiederholen.
Sollte es wiederholt falsch erkennen, ist es vielleicht sinnvoll
einen Befehl für die Aktion zu verwenden, der anders klingt.)
Wenn das Training erfolgreich abgeschlossen ist, können Sie fss mit "LOS!" starten und es müsste alles funktionieren.
Viel Spaß beim Steuern!
Impressum:
Markus Mack