Das Handbuch zu Simon
Transcription
Das Handbuch zu Simon
Das Handbuch zu Simon Peter H. Grasch Deutsche Übersetzung: Peter Grasch Das Handbuch zu Simon 2 Inhaltsverzeichnis 1 Einführung 2 Übersicht 2.1 Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Benötigte Ressourcen für eine funktionierende Simon-Einrichtung . . . . . . . . . . 2.2.1 2.2.2 9 Szenarien . . . . . . . . . . . . . . . . . . . Akustikmodell . . . . . . . . . . . . . . . . 2.2.2.1 Backends . . . . . . . . . . . . . . 2.2.2.2 Arten von Basismodellen . . . . . 2.2.2.2.1 Statisches Basismodell . 2.2.2.2.2 Angepasstes Basismodell . . . . . . 12 12 13 13 13 14 Benutzergeneriertes Modell . . . . . . . . . . . . . . . . . 14 2.2.2.3 Voraussetzungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2.2.4 2.2.2.5 Woher Sie Basismodelle erhalten . . . . . . . . . . . . . . . . . . . Probleme mit Phonem-Sätzen . . . . . . . . . . . . . . . . . . . . . 14 15 Simon als normaler Benutzer verwenden 3.1 Einrichtungsassistent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 16 2.2.2.2.3 3 3.2 3.3 3.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 10 11 3.1.1 3.1.2 3.1.3 3.1.4 Szenarien . . . . . Basismodelle . . . Server . . . . . . . Sound-Einrichtung . . . . . . . . 17 18 19 19 3.1.5 Lautstärkeanpassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Das Hauptfenster von Simon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.2.1 Hauptfenster: Szenarien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.2.2 Hauptfenster: Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.2.3 Hauptfenster: Akustikmodell . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.2.4 Hauptfenster: Erkennung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Szenarien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Szenarien importieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 23 3.3.2 Szenarien entfernen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aufnahmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1 Lautstärke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 24 24 Das Handbuch zu Simon 3.4.2 3.4.3 3.4.4 3.4.5 3.5 3.6 3.7 3.4.1.1 Lautstärkeanpassung für Simon . . . . . . . . . . . . . . . . . . . . 24 3.4.1.2 Lautstärkeanpassung für Audacity . . . . . . . . . . . . . . . . . . 25 . . . . 26 28 28 28 Aufnahmen beisteuern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Trainingsdaten verwalten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 30 3.6.1 Trainingsaufnahmen bearbeiten . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.6.2 Trainingsdaten löschen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.6.3 Trainingsaufnahmen importieren . . . . . . . . . . . . . . . . . . . . . . . . . 32 Einrichtung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.7.1 Allgemeine Einrichtung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.7.2 Aufnahmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7.2.1 Geräteeinstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 34 3.7.2.2 Stimmaktivitätserkennung . . . . . . . . . . . . . . . . . . . . . . . 36 3.7.2.3 Trainingseinstellungen . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.7.2.4 Nachbearbeitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.7.2.5 Kontext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sprachmodell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 40 3.7.3.1 3.7.3.2 Basismodell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Trainingsdaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 42 3.7.3.3 Sprachenprofile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.7.4 Modellerweiterungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.7.5 Erkennung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.7.5.1 Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7.5.1.1 Allgemein . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 44 3.7.5.1.2 Netzwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7.5.2 Abgleichen und Modell-Sicherung . . . . . . . . . . . . . . . . . . 45 46 Aktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7.6.1 Erkennung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 47 3.7.6.2 Dialog-Schriften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.7.7 3.7.6.3 Listen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sprachausgabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 49 3.7.8 3.7.7.1 Backends . 3.7.7.2 Aufnahmen 3.7.7.3 Web-Dienst Social-Desktop . . . . . . . 49 49 50 51 3.7.9 Webcam-Einrichtung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.7.10 Erweitert: Erkennungsparameter manuell anpassen . . . . . . . . . . . . . . 51 3.7.10.1 Julius . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.7.3 3.7.6 Stille . . . . . . . . . . . . . . . . . Inhalt . . . . . . . . . . . . . . . . . Mikrofone . . . . . . . . . . . . . . Qualitätskontrolle der Aufnahmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Das Handbuch zu Simon 4 Erweitert: Neue Szenarien mit Simon erstellen 4.1 Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 53 4.2 Spracherkennung: Hintergrundwissen . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.2.1 Sprachmodell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.2.1.1 4.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 55 55 55 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 56 57 58 59 Szenarien bearbeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Szenarien exportieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 60 Vokabular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.1 Wörter hinzufügen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 63 4.2.1.2 Grammatik . . . . . . 4.2.2 Akustikmodell . . . . . . . . . Szenarien . . . . . . . . . . . . . . . . . 4.3.1 Hierarchien für Szenarien . . . 4.3.2 Ein neues Szenario hinzufügen 4.3.3 4.3.4 4.4 4.4.1.1 4.6 . . . . . . . . . . . . . . . Definition des Wortes . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.1.1.1 Manuelle Auswahl einer Kategorie . . . . . . . . . . . . . 63 65 4.4.1.1.2 65 Phonetische Transkription manuell angeben . . . . . . . . 4.4.1.2 Wörter trainieren Wörter bearbeiten . . . . . Wörter entfernen . . . . . . Spezialtraining . . . . . . . . . . . 67 69 69 70 4.4.5 Wörterbücher importieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.4.5.1 4.4.5.2 4.4.5.3 4.4.5.4 4.4.5.5 . . . . . 71 72 72 72 73 Sprachenprofile erstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Grammatik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.1 Eine Grammatik importieren . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 74 4.5.2 Kategorien umbenennen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.5.3 Kategorien zusammenführen . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.6.1 Speicherorte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 4.6.2 Texte hinzufügen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 4.6.2.1 Trainingstexte hinzufügen . . . . . . . . . . . . . . . . . . . . . . . 82 4.6.2.2 Lokale Textdateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . Spezialtraining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 83 Kontext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 4.6.3 4.7 . . . . . 4.4.2 4.4.3 4.4.4 4.4.6 4.5 Vokabular . . . . . . . . . . . 4.2.1.1.1 Aktives Vokabular . 4.2.1.1.2 Schattenwörterbuch 4.2.1.1.3 Sprachenprofile . . . . . . . . . . . . . . HADIFIX-Wörterbuch HTK-Wörterbuch . . . PLS-Wörterbuch . . . . SPHINX-Wörterbuch . Julius-Wörterbuch . . . 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Das Handbuch zu Simon 4.8 4.7.1 4.7.2 Szenarienauswahl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aufnahmegruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 85 4.7.3 Kontext-Bedingungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 4.7.3.1 4.7.3.2 4.7.3.3 Aktives Fenster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gesichtserkennung . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 86 87 4.7.3.4 4.7.3.5 Dateiinhalt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lippenerkennung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 88 4.7.3.6 Verknüpfung durch eine Oder-Bedingung . . . . . . . . . . . . . . 89 4.7.3.7 Geöffneter Prozess . . . . . . . . . . . . . . . . . . . . . . . . . . . . Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8.1 Programm-Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 90 93 4.8.1.1 Programme importieren . . . . . . . . . . . . . . . . . . . . . . . . 94 4.8.2 Orte-Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8.2.1 Orte importieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 95 4.8.3 4.8.4 4.8.5 Kurzbefehle . . . . . . . . . . . . . . . Text-Makro-Befehle . . . . . . . . . . . Listenbefehle . . . . . . . . . . . . . . 4.8.5.1 Anzeige von Listenbefehlen 96 97 98 99 4.8.5.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Einrichtung von Listenelementen . . . . . . . . . . . . . . . . . . . 100 4.8.6 4.8.7 Kombinations-Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Desktopgitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 4.8.8 Zahleneingabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 4.8.9 Diktat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 4.8.10 Künstliche Intelligenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 4.8.11 Taschenrechner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 4.8.12 Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 4.8.13 Aussprachetraining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 4.8.14 Tastatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 4.8.15 Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 4.8.15.1 Dialogentwurf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 4.8.15.2 Dialog: Gebundene Werte . . . . . . . . . . . . . . . . . . . . . . . 117 4.8.15.3 Vorlageneinstellungen . . . . . . . . . . . . . . . . . . . . . . . . . 120 4.8.15.4 Avatare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 4.8.15.5 Ausgabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 4.8.16 4.8.17 4.8.18 4.8.19 Akonadi D-Bus . . JSON . . VRPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 123 124 125 5 Fragen und Antworten 127 6 Danksagungen und Lizenz 128 A Installation 129 6 Das Handbuch zu Simon Tabellenverzeichnis 2.1 2.2 Wie ein Akustikmodell erstellt wird . . . . . . . . . . . . . . . . . . . . . . . . . . . Anforderungen für Basismodelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 14 3.1 Julius-Einrichtungsdateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.1 Beispielvokabular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.2 Beispielvokabular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.3 Verbessertes Beispielvokabular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.4 Beispielvokabular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.5 Verbessertes Beispielvokabular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 7 Zusammenfassung Simon ist eine Open-Source-Spracherkennungslösung. Das Handbuch zu Simon Kapitel 1 Einführung Simon ist das Haupt-Bedienungsoberfläche zu der Open-Source-Spracherkennungslösung „Simon“. Es ist ein Simond-Client und bietet eine grafisches Schnittstelle, um das Sprachmodell und die Befehle zu verwalten. Außerdem kann Simon mit einer Vielzahl von Befehlen auf das Erkennungsergebnis reagieren, das das Programm vom Server (Simond) erhält. Im Gegensatz zu vorhandener kommerzieller Software bietet Simon einen einzigartigen do-ityourself Ansatz für Spracherkennung. Statt mit vordefinierten, bereits trainierten Sprachmodellen wird Simon ohne Sprachmodell ausgeliefert. Stattdessen bietet es eine einfache Benutzeroberfläche für Endbenutzer, um das Sprach- und Akustikmodell selbst zu erstellen. Zusätzlich kann der Endbenutzer die Anwendungsfälle von anderen Benutzern einfach herunterladen und seine eigenen einfach mit anderen Benutzer austauschen. Die aktuelle Version kann dazu benutzt werden, um Lösungen zur Kontrolle und Steuerung verwirklichen, die besonders bei der körperlich eingeschränkten Zielgruppe angewendet werden kann. Ein kontinuierliches freies Diktat ist aufgrund der großen Menge an dafür notwendigen Trainingsdaten in der derzeitigen Version nicht vorgesehen. Wegen der Architektur von Simon kann die selbe Version für alle Sprachen und Dialekte verwendet werden. Der Benutzer kann sogar verschiedene Sprachen innerhalb eines Modells mischen, sollte dies gewünscht sein. 9 Das Handbuch zu Simon Kapitel 2 Übersicht 2.1 Architektur Die Erkennungsarchitektur von Simon besteht aus drei Anwendungen. • Simon Dies ist die wichtigste grafische Benutzerschnittstelle. Es agiert als Client zum Simond-Server. • Simond Der Erkennungsserver. • KSimond Die grafische Benutzerschnittstelle für Simond Diese drei Komponenten bilden eine Server-/-Client Anwendung. Das bedeutet, dass ein Server (Simond) mehrere Clients (Simon; diese Anwendung) bedient, welche über das Netzwerk angebunden sind. KSimond ist nur eine Bedienungsoberfläche für Simond. Das bedeutet, dass es keine zusätzliche Funktionalität zum System einbringt, aber einen Weg bietet, mit Simond über eine grafische Benutzeroberfläche zu interagieren. Neben Simon, Simond und KSimond sind andere, speziellere Anwendungen auch Teil des integrierten Simon-Programmpakets. • Sam Bietet direkten Zugang zum Sprachmodell, um dieses zu testen oder zu generieren. • SSC / SSCd Diese beiden Programme können verwendet werden, um eine große Menge an Sprachdaten von verschiedensten Personen leicht aufzunehmen. • Afaras Diese einfache Dienstprogramm ermöglicht es dem Benutzer, große Korpusse von Sprachdaten auf fehlerhafte Aufnahmen zu überprüfen. Bitte lesen Sie die einzelnen Handbücher dieser Programme mit weiteren ausführlichen Informationen. 10 Das Handbuch zu Simon Simon wird verwendet um eine Repräsentation Ihrer Aussprache und Ihres Wortschatzes zu verwalten. Diese Repräsentation wird dann an den Server Simond geschickt, welcher sie in ein benutzbares Sprachmodell übersetzt (´´kompiliert´´). Simon nimmt mit Hilfe eines Mikrofons dann Ihre Stimme auf und sendet diese Aufnahme an den Server, welcher die Erkennung auf diesen Datenstrom ausführt. Simond sendet dieses Erkennungsergebnis dann zurück an den Client (Simon). Simon benutzt dieses Erkennungsergebnis dann um Befehle auszuführen wie beispielsweise das Öffnen von Programmen oder URLs usw. Simond identifiziert die Verbindung mit einer Kombination aus Benutzernamen und Passwort, die komplett unabhängig vom zugrunde liegenden Betriebssystem und dessen Benutzerkonten ist. Standardmäßig kommt Simond mit einem Standardbenutzer sowohl für Simon als auch Simond, so dass der typische Anwendungsfall von einem Simon-Client mit einem Simond-Server ohne zusätzliche Einstellungen funktioniert. Jeder Simon-Client meldet sich am Server mit einem Benutzernamen und einem Passwort an, das einen eindeutigen Benutzer mit ein eindeutiges Sprachmodell identifiziert. Jeder Benutzer verwaltet sein eigenes Sprachmodell aber kann es von verschiedenen Computern (verschiedene physische Simon-Instanzen) verwenden, indem er den selben Simond-Server verwenden. Eine Simond-Instanz kann natürlich mehrere Benutzer verwalten. Wenn Sie einen Server zum Internet hin öffnen oder mehrere Benutzer auf einem Simond-Server verwenden möchten, müssen Sie den Server entsprechend einrichten. Weitere Informationen finden Sie im Handbuch zu Simond. 2.2 Benötigte Ressourcen für eine funktionierende SimonEinrichtung ANMERKUNG Für Hintergrund-Informationen über Sprachmodelle lesen Sie bitte den Abschnitt Spracherkennung: Hintergrund. Damit die Spracherkennung in Simon funktioniert, muss ein Sprachmodell (engl.: speech model) erstellt werden. 11 Das Handbuch zu Simon Sprachmodelle (speech models) beschreiben, wie Ihre Stimme klingt, wie Wörter klingen, welche Wörter existieren und welche Kombinationen („Sätze” oder „Strukturen”) existieren. Ein Sprachmodell besteht aus zwei Teilen: • Sprachmodell (language model): Beschreibt, welche Wörter existieren und welche Sätze grammatikalisch korrekt sind. • Akustikmodell (acoustic model): Beschreibt, wie Töne (Phoneme) klingen. Sie benötigen beide Komponenten, um die Erkennung in Simon zu aktivieren. In Simon werden Sprachmodelle aus aktiven Szenarien erstellt. Das Akustikmodell wird entweder ausschließlich durch Sprachaufnahmen (Training) oder mit der Hilfe von Basismodellen erzeugt. 2.2.1 Szenarien Ein Szenario bestimmt einen kompletten Anwendungsfall von Simon. Um zum Beispiel Firefox zu steuern, können Sie einfach das Firefox-Szenario installieren. Szenarien legen also fest, auf welche Wörter und Redewendungen geachtet werden soll und welche Aktionen bei der Erkennung durchgeführt werden. Weil Szenarien keine Informationen darüber enthalten, wie die Wörter und Redewendungen wirklich klingen, können Sie weitergegeben werden und ohne Probleme mit anderen SimonAnwendern ausgetauscht werden. Um diesem Anwendungsfall möglichst gut entgegen zukommen, wurde eine Kategorie für Simon-Szenarien auf kde-files.org eingerichtet. Dort können Szenarien, die intern simple Textdateien im XML Format sind, komfortabel hoch- und heruntergeladen werden. In den meisten Fällen sind Szenarien so entwickelt, um optimal mit einem bestimmten Basismodell zusammenzuarbeiten, um Probleme mit den Phonemen zu vermeiden. Informationen, wie Sie Szenarien in Simon verwenden können, finden Sie im Abschnitt Szenarien im Kapitel „Simon verwenden“. 2.2.2 Akustikmodell Wie oben erwähnt, benötigen Sie ein Akustikmodell, um Simon zu aktivieren. Sie können entweder Ihr eigenes Akustikmodell erstellen oder ein Basismodell benutzen und sogar anpassen.Basismodelle sind bereits generierte, meist sprecherunabhängige Akustikmodelle, die mit Simon verwendet werden können. Die folgende Tabelle zeigt, was abhängig von Ihrer Einrichtung von Simon erforderlich ist: Statisches Basismodell Angepasstes Basismodell Benutzergeneriertes Modell Training erforderlich Basismodell erforderlich Backend zum Erzeugen von Modellen erforderlich Nein Ja Nein Ja Ja Ja Ja Nein Ja Tabelle 2.1: Wie ein Akustikmodell erstellt wird 12 Das Handbuch zu Simon 2.2.2.1 Backends Simon benutzt externe Programme, um Akustikmodelle zu erstellen und um Sprache zu erkennen. Normalerweise können diese Backends in zwei getrennte Komponenten aufgeteilt werden. Die Backends „Modell-Compiler” oder „Modell-Generierung”, die zur Erstellung oder Anpassung von Akustikmodellen verwendet werden und die „Erkennung”, mit der Sprache mit Hilfe dieser Modelle erkannt wird. Nicht alle Arbeitsweisen von Simon erfordern ein Backend Modell-Compiler. Bitte lesen Sie den nächsten Abschnitt mit weiteren Informationen für diesen Anwendungsfall. Zwei verschiedene Backends werden unterstützt: • Julius / HTK Modelle werden mit HTK erzeugt. Julius wird zur Erkennung verwendet. Bitte überprüfen Sie, ob Sie aktuelle Versionen dieser beiden Programme installiert haben, wenn Sie mit diesem Backend arbeiten wollen. • CMU SPHINX Diese Backend, häufig auch einfach „SPHINX-Backend“ genannt, verwendet die PocketSphinx-Erkennung und SphinxTrain zur Modellgenerierung. Weiter Informationen dazu finden Sie auf der CMU SPHINX-Webseite Für das „CMU SPHINX“-Backend muss Simon mit der optionalen Unterstützung für SPHINX kompiliert werden. Haben Sie Simon nicht selbst aus dem Quelltext kompiliert, informieren Sie sich bei Ihrer Distribution. Wenn Sie Basismodelle verwenden, wählt Simon automatisch das passende Backend aus. Möchten Sie jedoch Ihre eigenen Modell von Grund auf selbst generieren und haben und bestimmte Präferenzen haben, lesen Sie bitte die Informationen zur Einrichtung von Simond. Basismodelle, die für ein Backend erstellt wurden, sind nicht mit anderen Backends kompatibel. Bitte lesen Sie dazu die Kompatibilitätsmatrix. 2.2.2.2 Arten von Basismodellen Es existieren drei Arten von Basismodellen: • Statisches Basismodell • Angepasstes Basismodell • Benutzergeneriertes Modell Für Informationen wie Sie Basismodelle mit Simon verwenden können, lesen Sie bitte den Abschnitt Basismodelle verwenden im Kapitel „Simon benutzen“. 2.2.2.2.1 Statisches Basismodell Statische Modelle verwenden einfach ein zuvor kompiliertes Akustikmodell ohne es zu bearbeiten. Mit Simon erstellte Trainingsdaten werden werden nicht verwendet um die Erkennungsrate zu erhöhen. Für diese Art von Modell muss kein Backend zur Modellerstellung installiert sein. 13 Das Handbuch zu Simon 2.2.2.2.2 Angepasstes Basismodell Durch Anpassung von bereits kompilierten Akustikmodellen können Sie die Erkennungsrate steigern, indem Sie das Modell an Ihre Stimme anpassen. Gesammelte Trainingsdaten werden in eine Anpassungsmatrix kompiliert, die dann auf das ausgewählte Basismodell angewendet wird. Für diese Art von Modell muss das Backend zur Modellerstellung installiert sein. 2.2.2.2.3 Benutzergeneriertes Modell Wenn Sie benutzergenerierte Modelle verwenden, ist der Benutzer dafür verantwortlich, dass das Modell trainiert wird. Es wird kein Basismodell verwendet. Die Trainingsdaten werden verwendet um das eigene Akustikmodell zu kompilieren. Dies erlaubt es ein System zu entwickeln das direkt Ihre eigene Sprache widerspiegelt. Für diese Art von Modell muss das Backend zur Modellerstellung installiert sein. 2.2.2.3 Voraussetzungen Um verschiedene Arten von Akustikmodelle zu erstellen, anzupassen und zu benutzen, muss eine bestimmte Software installiert sein. CMU SPHINX Julius / HTK Statisches Basismodell PocketSphinx Julius Angepasstes Basismodell SphinxTrain, PocketSphinx HTK, Julius Benutzergeneriertes Modell SphinxTrain, PocketSphinx HTK, Julius Tabelle 2.2: Anforderungen für Basismodelle Alle vier Hilfsprogramme HTK, Julius, PocketSphinx und SphinxTrain können ohne Probleme gleichzeitig installiert wein. Die Unterstützung für SPHINX muss beim kompilieren von Simon aktiviert werden und ist möglicherweise auf Ihrem System nicht verfügbar. Bitte überprüfen Sie dies bei Ihrer Distribution. ANMERKUNG Das Installationsprogramm für Windows enthält Julius, PocketSphinx und SphinxTrain aber nicht HTK. Im Abschnitt Installation finden Sie Anweisungen zur Installation, wenn Sie HTK benötigen. 2.2.2.4 Woher Sie Basismodelle erhalten Die Basismodelle von Simon werden als Pakete mit der Erweiterung .sbm bereitgestellt. Haben Sie Rohdaten der Modelldateien für Ihr Backend, können Sie sie mit Simon in einen kompatiblen SMB-Container packen. Lesen Sie dazu bitte den Abschnitt Sprachmodell-Einrichtung. Nicht alle SMB-Modelle werden bei Ihnen funktionieren. Weitere Details finden Sie im Abschnitt Modell-Backends. Eine aktuelle Liste von verfügbaren Basismodellen finden Sie im Online-Wiki. 14 Das Handbuch zu Simon 2.2.2.5 Probleme mit Phonem-Sätzen Damit Basismodelle funktionieren, müssen sowohl Ihre Szenarien als auch Ihr Basismodell den selben Phonem-Satz verwenden. In der Praxis bedeutet dies meistens, dass Sie passende Szenarien zu Ihrem Basismodell benötigen. Der Name von Basismodellen in Simon beginnen sehr wahrscheinlich mit einer Kennung wie „[EN/VF/JHTK]”. Laden Sie Szenarien mit der gleichen Anfangskennung herunter. Sie können keine Szenarien verwenden, die für einen anderen Phonem-Satz oder ein anderes Basismodell entwickelt wurden. Wenn Simon diesen Fehler erkennt, werden betroffene Wörter vom erstellten Sprachmodell entfernt. Diese Wörter werden mit einem roten Hintergrund im Vokabular des Szenarios markiert. Um diese Wörter wieder erneut zu aktivieren, transkribieren Sie diese Wörter mit dem richtigen Phonem-Satz oder benutzen Sie ein benutzergeneriertes Modell. H INWEIS Wenn Sie ein neues Szenario entwerfen, sollten Sie das Wörterbuch als Schattenwörterbuch verwenden, mit dem das Basismodell generiert wurde. Auf diese Weise wird Simon automatisch die „richtigen” Phoneme vorschlagen, wenn Wörter hinzugefügt werden. 15 Das Handbuch zu Simon Kapitel 3 Simon als normaler Benutzer verwenden Der folgende Abschnitt beschreibt die Benutzung von Simon. 3.1 Einrichtungsassistent Beim ersten Start von Simon wird eine Assistent angezeigt, der Sie durch die ersten Schritte mit Simon führt. Die Einrichtung besteht aus fünf einfachen Schritten, die hier aufgezeigt sind. Sie können jeden Schritt oder sogar den ganzen Assistenten überspringen. In diesem Fall wird das System mit Standardwerten eingerichtet. Ohne eine Einstellung ist jedoch auch keine Erkennung möglich. 16 Das Handbuch zu Simon 3.1.1 Szenarien In diesem Schritt können Sie Szenarien hinzufügen oder herunterladen. Um Szenarien aus dem Online-Archiv herunterzuladen, wählen Sie Öffnen → Herunterladen. Dann wird der unten angezeigte Dialog geöffnet. Besonders neuen Anwendern wird empfohlen, ein paar Szenarien hier herunterzuladen, um zu sehen wie das System funktioniert, bevor ein Szenario für Ihren Anwendungsfall eingestellt wird. Nachdem der Einrichtungsassistent abgeschlossen ist, können Sie die Einstellungen für das Szenario im Dialog Szenarien-Verwaltung ändern. 17 Das Handbuch zu Simon Wenn Sie ein Basismodell verwenden möchten, laden Sie auch zugehörige Szenarien herunter. 3.1.2 Basismodelle In diesem Schritt können Sie Simon einstellen, Basismodelle zu verwenden. Auch Basismodelle können Sie aus dem Online-Archiv beziehen, indem Sie Modell öffnen → Herunterladen auswählen. um ein benutzergeneriertes Modell zu verwenden, wählen Sie Kein Basismodell verwenden. 18 Das Handbuch zu Simon Nachdem der Einrichtungsassistent abgeschlossen ist oder abgebrochen wurde, können Sie die Einstellungen dieses Schritts im Einrichtungsdialog für Simon jederzeit ändern. 3.1.3 Server Intern ist Simon eine Server / Client Anwendung. Wenn Sie Nutzen daraus durch eine netzwerkbasierte Verbindung ziehen möchten, können Sie die Serveraddresse hier angeben. Die Standardeinstellung ist ausreichend für eine „normale” Installation und legt fest, dass Sie einen lokalen Simond-Server verwenden, der mit Simon automatisch gestartet und gestoppt wird. Nachdem der Einrichtungsassistent abgeschlossen ist oder abgebrochen wurde, können Sie die Einstellungen dieses Schritts im Server-Einrichtungsdialog jederzeit ändern. 3.1.4 Sound-Einrichtung Da Simon Sound von einem oder mehreren Mikrofonen aufnimmt, müssen Sie angeben, welche Geräte für das Training bzw. die Erkennung verwendet werden sollen. 19 Das Handbuch zu Simon Simon kann ein oder mehrere Ein- und Ausgabegeräte für verschiedene Aufgaben verwenden. Sie können weitere Informationen über Simons Mehrgerätefähigkeiten in im Abschnitt SoundEinstellungen nachlesen. Wenn Sie nicht zumindest ein funktionierendes Eingabegerät für die Erkennung definieren, können Sie Simon nicht aktivieren. Nachdem der Einrichtungsassistent abgeschlossen ist, können Sie die hier vorgenommenen Einstellungen in den Sound-Einstellungen jederzeit ändern. 3.1.5 Lautstärkeanpassung Damit Simon korrekt funktioniert, muss die Mikrofonlautstärke richtig eingestellt sein. 20 Das Handbuch zu Simon Weitere Details finden Sie im allgemeinen Abschnitt die Lautstärkeanpassung. 3.2 Das Hauptfenster von Simon Das Hauptfenster von Simon besteht aus vier Bereichen. Oben links sehen Sie den Bereich Szenarien, rechts davon den Bereich Training, unten links das Akustikmodell und rechts davon den Bereich Erkennung. Das Simon-Hauptfenster kann jederzeit ausgeblendet werden, indem man auf das Simon-Symbol 21 Das Handbuch zu Simon im Systemabschnitt der Kontrollleiste (normalerweise der Bereich neben der Uhr) klickt. Wird das Symbol erneut gedrückt, wird Simon wieder angezeigt. 3.2.1 Hauptfenster: Szenarien Eine Liste der Szenarien zeigt die aktuell geladenen Szenarien. Sie können diese Auswahl mit Szenarien verwalten bearbeiten. Damit wird der Dialog zur Verwaltung von Szenarien geöffnet. Um ein Szenario zu bearbeiten, wählen Sie es in der Liste aus und öffnen Sie es dann durch Drücken auf „<name>“ öffnen. 3.2.2 Hauptfenster: Training Dieser Abschnitt zeigt alle Trainingstexte der aktuell aktivierten Szenarien. Durch die Auswahl eines Trainingstexts werden alle übergeordneten Szenarien hervorgehoben. Sie können das Training der Erkennung starten, indem Sie einen Text auswählen und dann auf Training starten drücken. Beachten Sie, dass abhängig vom gewählten Modelltyp das Training die Genauigkeit der Erkennung nicht immer verbessert. Im Abschnitt Akustikmodell des Hauptfensters von Simon wird angezeigt, ob sich das Training für Ihre spezielle Einrichtung auswirkt. Weitere Hintergrundinformationen zu diesem Thema finden Sie im Abschnitt Basismodell. Der gesammelte Trainingskorpus kann verwalten werden, indem Sie Trainingsdaten verwalten auswählen und damit den Dialog Trainingsaufnahmen öffnen. Um mit zu helfen, einen allgemeinen offenen Sprach-Korpus zu erstellen, sollten Sie Ihren Trainings-Korpus zum Projekt Voxforge hochladen, indem Sie Datei → Aufnahmen beisteuern auswählen und damit den Dialog zum Hochladen öffnen. 3.2.3 Hauptfenster: Akustikmodell Hier zeigt Simon Informationen über das aktuell verwendete Basismodell und das aktive Modell. Wählen Sie Akustikmodell einrichten, um das Basismodell einzustellen. 3.2.4 Hauptfenster: Erkennung Hier werden Informationen zum Erkennungsstatus angezeigt. Ist Simon mit dem Server verbunden, können Sie die Erkennung mit dem Knopf Aktivieren einund ausschalten. Ist dieses Steuerelement nicht verfügbar, überprüfen Sie, ob die Verbindung funktioniert, indem Sie Datei → Verbunden aus dem Menü von Simon auswählen. Eine integrierte Anzeige der Lautstärkeeinpegelung überwacht die eingerichteten Erkennungsgeräte. Mit dem Knopf Audio einrichten öffnen Sie den Audio-Einstellungsdialog. 3.3 Szenarien In diesem Abschnitt wird beschrieben, wie Sie Szenarien in Ihrer Simon-Einrichtung importieren und daraus entfernen. Für allgemeine Informationen lesen Sie bitte den Abschnitt Basisinformationen zu Szenarien. Möchten Sie Szenarien erstellen, bearbeiten oder exportieren, lesen Sie bitte den Abschnitt Erweiterte Anwendung. Um Ihr Szenario einzurichten, öffnen Sie zuerst den Dialog zur Verwaltung von Szenarien durch Drücken auf den Knopf Szenarien verwalten im Hauptfenster von Simon. 22 Das Handbuch zu Simon Um ein Szenario zu aktivieren oder zu deaktivieren, verwenden Sie die Knöpfe mit den Pfeilsymbolen zwischen den beiden Listen oder doppelklicken Sie das entsprechende Einstellung, die Sie laden oder entladen möchten. Mehr Informationen über die Szenarien selbst können Sie in der Kurzinfo lesen, die erscheint, wenn die Maus einige Zeit über ein Element halten. 3.3.1 Szenarien importieren Szenarien können von einer lokalen Textdatei im Dateiformat XML-Szenario importiert oder direkt aus dem Internet heruntergeladen werden. Wenn Sie Szenarien herunterladen, wird eine Liste der verfügbaren Szenarien vom Abschnitt Simon Scenarios der OpenDesktop-Seite KDE-files.org heruntergeladen. 23 Das Handbuch zu Simon Wenn Sie ein Szenario erstellen, das für andere Simon-Anwender von Interesse sein könnte, laden Sie es bitte hoch, damit es auch anderen Anwendern von Simon genutzt werden kann. 3.3.2 Szenarien entfernen Um ein Szenario zu löschen, wählen Sie das Szenario aus der Liste und klicken Sie den Knopf Löschen. Weil Szenarien mit dem Erkennungsserver abgeglichen werden, können Sie gelöschte Szenarien über den Modell-Abgleich wiederherstellen. 3.4 Aufnahmen Wenn Sie benutzergenerierte oder adaptierte Modelle verwenden wird Simon basierend auf transkripierten Sprachaufnahmen von der Stimme des Benutzers das Akustikmodell aufbauen. Deswegen ist die Qualität der aufgenommenen Trainingsdaten entscheidend für die Erkennungsrate. 3.4.1 Lautstärke Es ist wichtig, dass Sie vor der Aufnahme die Lautstärke Ihres Mikrofons kontrollieren. 3.4.1.1 Lautstärkeanpassung für Simon Die aktuelle Version von Simon enthält einen einfachen Weg, um sicherzustellen, dass die Lautstärke richtig eingestellt ist. 24 Das Handbuch zu Simon Standardmäßig wird die Lautstärkeanpassung angezeigt, bevor eine Aufnahme in Simon startet. Um die Lautstärke anzupassen, sprechen Sie einfach den angezeigten Text nach. Um die Anpassung zu überwachen, beobachten Sie bitte die angezeigte Lautstärke und die Notiz darunter, die angibt, ob Sie die Lautstärke heben oder senken sollten. Um die Lautstärke zu verändern, verwenden Sie bitte die Lautstärkeeinstellung Ihres Betriebssystems. Versuchen Sie während der Anpassung so normal wie möglich zu sprechen. Schreien Sie nicht, aber seien Sie auch nicht unnötig leise. Bitte bedenken Sie, dass Sie die besten Ergebnisse erzielen, wenn alle Aufnahmen ungefähr gleich laut sind und Sie auch während der Erkennung gleich laut sprechen. Möglicherweise könnten Sie zu anderen Tageszeiten oder einer anderen Stimmung lauter sprechen, also sprechen Sie in diesem Test lieber etwas lauter, um diese Möglichkeit einzubeziehen. Grundsätzlich sind zu leise Aufnahmen viel besser als zu laute, da es dann zu Verzerrungen kommen kann. In den Einstellungen von Simon lässt sich sowohl der angezeigte Text als auch die Lautstärken, die als korrekt bzw. nicht korrekt markiert werden, einstellen. Wird der dortige Text leer gelassen (Standard), wird ein Standardtext angezeigt. In der Einrichtung können Sie die Lautstärkeanpassung auch komplett deaktivieren. Im Abschnitt Training finden Sie weitere Details. 3.4.1.2 Lautstärkeanpassung für Audacity Eine andere Möglichkeit zur Einstellung der richtigen Lautstärke ist, ein Audio-Programm wie das freie Audacity zu benutzen. Zu leise: 25 Das Handbuch zu Simon Zu laut: Optimale Lautstärke: 3.4.2 Stille Um Simon mit der automatischen Trennung zwischen den Wörtern zu helfen, empfehlen wir, vor und nach dem Sprechen ca. ein bis zwei Sekunden ´´Stille´´ aufzunehmen. Die aktuelle Version von Simon enthält eine grafische Warteanzeige während des Training. Diese Nachricht wird den Benutzer bitten, eine Sekunde zu warten: 26 Das Handbuch zu Simon ... bevor er gebeten wird zu sprechen: Diese Methode der visuellen Rückmeldung hat sich als besonders wertvoll erwiesen, wenn mit Personen aufgenommen wird, die den angezeigten Text nicht selbst lesen können und deshalb auf Moderatoren angewiesen sind, die Ihnen ansagen, was Sie sprechen sollen. Die farbige Anzeige hilft Ihnen zu erkennen, wann Sie sprechen sollen statt direkt nach dem Moderator zu sprechen oder auf umständliche Handsignale angewiesen zu sein. 27 Das Handbuch zu Simon 3.4.3 Inhalt Im allgemeinen wird empfohlen, etwa die gleichen Sätze aufzunehmen, die von Simon später erkannt werden sollen. Offensichtlich trifft dies nicht für massenhafte Aufnahmen zu, bei denen andere Eigenschaften wie die phonetische Balance wichtiger sind. Vermeiden Sie Aufnahmen wie „Eins Eins Eins”, um die Erkennungsrate schnell zu erhöhen. Solche Aufnahmen verringern oft die Leistung der Erkennung, weil die Aussprache sich erheblich davon unterscheidet, wenn das Wort einzeln ausgesprochen wird. 3.4.4 Mikrofone Damit Simon gut funktionieren kann, wird ein hochqualitatives Mikrofon empfohlen. Aber sogar mit relativ günstigen Headsets (um 30 €) erreicht sehr gute Ergebnisse - viel bessere als möglicherweise mit einem integrierten Mikrofon. Für maximale Kompatibilität empfehlen wir USB-Headset, die in der Regel die notwendige Abtastrate von 16 kHz direkt unterstützen. Sie werden außerdem gut von sowohl Microsoft Windows als auch von GNU/Linux unterstützt und benötigen keine speziellen, proprietären Treiber. 3.4.5 Qualitätskontrolle der Aufnahmen Simon wird jede Aufnahme mit einigen Kriterien überprüfen, um sicherzustellen, dass die Aufnahmen nicht fehlerhaft oder von schlechter Qualität sind. Wenn Simon eine problematische Aufnahme erkennt, wird das Programm den Benutzer warnen und ihn auffordern, die Aufnahme zu wiederholen. Derzeit überprüft Simon die folgenden Kriterien: • Höchster Lautstärkepegel Wenn die Lautstärke zu hoch ist und das Mikrofon zu Übersteuern beginnt, wird automatisch eine Warnung angezeigt, die den Benutzer auffordert, die Lautstärke des Mikrofons zu senken. • Signal-Rausch-Verhältnis (engl.: Signal to noise ratio; SNR) Simon wird automatisch das Signal-Rausch-Verhältnis für jede Aufnahme bestimmen. Ist dieses Verhältnis unter einem einstellbaren Wert, wird eine Warnung angezeigt. Der Standardwert von 2300 % bedeutet, dass Simon nur Aufnahmen als „korrekt“ ansieht, deren Spitzenpegel 23 mal lauter ist als die niedrigste Lautstärke, die als niedrigster Durchschnitt von jeweils 50 Millisekunden errechnet wird. Oft ist dies ein Problem von sehr schlechten Mikrofonen, lauten Umgebungsgeräuschen oder eine kleine Mikrofonlautstärke in Verbindung mit einem „Mikrofon-Boost” im Systemmixer. Warnungen Signal-Rausch-Verhältnis werden naturgemäß auch von leeren Aufnahmen ausgelöst. Dieser Dialog wird angezeigt, wenn Sie auf den Knopf Mehr Information im Aufnahmedialog drücken. 28 Das Handbuch zu Simon 3.5 Aufnahmen beisteuern Die Basismodelle, die mit Simon verwendet werden können, um Trainingsdaten zu vermehren oder zu ersetzen, werden von Sprachaufnahmen anderer Benutzer erstellt. Um qualitativ hochwertige Basismodelle zu erstellen, ist eine große Menge an Trainingsdaten erforderlich. Wenn Sie Ihre lokale Installation von Simon trainiert haben, haben Sie wertvolle Stimmenaufnahmen gesammelt, die die Qualität des allgemeinen Modells verbessern können. Mit dem Dialog Aufnahmen beisteuern in Simon können Sie solche Aufnahmen hochladen, damit das Projekt Voxforge qualitativ hochwertige quell offene Basismodelle erstellen kann. Nach der Verbindung zum Server fragt Simon einige grundlegende Meta-Informationen ab. Diese Informationen enthalten offensichtlich keine persönlichen Daten. Stattdessen werden sie später benutzt, um Aufnahmen ähnlicher Sprecher in Gruppen zusammenzufassen, um bessere Akustik-Modelle zu erstellen. 29 Das Handbuch zu Simon Die Dauer des Hochladens hängt von Ihrer Internet-Verbindung ab. Im allgemeinen werden nur wenig Daten übertragen, da von Simon aufgenommenen Audio-Daten normalerweise sehr klein sind, etwa 0,1 MB je Aufnahme. 3.6 Trainingsdaten verwalten Um Ihren persönlichen Trainingskorpus anzusehen und zu bearbeiten, können den Dialog Trainingsaufnahmen verwenden, den Sie mit der Auswahl von Trainingsdaten verwalten im Hauptfenster von Simon oder im Trainingsabschnitt jedes geöffneten Szenarios öffnen können. 30 Das Handbuch zu Simon 3.6.1 Trainingsaufnahmen bearbeiten Um eine Aufnahme zu hören oder neu aufzunehmen, wählen Sie sie in der Liste aus und klicken Sie auf Aufnahme öffnen. In diesem Dialog können Sie auch die Gruppe für Aufnahmen später bearbeiten. Wenn Sie eine geöffnete Aufnahmen entfernen und nicht neu aufnehmen, schlägt Simon vor, sie aus dem Korpus zu entfernen. 31 Das Handbuch zu Simon 3.6.2 Trainingsdaten löschen Nach einer Bestätigung werden alle persönlichen Trainingsdaten des Benutzers gelöscht. 3.6.3 Trainingsaufnahmen importieren Mit der Funktion „Trainingsdaten importieren” können Sie zuvor gesammelte Trainingsdaten von früheren Versionen von Simon importieren. ANMERKUNG Diese Funktion ist sehr speziell. Bitte benutzen Sie sie nur, wenn Sie sich sicher sind, dass Sie wissen was Sie tun. Sie können entweder separate Prompts-Dateien angeben oder Simon die Transkription aus den Dateinamen ablesen lassen. Wenn Sie auf Prompts basierte Transkriptionen verwenden (UTF-8 kodiert), muss die Eingabedatei den folgenden Inhalt besitzen: „[Dateiname] [Inhalt]”. Dateinamen sind ohne Dateierweiterung anzugeben und der Inhalt besteht nur aus Großbuchstaben. Zum Beispiel: Die Zeile de mo_2007_03_20 DEMO bedeutet, dass die Datei demo_2007_03_20.wav das gesprochene Wort „Demo” enthält. Weil Prompts-Dateien keine Dateierweiterung besitzen, wird Simon die Erweiterungen wav, mp3, ogg und flac in dieser Reihenfolge probieren. Sollte eine Datei mit einem solchen Dateinamen existieren, wird die erste Datei importiert und folgende Übereinstimmungen ignoriert. d. h. wenn demo.wav und demo.mp3 existieren, wird nur demo.wav importiert. Im Gegensatz dazu werden bei dateibasierten Transkriptionen beide Dateien importiert. Wenn dateibasierte Transkriptionen verwendet werden, wird der Assistent die Transkription aus den gefunden Trainingsdaten anhand der Dateinamen auslesen. Eine Datei die das_ist_ein_Tex t.wav genannt ist, muss die Worte „das ist ein Test” beinhalten und nichts anderes. Satzzeichen wie „.”, „-”, usw. in den Dateinamen werden ignoriert. Dateien, die mit Simon Version 0.2 aufgenommen wurden, beachten automatisch diesem Namensschema, sodass Sie sie ohne Probleme mit der Dateinamen-Extraktionsmothode importieren können. Dateien, die von früheren Versionen von Simon generiert wurden, sollten nicht mit dieser Funktion importiert werden. Sie können für diese Aufnahmen aber den Prompts-basierten Import benutzen. Importierte Dateien und deren Transkription werden dann zum Trainingskorpus hinzugefügt. Um einen Ordner zu importieren, der die Trainingsdateien enthält, wählen Sie ihn - und abhängig vom Importtyp auch die entsprechende Prompts-Datei - im Assistenten aus. 32 Das Handbuch zu Simon Der Ordner wird rekursiv durchsucht. Das heißt, dass der angegebene Ordner und all seine Unterordner nach .wav, .flac, .mp3 und .ogg Dateien durchsucht wird. Alle gefundenen Dateien werden importiert. Wenn Trainingsdaten importiert werden, werden alle eingerichteten Nachbearbeitungsfilter angewandt. Wenn Sie etwas anderes als WAV-Dateien importieren, sind Sie dafür verantwortlich, dass die Dateien während des Imports korrekt dekodiert werden (zum Beispiel durch Nachbearbeitungsfilter) oder die Modellerstellung wird fehlschlagen. 3.7 Einrichtung Simon ist auf extrem hohe Konfigurierbarkeit ausgelegt. Daher gibt es viele Parameter, die auf Ihre besonderen Anforderungen angepasst werden können. Den Einrichtungsdialog für Simon erreichen Sie über das Hauptmenü der Anwendung: Einstellungen → Simon einrichten .... 3.7.1 Allgemeine Einrichtung Die allgemeine Einrichtung bietet einige grundlegenden Einstellungen. Möchten Sie den Einrichtungsassistenten wider anzeigen, entfernen Sie das Kreuz vor Einrichtungsassistenten deaktivieren. 33 Das Handbuch zu Simon Die Option Simon beim Anmelden zu starten, funktioniert sowohl unter Microsoft Windows als auch unter KDE-Plasma unter GNU/Linux. Um andere Desktop-Umgebungen wie GNOME, XFCE usw. zu unterstützen, müssen Sie Simon wahrscheinlich manuell in der Sitzung automatisch starten. Lesen Sie dazu die Handbücher Ihrer Desktop-Umgebung für mehr Informationen. Wenn die Option zum minimierten Start von Simon gesetzt ist, wird das Hauptfenster von Simon Start nicht angezeigt sondern sofort in den Systemabschnitt der Kontrollleiste minimiert. Wenn Sie die Option abschalten, bei Problemen mit Aufnahmen nicht zu warnen, wird die Qualitätskontrolle der Aufnahmen deaktiviert. 3.7.2 Aufnahmen Simon verwendet eine ziemlich ausgefeilte interne Bearbeitung von Sound, um komplexe Einrichtungen mit mehreren Geräten zu ermöglichen. 3.7.2.1 Geräteeinstellungen Die Geräteeinstellungen ermöglichen es Ihnen, Audiogeräte für die Aufnahme und Wiedergabe auszuwählen, sie einzurichten und zusätzliche Aufnahmeparameter festzulegen. Verwenden Sie den Knopf Geräteliste aktualisieren, wenn Sie zusätzliche Soundgeräte seit dem Start von Simon angeschlossen haben. 34 Das Handbuch zu Simon Als Standardwerte sind ein Kanal und eine Abtastrate von 16 kHz eingestellt, da die Erkennung nur mit einer Eingabe auf einem Kanal und am besten mit 16 kHz bzw. alternativ sind 8 kHz und 22 kHz funktioniert. Einige günstige Soundkarten unterstützen möglicherweise diesen bestimmten Modus nicht, dann können Sie die automatische Neuabtastung in der erweiterten Einrichtung des Geräts aktivieren. ANMERKUNG Ändern Sie die Kanäle und die Abtastrate nur, wenn Sie sich sicher sind was Sie tun. Sonst wird die Erkennung höchst wahrscheinlich nicht funktionieren. 35 Das Handbuch zu Simon Sie können Simon mit mehr als einem Audiogerät gleichzeitig verwenden. Verwenden Sie Gerät hinzufügen, um ein Gerät zu Ihrer Einrichtung hinzuzufügen und Gerät entfernen, um das Gerät wieder zu entfernen. Das erste Gerät in der Audio-Einrichtung kann nicht entfernt werden. Für jedes Gerät können Sie die Verwendung bestimmen: Training oder Erkennung (letzteres ist nur für Eingabegeräte verfügbar). Wenn Sie mehr als ein Gerät für das Training verwenden, wird Simon mehrere Tondateien pro Trainingsaufnahme sammeln. Wird mehr als ein Gerät für die Erkennung verwendet, werden mehrere Datenströme zum Server aufgebaut, was in mehreren Erkennungsergebnissen (eines pro Mikrofon) resultiert. Wenn Sie mehr als ein Ausgabegerät verwenden, wird ein Ton auf allen eingerichteten Geräten gleichzeitig wiedergegeben. Wenn Sie unterschiedliche Abtastraten für Ihre Eingabegeräte verwenden, kann die Ausgabe nur auf Ausgabegeräten wiedergegeben werden, die die ebenfalls diese Abtastrate verwenden. Verwenden Sie beispielsweise ein Eingabegerät mit 16 kHz und eines mit 48 kHz, wird die Wiedergabe von Aufnahmen des ersten Geräts nur auf Ausgabegeräten funktionieren, die ebenfalls auf 16 kHz eingestellt sind, wohingegen Aufnahmen mit 48 kHz nur auf Wiedergabegeräten abgespielt werden, die selbst auf 48 kHz eingestellt sind. Auf der Karteikarte Kontext im Einrichtungsdialog können Sie außerdem Aufnahmegruppen für die erstellten Trainingsaufnahmen und für die Aktivierung Kontext-Bedingungen festlegen. Wenn Sie diese Gerät für die Erkennung einstellen und keine der Aktivierungsanforderungen erfüllt werden. wird das Gerät nicht aufnehmen. Dies kann benutzt werden, um die traditionelle Stimmaktivitätserkennung durch Kontext-Informationen zu erweitern oder sogar zu ersetzen. Fügen Sie zum Beispiel eine Bedingung für Gesichtserkennung für die Aktivierung der Aufnahmegeräte hinzu, damit die Erkennung nur aktiviert ist, wenn Sie in die Webcam schauen. 3.7.2.2 Stimmaktivitätserkennung Die Erkennung selbst geschieht auf dem Simond-Server. Im Abschnitt Architektur finden Sie weitere Informationen. Die Aufnahme-Daten vom Mikrofon werden nicht fortlaufend an den Server gesendet, sondern werden vom Simon-Client getrennt. Dies geschieht durch die sogenannte „Stimmaktivitätserkennung”. 36 Das Handbuch zu Simon Hier können Sie die Trennung durch die folgenden Parameter beeinflussen: • Stille-Grenzwert Alles unterhalb dieses Lautstärkepegels wird als „Stille” behandelt (Hintergrundgeräusch). • Beginn-Pause Für die Dauer der Beginn-Pause werden Daten im Zwischenspeicher gesammelt, bevor die aktuelle Aufnahme tatsächlich als Sprache klassifiziert wird. Während dieser gesamten Zeit muss die Lautstärke über dem Stille-Grenzwert liegen. • End-Pause Nachdem die Lautstärke unter den Stille-Grenzwertgefallen ist, wird die Zeit von End-Pause abgewartet, bis die aktuelle Aufnahme abgeschlossen wird. • Aufnahmen verwerfen, die kürzer sind als Aufnahmen, die kürzer als dieser Wert sind, werden nicht an die Erkennung weitergegeben (Husten, usw.). 37 Das Handbuch zu Simon 3.7.2.3 Trainingseinstellungen Wenn die Option Voreinstellung Power Training aktiviert ist, wird beim Trainieren automatisch die Aufnahme gestartet bzw. angehalten, wenn der dazugehörige Prompt angezeigt bzw. ausgeblendet wird. Diese Option setzt nur den Standardwert, der Benutzer kann ihn bei jeder Trainingssitzung wieder überschreiben. Der Text, der zum Trainieren des Akustikmodells aufgenommen werden soll, wird in einer einer einstellbaren Schriftart angezeigt. Die zu verwendende Schriftart und vor allem die Größe können hier geändert werden. Diese Einstellung wurde nach Tests mit einigen Kunden wurde eingeführt, die unter infantiler Zerebralparese („Spastische Lähmung“) litten.Simon wurde mit der Maus bedient, um sie durch das Training zu führen, und Sie mussten im Rahmen des Trainings die Texte auf dem Bildschirm vorlesen. Dabei stellte sich heraus, dass es den Probanden teilweise schwer fiel, die kleine Schrift zu entziffern und auch zu erkennen, welche Texte Sie vorlesen sollten. Daher wurde diese Einstellung eingeführt, damit die Schriftart und die Schriftgröße der vorzulesenden Texte an solche Anforderungen angepasst werden kann. Hier können Sie auch das benötigte Signal- / Rauschverhältnis einstellen, das erreicht werden muss, damit eine Aufnahme von Simon als korrekt angesehen wird. Lesen Sie den Abschnitt Qualitätskontrolle der Aufnahmen mit weiteren Informationen. Auf dieser Einrichtungsseite können Sie auch die Parameter für die Lautstärkeanpassung festlegen. Die Lautstärkeanpassung kann sowohl für den Dialog zum Hinzufügen von Wörtern und als auch dem Trainings-Assistenten deaktiviert werden, indem Sie diese gesamte Gruppe abwählen. Die Kalibrierung selbst verwendet die Stimmaktivitätserkennung, um Ihre Soundeinstellungen zu bewerten. Der angezeigte Text kann eingestellt werden, indem Text im Eingabefeld eingetragen wird. Bleibt das Feld leer (Standard) wird ein Standardtext verwendet. 3.7.2.4 Nachbearbeitung Alle aufgenommenen Sprachdaten (Training) und importierten Aufnahmen (mit Hilfe der Funktion ´´Trainingsdaten importieren´´) können mit einer Reihe von Nachbearbeitungsbefehlen bear38 Das Handbuch zu Simon beitet werden. Nachbearbeitungsketten sind eine fortgeschrittene Funktionalität von Simon die vom durchschnittlichen Anwender wohl nicht benötigt werden. Die Nachbearbeitungsbefehle sind wie eine Serie von Filtern, durch die die Aufnahmen durch müssen. Mit diesen „Filtern” kann man zum Beispiel Hintergrundrauschen entfernen oder die Aufnahmen normalisieren. Nehmen wir als Beispiel ein Programm namens process_audio, das die Eingabe- und Ausgabedatei als Argumente nimmt, z. B. process_audio in.wav out.wav. Daraus wird als Nachbearbeitungsbefehl: process_audio %1 %2. Die beiden Platzhalter %1 und %2 werden dann von Simon bei jedem Aufruf mit den jeweiligen tatsächlichen Werten für den Eingabedateinamen und den Ausgabedateinamen ersetzt. Die Einstellungen „Filter für Dateien anwenden, die mit Simon aufgenommen wurden” aktiviert die Nachbearbeitung für Daten, die beim Training aufgenommen wurden, einschließlich der des ersten Trainings beim Hinzufügen der Wörter. Is die deaktiviert, werden Nachbearbeitungsbefehle nur auf Sprachdaten abgewendet, die dem Dialog Trainingsdaten importieren eingefügt wurden. 3.7.2.5 Kontext Jeder mit Simon erstellter Aufnahmen wird eine Aufnahmegruppe zugewiesen. Bei der Erstellung eines Akustikmodells aus den aufgenommenen Trainingsdaten kann Simon die aktuelle Situation berücksichtigen und nur eine Untermenge der gesammeltem Trainingsdaten berücksichtigen. 39 Das Handbuch zu Simon Zum Beispiel in einem System mit mehreren sehr unterschiedlichen Sprechern mit einer gemeinsamen Einrichtung können Kontextbedingungen festgelegt werden, um automatisch getrennte Modelle für beide Benutzer abhängig von der aktuellen Situation zu erstellen. Das Bildschirmfoto oben zeigt ein Einrichtung, in der alle Aufnahmen von „Peter“ als „peters_aufnahmen“ und alle Aufnahmen von „Mathias“ als „mathias_aufnahmen“ markiert wurden. Lesen Sie dazu den Abschnitt Geräte-Einrichtung mit weiteren Informationen zur Einrichtung von Aufnahmegruppen. Dann enthält das aktive Akustikmodell nur die eigenen Aufnahmen des aktuellen Benutzers, wenn die Datei /home/bedahr/.username entweder „peter“ oder „mathias“ enthält. Ein weiteres Beispiel für einen Anwendungsfall ist der Wechsel zu einem von Geräuschen unabhängigen Akustikmodell, wenn der Benutzer Musik abspielt. 3.7.3 Sprachmodell Hier können Sie die Parameter des Sprachmodells anpassen. 3.7.3.1 Basismodell Optional können Sie ein Basismodell verwenden, um das Training zu begrenzen oder zu umgehen, damit die Installation eines Backends zur Modellgenerierung vermieden werden kann. Bitte lesen Sie dazu den Abschnitt mit Informationen zu Basismodellen. 40 Das Handbuch zu Simon Um ein benutzergeneriertes Modell zu verwenden, wählen Sie Kein Basismodell verwenden. Für ein statisches Basismodell wählen Sie ein Basismodell, aber nicht Basismodell mit Trainingsaufnahmen adaptieren. Um stattdessen ein adaptiertes Basismodell zu verwenden, kreuzen Sie Basismodell mit Trainingsaufnahmen adaptieren nach der Auswahl eines Basismodells. Basismodelle für Simon werden als Pakete aus .sbm-Dateien bereitgestellt. Um ein Basismodell zur Auswahl hinzuzufügen, können Sie entweder lokale Modelle mit Modell öffnen → Importieren importieren, sie aus einem Online-Archiv mit Modell öffnen → Herunterladen holen oder neue aus Rohdateien mit Modell öffnen → Aus Modelldateien erstellen generieren. Wenn Sie Rohmodelldateien verwenden, die von einem der unterstützen Backends zur Model41 Das Handbuch zu Simon lerstellung generiert wurden, können Sie sie in SMB-Container packen, um sie in Simon zu verwenden. Sie können Ihr zurzeit aktives Modell exportieren, indem Sie Aktives Modell exportieren auswählen. Die exportierte SBM-Datei enthält Ihr vollständiges Akustikmodell ohne den aktuellen Kontext, die Sie für andere Benutzer freigeben. 3.7.3.2 Trainingsdaten In diesem Abschnitt können die Trainingsaufnahmen eingerichtet werden. 42 Das Handbuch zu Simon Die hier eingestellte Abtastrate ist die Ziel-Abtastrate des Akustikmodells. Sie hat nichts damit zu tun, in welcher Abtastrate die Sprachdaten von Simon aufgenommen werden. Es liegt in der Verantwortung des Benutzers, dass die Sprachdaten schlussendlich für die Generierung des Modells auch in diesem Format vorliegen. Normalerweise wird das einfach erreicht, indem die Werte gleichgesetzt werden. Sollte dies nicht möglich sein, kann mit den Nachbearbeitungsketten nachgeholfen werden. Im Abschnitt Sound-Einrichtung finden Sie weitere Details. Meistens werden entweder Modelle mit 16 kHz oder 8kHz verwendet. Modelle mit 16 kHz haben eine bessere Erkennungsrate als Modelle mit 8 kHz. Modelle mit mehr als 16 kHz werden nicht empfohlen, weil Sie sehr CPU-intensiv werden und in der Praxis kaum eine bessere Erkennungsrate erzielen. Hier kann außerdem der Pfad zu den Trainingsdaten geändert werden. Sie müssen allerdings selbst sicherstellen, dass die bisher gesammelten Sprachaufnahmen auch in das neue Ziel verschoben werden. Verwenden Sie den automatischen Abgleich, wird Simond die bereits abgeglichenen Daten aus den Kopie wiederherstellen. Ein manuelles Verschieben zum neuen Speicherort ist also nicht zwingend notwendig, solange zuvor abgeglichen wird, aber es wird empfohlen. 3.7.3.3 Sprachenprofile Im Abschnitt Sprachenprofile können Sie ein vorher erstelltes oder heruntergeladenes Sprachenprofil als Hilfe bei der Transkription neuer Wörter zu verwenden. 3.7.4 Modellerweiterungen Hier können Sie die Basis-URL einrichten, die für den automatischen BOMP-Import verwendet wird. Die Standardeinstellung zeigt auf die Kopie auf dem Simon-Server. 43 Das Handbuch zu Simon 3.7.5 Erkennung Hier können Sie die Erkennung und den Modell-Abgleich mit dem Simond-Server einstellen. 3.7.5.1 Server Mit der Servereinrichtung kann die Verbindung zum Simond-Server angepasst werden. 3.7.5.1.1 Allgemein Die Simon-Hauptanwendung verbindet zum Simond-Server. Lesen Sie den Abschnitt Architektur mit weiteren Informationen. 44 Das Handbuch zu Simon Ein Simond-Server kann mehrere Simon-Clients bedienen. Um die einzelnen Anwender des Systems zu identifizieren, werden Benutzer verwendet. Jeder Benutzer hat sein eigenes Sprachmodell. Die Kombination von Benutzername und Passwort wird zur Anmeldung am SimondServer verwendet. Wenn der Simond-Server diesen Benutzernamen nicht kennt oder das Passwort falsch ist, wird die Verbindung abgebrochen. Lesen Sie im Handbuch zu Simond weitere Information über das Einrichten der Benutzer auf dem Simond-Server. Die Erkennung selbst, die vom Server übernommen wird, ist nicht immer verfügbar. Beispielsweise ist es nicht möglich, die Erkennung zu starten, bis der Benutzer sein Akustikmodell das erste mal erzeugt. Das erfolgt automatisch, wenn beim Abgleich alle notwendigen Bestandteile wie Wortliste, Grammatik und Trainingsdaten vorhanden sind. In der Voreinstellung wird die Erkennung automatisch gestartet, sobald alle erforderlichen Komponenten verfügbar sind. Mit der Einstellung Verbindung zum Server beim Start herstellen wird beim Programmstart automatisch die Verbindung zum eingestellten Simond-Server hergestellt, sobald die Benutzerschnittstelle geladen wurde. 3.7.5.1.2 Netzwerk Simon verbindet zum Simond über TCP/IP. 45 Das Handbuch zu Simon Derzeit (Simon 0.4) wird Protokollverschlüsselung nicht unterstützt. Der angegebene Wert der Zeitüberschreitung gibt an, wie lange Simon auf eine Antwort der Gegenstelle wartet. Wenn Sie eine sehr, sehr langsame Netzwerkverbindung besitzen und/oder die Einstellung „Beim Start automatisch verbinden” und einen sehr langsamen Rechner verwenden, erhöhen Sie diesen Wert, wenn Sie Fehler wegen Zeitüberschreitung beim Verbinden mit dem Simond-Server erhalten, die durch erneutes Aufbauen der Verbindung behoben werden können. Simon kann eingerichtet werden, mehr als einen Simond-Server zu verwenden. Das kann verwendet werden, wenn Sie beispielsweise einen Laptop besitzen, der unterschiedliche Server zu Hause oder bei der Arbeit verwendet. In diesem Fall können Sie beide Server hier angeben. Wenn Simon die Verbindung herstellt, werden die hier eingerichteten Server der Reihe nach durchprobiert, bis ein Server gefunden wird, der die Verbindung akzeptiert. Um einen Server hinzuzufügen, geben Sie seinen Rechnernamen oder die IP-Adresse und den Port (mit ´´:´´ getrennt) ein oder verwenden Sie den Dialog, der erscheint, wenn Sie den blauen Pfeil neben dem Eingabefeld anklicken und wählen Sie ´´Hinzufügen´´. 3.7.5.2 Abgleichen und Modell-Sicherung Hier können Sie den Modell-Abgleich einstellen und wenn nötig ältere Versionen Ihres Sprachmodells wiederherstellen. 46 Das Handbuch zu Simon Simon erstellt die Eingabedateien für das Sprachmodell, welche dann kompiliert und vom Simond-Server für die Erkennung verwendet werden (siehe auch das Kapitel Architektur für weitere Details). Der Prozess des Sendens der Spracheingabedateien, des Kompilierens und des Abholens der kompilierten Versionen wird „Abgleich” genannt. Erst nachdem ein Sprachmodell abgeglichen wurde, werden alle Änderungen angewendet. Zusätzlich wird dabei auch ein neuer Wiederherstellungspunkt angelegt. In der Voreinstellung wird nach jeder Änderung an den Modelldateien ein Abgleich eingeleitet, um die Änderungen zu übernehmen. Das wird Automatischer Abgleich genannt. Dies ist die empfohlene Einstellung. Wenn Sie jedoch mehr Kontrolle über das Abgleichen haben möchten, können Sie Simon anweisen, vor jedem Abgleichen nachzufragen oder das manuelle Abgleichen auswählen. Dann wird das Abgleichen nie automatisch eingeleitet - stattdessen müssen Sie den Menüpunkt Aktionen → Abgleichen im Hauptfenster von Simon jedes mal auswählen, wenn Sie das Sprachmodell kompilieren möchten. Der Simond-Server bewahrt eine Kopie der letzten fünf Versionen von den „Quelldateien” (Wortliste, Grammatik, usw.) des Modells auf. Wenn Sie eine frühere Version einspielen, wird aber das kompilierte Modell anhand dieser Quelldateien automatisch neu generiert. Wählen Sie dazu - wenn Sie mit dem Server verbunden sind - eines der verfügbaren Modelle aus und stellen Sie es mit einem Klick auf Modell auswählen wieder her. 3.7.6 Aktionen Mit der Einrichtung von Aktionen kann die Reaktion auf Erkennungsergebnisse eingestellt werden. 3.7.6.1 Erkennung Neben dem wahrscheinlichsten Ergebnis kalkuliert Simon die 10 besten Erkennungsergebnisse. Jedes Ergebnis wird mit einer Punkteanzahl zwischen 0 und 1 versehen (wobei 1 einer Sicherheit von 100% entspricht). 47 Das Handbuch zu Simon Mit Hilfe der Minimale Zuversicht können Sie eine minimale Zuversicht für Erkennungsergebnisse einstellen. Alle Ergebnisse unter diesem Wert werden ignoriert. Wenn mehr als ein Erkennungsergebnis diesen Wert überschreitet, wird ein Dialog mit den wahrscheinlichsten Ergebnissen anzeigt, aus denen dann ausgewählt werden kann. Dieser Dialog kann über die Einstellung Bei ungenauen Ergebnissen Auswahlliste anzeigen kontrolliert werden. 3.7.6.2 Dialog-Schriften Viele Module von Simon haben eine grafische Oberfläche. Die Schriftarten dieser Oberflächen können hier zentral eingestellt werden - unabhängig von den Systemschriftarten Ihres Betriebssystems. 3.7.6.3 Listen Hier finden Sie die globale Listeneinrichtung. Diese fungiert als Vorlage für neue Szenarien, aber wird auch direkt verwendet für das Auswahlfenster für mehrdeutige Erkennungsergebnisse. 48 Das Handbuch zu Simon 3.7.7 Sprachausgabe Einige Teile von Simon, vor allem das Dialog-Befehlsmodul, verwenden Sprachausgabesysteme (´´TTS´´), um Texte vorzulesen. 3.7.7.1 Backends Verschiedene externe Sprachausgabesystem können mit Simon zum Vorlesen benutzt werden. Mehrere Backends können gleichzeitig aktiviert sein und werden in der eingestellten Reihenfolge abgefragt, bis ein Backend gefunden wurde, das die erforderliche Nachricht vorlesen kann. Die folgenden Backends sind vorhanden: • Aufnahmen Anstatt ein Sprachausgabesystem zum Vorlesen beliebiger Texte zu verwenden, können auch Texte vorher aufgenommen un dann nur wiedergegeben werden. • Jovie Verwendet dasJovie-Sprachausgabesystem. Dazu ist eine funktionierende Einrichtung von Jovie nötig. • Web-Dienst Mit dem Backend Web-Dienst kann jedes Sprachausgabesystem mit einer Web-Oberfläche benutzt werden, das .wav zurückgeben kann. 3.7.7.2 Aufnahmen Anstatt ein externes Sprachausgabesystem zu verwenden, können Sie auch selbst oder durch andere Sprecher vorgelesene Texte aufnehmen. Sie können dann diese Aufnahmen in Simon anstelle eines Sprachausgabesystems abspielen. Diese Aufnahmen werden in Gruppen verschiedener Sprecher organisiert, die auch importiert und exportiert werden können, um Sie mit anderen Benutzern von Simon zu teilen. 49 Das Handbuch zu Simon 3.7.7.3 Web-Dienst Mit dem Web-Dienst kann Simon webbasierte Sprachausgabesysteme wie MARY verwenden. Sie können eine beliebige URL angeben. Simon ersetzt jedes Vorkommen von „%1“ in der eingestellten URL mit dem zu synthetisierenden Text. Das Backend erwartet vom Web-Dienst die Rückgabe einer .wav-Datei. Diese Datei wird eingelesen und durch die von Simon genutzten Soundgeräte unter Berücksichtigung der Sound-Einstellungen wiedergegeben. 50 Das Handbuch zu Simon 3.7.8 Social-Desktop Szenarien können vom Programm Simon aus hochgeladen und heruntergeladen werden. Dafür wird KDEs Social-Desktop und die eigene Kategorie für Simon-Szenarien auf kde-files.org verwendet. Wenn Sie bereits einen Zugang für opendesktop.org besitzen, können Sie die Anmeldedaten hier angeben. Ansonsten können Sie direkt im Einrichtungsmodul auch einen neuen Zugang anlegen. Die Registrierung ist natürlich kostenlos. 3.7.9 Webcam-Einrichtung Auf der Seite Webcam können Sie die Anzahl der Bilder pro Sekunde und die zu verwendende Webcam auswählen, wenn mehrere Webcams mit Ihrem System verbunden sind. Bilder pro Sekunde ist die Rate, mit der die Webcam einzelne fortlaufende Bilder aufnimmt. Der optimale Wert für diese Einstellung liegt zwischen 5 und 15 Bildern pro Sekunde für eine ausreichende Leistung. 3.7.10 Erweitert: Erkennungsparameter manuell anpassen Simon wurde für normale Benutzer entwickelt. Das Benutzerschnittstelle ist darauf ausgelegt, das sogar Endbenutzern ohne Hintergrundwissen in Spracherkennung eigene Sprach- und Akustikmodelle entwerfen können. Dazu sind viele Standardwerte bereits beim ersten Öffnen der Programms festgelegt. In besonderen Fällen wie zum Beispiel bei schweren Sprachstörungen kann es notwendig werden, einige tiefgreifende Parameter anzupassen. Deshalb werden auch die eingestellten Werte in den Einrichtungsdateien für die Erkennung berücksichtigt. Diese Einrichtungsdateien können natürlich frei angepasst werden als würden Sie direkt mit Julius arbeiten. 51 Das Handbuch zu Simon 3.7.10.1 Julius Es gibt zwei Teile der Einstellungen für Julius, die angepasst werden können: • adin.jconf Das ist die Einstellung, die den Sound-Stream vom Simon-Client zum Simond-Server steuert. Die Datei wird direkt vom „adinstreamer“ gelesen. Simon liefert eine Standarddatei „adin.jconf“ ohne besondere Parameter aus. Sie können die systemweite Einstellung für alle Benutzer anpassen, wenn Sie mehr als einen Benutzer für Simon auf Ihrem Rechner haben. Wenn Sie die Einstellung nur für einen bestimmten Benutzer anpassen wollen, kopieren Sie die Einstellung zum Benutzerpfad und passen Sie die Kopie an. • julius.jconf Das ist die Einstellung des Simond-Servers, die direkt die Erkennung beeinflusst. Die Datei wird direkt von den Bibliotheken libjulius und libsent gelesen. Simond wird auch mit einer Standarddatei julius.jconf ausgeliefert. Immer wenn ein neuer Benutzer zur Simond-Datenbank hinzugefügt wird, wird automatisch eine Kopie der systemweiten julius.jconf angelegt und in den Ordner des neuen Benutzers kopiert. Sie können die einzelnen Dateien der jeweiligen Simond-Benutzer natürlich frei anpassen. Die Änderungen an der systemweiten Standardvorlage beeinflussen aber keine bereits angelegten Benutzer. Der Pfad zu den Julius-Einrichtungsdateien wird von der verwendeten Plattform abhängen: Datei adin.jconf (System) adin.jconf (Benutzer) julius.jconf (Vorlage) julius.jconf (Benutzer) Microsoft Windows (Installationspfad)\share\apps\simon\adin.jconf %appdata%\.kde\share\apps\simon\adin.jconf GNU/Linux ‘kde4-config --prefix‘/share/apps/simon/adin.jconf ~/.kde/share/apps/simon/adin.jconf ‘kde4-config (Installationspfad)\share\--prefix‘/share/apps/simoapps\simond\default.jconf nd/default.jconf %appdata%\.kde\share\a~/.kde/share/apps/simonpps\simond\models\(Ben- d/models/(Benutzer)/actiutzer)\active\julius.jconf ve/julius.jconf Tabelle 3.1: Julius-Einrichtungsdateien 52 Das Handbuch zu Simon Kapitel 4 Erweitert: Neue Szenarien mit Simon erstellen Das folgende Kapitel ist für erfahrenen Benutzer, die Ihre eigenen Szenarien entwerfen möchten. Für allgemeine Anweisungen zur Benutzung lesen Sie bitte das Kapitel Simon als normaler Benutzer verwenden. 4.1 Einführung Um neue Szenarien hinzuzufügen, erstellen Sie zuerst eine Szenario-Vorlage, indem Sie ein neues Szenario-Objekt hinzufügen und es dann im Hauptfenster von Simon öffnen. Möchten Sie stattdessen ein vorhandenes Szenario ändern, müssen Sie es zuerst öffnen. Ein Szenario für Simon besteht aus den folgenden Komponenten: • Vokabular • Grammatik • Trainingstexte • Kontext • Befehle Vor der Beschreibung der Einrichtung dieser Elemente in Simon, werden im nächsten Abschnitt Hintergrundinformationen gegeben, mit denen Sie die grundlegenden Prinzipien von Sprachmodellen verstehen können. Diese grundlegenden Kenntnisse sind nötig, um sinnvolle Szenarien zu entwerfen. 4.2 Spracherkennung: Hintergrundwissen ANMERKUNG Vor der Erklärung wie neue Szenarien mit Simon erstellt werden können, gibt es in diesem Abschnitt einige grundlegenden Informationen zur allgemeinen Spracherkennung. 53 Das Handbuch zu Simon Spracherkennungssysteme verwandeln Spracheingabe (von einem Mikrofon) und versuchen diese in einen geschriebenen Text umzuwandeln. Dazu benutzen sie eine statistische Repräsentation der gesprochenen Sprache. Um es einfach auszudrücken: Der Rechner lernt, wie die Wörter - oder besser gesagt die Laute, die die Wörter ausmachen - klingen. Ein Sprachmodell besteht aus zwei Teilen (im Deutschen wird leider nicht zwischen „Sprache“ im Sinne von „Sprechweise“ und der „Sprache“ im Sinne von Deutsch, Englisch, usw. unterschieden. Deshalb besteht das Sprachmodell („speech model“) aus einem Sprachmodell („language model“) und einem Akustikmodell („acoustic model“)): • Sprachmodell • Akustikmodell 4.2.1 Sprachmodell Das Sprachmodell definiert das Vokabular und die Grammatik, die verwendet wird. 4.2.1.1 Vokabular Das Vokabular definiert, welche Wörter der Erkennungsprozess erkennen sollte. Jedes Wort, dass Simon erkennen können soll, muss in der Wortliste vorkommen. Ein einzelner Eintrag in der Wortliste definiert exakt ein „Wort”. Ein „Wort” bedeutet in Simon eine einzigartige Kombination aus: • Wortname (Das geschriebene Wort selbst) • Kategorie (Grammatik-Kategorie, z.B.: „Nomen”, „Verb”, usw..) • Aussprache (Wie das Wort ausgesprochen wird, Simon akzeptiert alle Formen von Lautschrift solange Sie weder Zahlen noch Sonderzeichen beinhalten) Das bedeutet, dass Mehrzahlformen oder Unterschiede in Groß- / Kleinschreibung als unterschiedliche Wörter behandelt werden. Dadurch erlaubt eine ausgefeilte Grammatik noch mehr Kontrolle. Generell wird empfohlen, dass Vokabular so schlicht wie möglich zu halten. Je mehr Wörter die Wortliste umfasst, desto wahrscheinlicher ist es, dass Simon etwas Falsches erkennt. Ein Beispiel-Vokabular, bitte beachten Sie, dass die Kategorien absichtlich auf Nomen / Verb gesetzt sind um das Verständnis zu erleichtern. Bitte lesen Sie im Abschnitt Grammatik, warum dies nicht optimal ist: Wort Computer Internet Mail Schließen Kategorie Substantiv Substantiv Substantiv Verb Tabelle 4.1: Beispielvokabular 54 Aussprache k O m p j u: t @ r Int@rnEt mEIl S l i: s @ n Das Handbuch zu Simon 4.2.1.1.1 Aktives Vokabular Das Vokabular, dass für die Erkennung verwendet wird, wird als aktives Vokabular bezeichnet. 4.2.1.1.2 Schattenwörterbuch Wie bereits gesagt, sollte der Benutzer sein Vokabular so klein wie möglich zu halten. Anderseits sollte es Informationen über die Aussprache von möglichst vielen Wörter beinhalten, um das Hinzufügen neuer Wörter zu erleichtern. Simon bietet deshalb ein Referenzwörterbuch, das „Schattenwörterbuch” genannt wird. Das Schattenwörterbuch ist ein zweites Vokabular, welches nicht für die Erkennung verwendet wird. Es kann mit fertigen Wörterbüchern gefüllt werden. Der Benutzer kann dann beim Hinzufügen von neuen Wörtern von den Informationen aus dem Schattenwörterbuch profitieren. Weil Simon eine mehrsprachige Lösung ist, wird es nicht mit einem Schattenwörterbuch ausgeliefert. Allerdings ist es sehr einfach, Wörterbücher mit dem Assistenten zu erstellen. Lesen Sie dazu den Abschnitt Wörterbuch Importieren. 4.2.1.1.3 Sprachenprofile Zusätzlich zu Schattenwörterbüchern kann Simon ein Sprachenprofil benutzen, um Ihnen bei der Transkription von Wörtern zu helfen. Ein Sprachenprofil besteht aus Regeln, wie Wörter in der Zielsprache ausgesprochen werden. Es ist damit vergleichbar, wie Menschen ein Wort, das Sie nie gehört haben, meistens aussprechen können, weil Sie einige implizite „Ausspracheregeln” der Sprache kennen. Wie bei Menschen funktioniert dieser Prozess nicht perfekt, liefert aber brauchbare Grundlagen. Diese automatische Ableitung einer Phonem-Transkription aus einem geschriebenen Word wird auch „Umwandlung von Graphem in Phonem” genannt. Für Simon muss das Programm Sequitur G2P zur Umwandlung von Grapheme in Phoneme installiert und für Sprachenprofile eingerichtet sein. Haben Sie ein vordefiniertes Sprachenprofil ausgewählt oder ein eigenes Profil erstellt, transkribiert Simon damit automatisch neue Wörter, wenn Sie nicht in Ihrem Schattenwörterbuch gefunden wurden. 4.2.1.2 Grammatik Die Grammatik definiert, welche Wortkombinationen korrekt sind. Beispiel: Sie wollen Simon benutzen, um Programme zu starten und die Programmfenster zu schließen, wenn Sie fertig sind. Sie würden gerne die folgenden Befehle verwenden: • „Rechner, Internet”, um einen Browser zu öffnen • „Rechner, E-Mail” Um ein E-Mailprogramm zu öffnen • „Rechner, schließen” Um das aktuelle Fenster zu schließen Wenn wir der deutschen Grammatik folgen, würde die Grammatik die folgenden Einträge beinhalten: 55 Das Handbuch zu Simon Wort Computer Internet Mail Schließen Kategorie Substantiv Substantiv Substantiv Verb Tabelle 4.2: Beispielvokabular Für die oben definierten Sätze wird folgende Grammatik benötigt: • „Nomen Nomen” für Sätze wie „Rechner Internet” • „Nomen Verb” für Sätze wie „Rechner schließen” Das würde zwar funktionieren, aber würde auch Kombinationen wie „Rechner Rechner”, „Internet Rechner”, „Internet Internet”, usw. erlauben, die alle nicht wirklich sinnvoll sind. Um die Erkennungsgenauigkeit zu erhöhen, können wir unsere Grammatik optimieren. Beachten Sie, dass jeder Benutzer mit Simon seine eigene „Sprache” definiert. Das bedeutet, dass Sie in keiner Weise an die Grammatikregeln der zugrunde liegenden „echten” Sprache (Deutsch, Englisch, usw.) gebunden sind. Für eine einfache Steuerung des Rechners ist es sogar empfehlenswert, eigene Grammatikregeln zu erfinden, um grammatikalische Unterschiede, die für den Anwendungsfall nicht wichtig sind, wie auch unsinnige Sätze auszuschließen. In dem Beispiel oben ist es beispielsweise nicht wichtig, dass „schließen” ein Verb ist oder dass „Rechner” und „Internet” Nomen sind. Stattdessen sollten sie so definieren, dass sie besser verwendet werden können. Wort Computer Internet Mail Schließen Kategorie Auslöser Befehl Befehl Befehl Tabelle 4.3: Verbessertes Beispielvokabular Jetzt wird die Grammatik folgendermaßen geändert: • „Auslöser Befehl” Damit können alle vorher beschriebenen Kombinationen erkannt werden. Aber die Erkennungsergebnisse sind auch auf genau diese drei Sätze beschränkt. Vor allem in größeren Modellen kann eine gut durchdachte Grammatik und ein dazu passendes Vokabular große Unterschiede in der Erkennungsrate bewirken. 4.2.2 Akustikmodell Das Akustikmodell repräsentiert die Aussprache in einem maschinenlesbaren Format. Betrachten wir das folgende Beispielvokabular: 56 Das Handbuch zu Simon Wort Computer Internet Mail Schließen Kategorie Substantiv Substantiv Substantiv Verb Tabelle 4.4: Beispielvokabular Aussprache k O m p j u: t @ r Int@rnEt mEIl S l i: s @ n Die Aussprache jedes Wortes besteht aus einzelnen Lauten, die durch Leerzeichen getrennt sind. Das Wort „schließen” besteht beispielsweise aus den folgenden Lauten: • S • l • i: • s • @ • n Das Akustikmodell nutzt die Tatsache, dass gesprochene Wörter genauso aus Lauten bestehen wie geschriebene Wörter aus Buchstaben. Darauf aufbauend können wir Wörter in einzelne Laute zerlegen und sie bei der Erkennung wieder „zusammenbauen“. Diese Bausteine nennt man „Phoneme”. Das Akustikmodell beinhaltet Daten, wie die einzelnen Phoneme und nicht ganze Wörter vom Anwender ausgesprochen werden. Das Trainingsmaterial eines Wortes beeinflusst deshalb auch die Erkennungsrate ähnlicher Worte positiv. Das bedeutet, wenn zum obigen Beispielvokabular nun noch das Wort „Mailen” hinzugefügt wird, weiß das Akustikmodell bereits ungefähr, wie es klingen, wird weil das Wort aus den Phonemen „m”, „E”, „I”, „l”, „E”, „N” besteht und die Phonem-Kombination „m”, „E”, „I”, „l” ja bereits für „Mail” trainiert wurde. Wird jetzt eines der beiden Wörter trainiert, verbessert sich die Erkennung beider Wörter. Natürlich müssen aber auch die Phoneme „E” und „N” trainiert werden, weshalb ein alleiniges Training vom Wort „Mail” nicht ausreicht um „Mailen” zu erkennen. Um das Akustikmodell zu trainieren und zu lernen, wie die Phoneme von Ihnen ausgesprochen werden, müssen Wörter aus Ihrem Sprachmodell „trainiert” werden. Das bedeutet, dass Simon das Wort anzeigt und Sie dieses laut vorlesen. Weil Simon das Wort aus seinem Vokabular bereits kennt, weiß das Programm, aus welchen Phonemen es besteht. Damit kann das Programm dann Ihre persönliche Aussprache dieser Phoneme „lernen”. 4.3 Szenarien Dieser Abschnitt erweitert den vorherigen über einfache Szenarienverwaltung und erläutert, wie Szenarien erstellt, bearbeitet und exportiert werden. 57 Das Handbuch zu Simon 4.3.1 Hierarchien für Szenarien Sie können Hierarchien für Szenarien durch Ziehen und Ablegen von aktiven Szenarien aufeinander erstellen. Für Hierarchien für Szenarien gibt es zwei Anwendungsfälle: • Das Kontextsystem berücksichtigt Hierarchien von Szenarien: Wenn das übergeordnete Szenario deaktiviert wird, werden alle untergeordneten Szenarien ebenfalls deaktiviert. 58 Das Handbuch zu Simon • Möchten Sie ein Szenario mit Unterelementen exportieren möchten, wird dies in Simon als gemeinsames Szenarien-Paket exportiert. Auf diese Weise können Sie logisch zusammenhängende Szenarien freigeben, z. B. ein Szenario „Büro” mit untergeordneten Szenarien für „Word”, „Excel” usw. 4.3.2 Ein neues Szenario hinzufügen Um ein neues Szenario hinzuzufügen, wählen Sie den Knopf Hinzufügen aus. Ein Dialog wird angezeigt. Wenn Sie ein neues Szenario erzeugen, geben Sie Ihm bitte einen beschreibenden Namen. Um es später auf KDE files hochzuladen, sollten Sie bitten das folgende Namensschema übernehmen: ´´[<Sprache>/<Basismodell>] <Name>´´. Wenn Sie zum Beispiel ein deutsches Szenario erzeugen, das mit dem Voxforge-Basismodell funktioniert, um Mozilla Firefox zu kontrollieren, sollte folgender Name benutzt werden: ´´[DE/VF] Firefox´´. Ist Ihr Szenario nicht speziell auf einen Phonem-Satz oder ein Basismodell zugeschnitten, können Sie die zweite Markierung entfernen: ´´[DE] Firefox´´. Die Szenario-Version ist nur eine fortlaufende Nummer, die es erleichtert, zwischen verschiedenen Versionen des selben Szenarios zu unterscheiden. Wenn Ihr Szenario eine spezielle Funktion von Simon verwendet (zum Beispiel ein neues Modul), können Sie hier die minimal benötigte Simon-Versionsnummer angeben. Wurde die benötigte Funktionalität entfernt, lässt sich auch eine maximale Versionsnummer definieren. Die Lizenz lässt sich über das Auswahlfeld auswählen. Sie können auch beliebigen Text in das Eingabefeld eintragen. Sie können Ihren Namen (oder Alias) zu der Liste der Szenario-Autoren hinzufügen. Sie werden auch nach einer Kontaktmöglichkeit gefragt werden. Diese Kontaktmöglichkeit kann dazu verwendet werden, den Autor über Änderungen der Szenarien in Simon zu kontaktieren usw. Wenn Sie keine Kontaktinformation möchten, geben Sie einfach einen Strich „-” ein. 4.3.3 Szenarien bearbeiten Um Szenarien zu editieren, wählen Sie Bearbeiten im Dialog Szenarien verwalten. 59 Das Handbuch zu Simon Der Dialog funktioniert genauso wie der DialogSzenarien hinzufügen. 4.3.4 Szenarien exportieren Szenarien können in eine lokale Datei im Format XML-Szenario exportiert werden. Diese Datei kann dann in den Abschnitt Simon-Szenarien der OpenDesktop-Seite KDE-files.org hochgeladen werden. Um auf den OpenDesktop-Seiten hochladen zu können, benötigen Sie einen Konto auf der Seite. Die Registrierung ist allerdings sehr leicht und natürlich kostenlos. Simon erlaubt es Ihnen, neue Inhalte direkt von der Benutzeroberfläche heraus hochzuladen (Exportieren > Veröffentlichen). 60 Das Handbuch zu Simon 61 Das Handbuch zu Simon Um diese Funktionalität zu verwenden, geben Sie einfach Ihre Anmeldungsdaten auf der Seite Sozialer Desktop im Einrichtungsdialog ein. 4.4 Vokabular Das Vokabularmodul definiert die Menge der Wörter des Szenarios. Standardmäßig wird das aktive Vokabular angezeigt. Um das Schattenwörterbuch anzuzeigen, wählen Sie die Registerkarte Schattenwörterbuch. 62 Das Handbuch zu Simon Für jedes Wort wird eine „Erkennungsrate” angezeigt. Die Erkennungsrate zeigt an, wie oft ein Wort aufgenommen wurde (alleine oder zusammen mit anderen Wörtern). 4.4.1 Wörter hinzufügen Um neue Wörter zum aktiven Vokabular hinzuzufügen, benutzen Sie bitte den Assistenten „Wort hinzufügen“. Wörter in Simon hinzuzufügen besteht im Prinzip aus zwei Schritten: • Definition des Wortes • Erstes Training 4.4.1.1 Definition des Wortes Zuerst wird der Benutzer gefragt, welches Wort hinzugefügt werden soll. 63 Das Handbuch zu Simon Wenn der Benutzer weiter zur nächsten Seite geht, versucht Simon automatisch, so viel Information wie möglich über das hinzuzufügende Wort im Schattenwörterbuch zu finden. Wenn das Wort im Schattenwörterbuch vorkommt, werden automatisch alle benötigten Felder ausgefüllt (Kategorie und Aussprache). Alle Vorschläge vom Schattenwörterbuch sind in der Tabelle Ähnliche Wörter aufgelistet. In der Voreinstellung werden nur exakte Treffer angezeigt. Allerdings kann dies geändert werden, wenn die Einstellung Ähnliche Wörter einbeziehen deaktiviert wird. Da die meisten Lautschriften relativ leicht zu lesen sind, kann dann leicht aus ähnlichen Wörtern die korrekte Aussprache abgeleitet werden. Lesen Sie den nächsten Abschnitt mit weiteren Informationen. 64 Das Handbuch zu Simon Das hängt natürlich von Ihrem Schattenwörterbuch ab. Wenn das Schattenwörterbuch die Wörter, die Sie hinzufügen wollen, nicht enthält, müssen die notwendigen Felder manuell ausgefüllt werden. Manche Wörterbücher, die von Simon importiert werden können (SPHINX, HTK), unterscheiden nicht zwischen Groß- und Kleinschreibung und beinhalten alle Wörter in Großbuchstaben. Natürlich kann die Schreibweise beim Hinzufügen frei geändert werden. Einige Wörterbücher, die von Simon importiert werden können (SPHINX, PLS und HTK), beinhalten keine grammatikalische Information. Da alle Wörter in Simon einer Kategorie angehören müssen, wird ihnen die Kategorie Unbekannt beim Import zugewiesen. Sie sollten beim Hinzufügen der Wörter zum aktiven Lexikon dann die Kategorie entsprechend anpassen. 4.4.1.1.1 Manuelle Auswahl einer Kategorie Die Kategorie eines Wortes ist als dessen grammatikalische Kategorie definiert. Das kann im Sinne der deutschen Grammatik Nomen, Verb oder etwas komplett anderes sein, zum Beispiel eine erfundene Kategorien wie Befehl. Für mehr Informationen lesen Sie bitte den Abschnitt Grammatik. Die Liste beinhaltet alle Kategorien, die bis jetzt in Ihrem aktiven und Schattenwörterbuch sowie in Ihrer Grammatik verwendet wurden. Sie können neue Kategorien zu der Liste hinzufügen, indem Sie das grüne Plus-Symbol verwenden. 4.4.1.1.2 Phonetische Transkription manuell angeben Die Aussprache ist etwas komplizierter. Simon benötigt zwar keinen bestimmten Lautschriftstandard, solange er nur aus Buchstaben (keine Zahlen und Sonderzeichen) besteht. Allerdings ist es empfehlenswert die Lautschrift und das Phonemset des Schattenwörterbuchs zu übernehmen. Wenn Sie nicht wissen, wie ein Wort transkripiert wird, können Sie dazu die Informationen aus dem Schattenwörterbuch verwenden - sogar wenn das Wort dort nicht vorkommt. Wenn Sie zum Beispiel das Wort „Firefox” hinzufügen möchten, um den Webbrowser Firefox zu starten, ist dieses Wort höchstwahrscheinlich nicht im Schattenwörterbuch vorhanden. Hier wird das englische HTK-Lexikon von Voxforge Schattenwörterbuch verwendet. „Firefox” ist nicht in unserem Schattenwörterbuch enthalten. Deshalb schlägt Simon keine Werte vor. 65 Das Handbuch zu Simon Wir wissen aber, dass das Wort Firefox genauso wie die Wörter „Feier” (Fest) und „Fox” (Fuchs) ausgesprochen wird. Öffnen Sie also das Vokabular (Sie können den Assistenten geöffnet lassen) indem Sie Vokabular in der Werkzeugleiste auswählen. Wechseln Sie zum Schattenwörterbuch, indem Sie auf den Karteireiter Schattenwörterbuch klicken. Suchen Sie mit der Filterfeld über der Liste nach „Feier”: Sie können sehen, dass das Wort „Feier” mit „f aI @ r” transkribiert wurde. Filtern Sie jetzt nach „Fox” statt „Feier” und Sie sehen, dass „Fox” wie „f O k s” ausgesprochen wird. Daraus können Sie ohne Probleme ableiten, dass das englische „Firefox” auf Deutsch wie „Feierfox”, also wie „f aI @ r f O k s” ausgesprochen und transkribiert wird. 66 Das Handbuch zu Simon Mit diesem Vorgehen können Sie die Betonung von ähnlich ausgesprochenen Wörtern ableiten. Diese Strategie hat auch den Vorteil, dass selbst Laien mit einem guten Schattenwörterbuch sehr gute Transkriptionen finden können und dabei auch die gleichen Phoneme verwenden, die im Schattenwörterbuch vorkommen und somit automatisch für Wörter verwendet werden, die im Schattenwörterbuch gefunden wurden und nur ins aktive Lexikon übernommen worden sind. Sie können jetzt die korrekte Aussprache angeben und die Kategorie ändern. 4.4.1.2 Wörter trainieren Um den Assistenten abzuschließen, können Sie jetzt das Wort zwei mal aufnehmen. Falls Sie das nicht möchten oder zum Beispiel ein statisches Modell verwenden, können Sie die folgenden zwei Seiten überspringen. Bei den Trainingsaufnahmen zeigt Simon die Lautstärkeeinpegelung an, um damit sicherzustellen, dass das Mikrofon richtig eingestellt ist. Für mehr Informationen lesen Sie bitte den AbschnittLautstärkeeinpegelung. Simon versucht automatisch Sie beim Training nach Sätzen statt einzelnen Wörtern zu fragen. Dazu wird Simon Ihre Grammatik nach Satzstrukturen durchsuchen, die die Kategorie des neuen Wortes beinhalten und dann anhand der Kategorien anderer Wörter in ihrem aktiven Lexikon einen gültigen Satz bilden. Sie haben zum Beispiel eine Grammatikstruktur „Auslöser Befehl” und haben das Wort „Rechner” in der Kategorie „Auslöser” in Ihrem Vokabular. Sie fügen dann ein Wort „Firefox” aus der Kategorie „Befehl” hinzu. Simon wird dann automatisch den Satz „Rechner Firefox” bilden und diesen für das erste Training des Wortes verwenden, weil es laut der Grammatik ein gültiger Satz ist. Wenn kein gültiger Satz gebildet werden kann (z.B. wenn die Kategorie (noch) nicht in ihrer Grammatik vorkommt oder Sie keine Grammatik definiert haben), werden Sie nur nach dem einzelnen Wort gefragt. Obwohl Simon sicher stellt, dass die automatisch generierten Beispiele für das erste Training korrekt sind, können die diese Vorschläge jederzeit ändern. Wechseln Sie dazu auf der Karteikarte Beispiel zur Seite Wörter definieren. 67 Das Handbuch zu Simon Sie können die Beispiele frei editieren. Sie können sogar Wörter verwenden, die noch nicht in Ihrem aktivem Lexikon vorkommen, solange Sie sie hinzufügen, bevor Sie das nächste mal das Modell abgleichen. Das wird jedoch nicht empfohlen. Nun bleibt nur noch das Wort aufzunehmen. Bitte beachten Sie die Richtlinien und Hinweise im Abschnitt Aufnahmen. 68 Das Handbuch zu Simon 4.4.2 Wörter bearbeiten Um ein Wort zu ändern, wählen Sie es im angezeigten Vokabular aus und klicken Sie auf Bearbeiten. Hier können Sie Namen, Kategorie und Aussprache des ausgewählten Wortes ändern. 4.4.3 Wörter entfernen Um ein Wort aus dem Sprachmodell zu entfernen, wählen Sie es im Vokabular aus und klicken dann auf Entfernen. Wie Sie sehen, bietet der Dialog vier Auswahlmöglichkeiten: • Das Wort zur Kategorie Ungenutzt verschieben. Weil Sie (hoffentlich) die Kategorie Unbenutzt in Ihrer Grammatik nicht verwenden, werden Wörter dieser Kategorie nicht länger für die Erkennung verwendet. Sie werden vom aktiven 69 Das Handbuch zu Simon Vokabular entfernt, bevor das Modell erstellt wird, weil keine Grammatikstruktur sie mehr referenziert. Wenn Sie die Kategorie Ungenutzt in Ihrer Grammatik verwenden möchten, können Sie natürlich eine andere Kategorie für unbenutzte Wörter verwenden. Sie können die Kategorie über den Dialog Wort bearbeiten einstellen. Um das Wort erneut zu verwenden, setzen Sie es wieder auf die richtige Kategorie. Assoziierte Trainingsdaten bleiben erhalten. • Verschiebt das Wort zum Schattenwörterbuch Dies wird das ausgewählte Wort aus dem aktiven Lexikon (und damit aus der Erkennung) entfernen, aber eine Kopie des Worts im Schattenwörterbuch behalten. Alle Aufnahmen (Trainingsdaten) mit diesem Wort bleiben erhalten. Um das Wort wieder zu verwenden, fügen Sie es wieder zum aktiven Vokabular dazu. Wenn Sie ein neues Wort mit dem selben Namen hinzufügen, werden die Werte dieses Wortes vorgeschlagen. Es gehen also keine Daten unwiederbringlich verloren. • Wort löschen aber Aufnahmen behalten Entfernt das Wort komplett, aber behält Aufnahmen, in denen es vorkommt. Wenn Sie ein weiteres Wort mit dem selben Namen hinzufügen, werden die Aufnahmen wieder damit verbunden. Seien Sie vorsichtig mit dieser Option, da das neu hinzugefügte Wort möglicherweise anders transkripiert wird und dieser Unterschied nicht automatisch erkannt und beachtet wird. Simon wird dann bei der Modellgenerierung die neue Aussprache auch bei den alten Aufnahmen erwarten. Wählen Sie diese Option nicht, wenn die Aufnahmen für das Wort falsch (betont) waren. • Das Wort komplett löschen Entfernt das Wort. Alle Aufnahmen, die das Wort beinhalten, werden ebenfalls entfernt. Diese Option lässt keine Spuren weder von dem Wort selbst noch von assoziierten Sprachdaten auf dem System zurück. Da Aufnahmen global sind (nicht zu einem spezifischen Szenario zugewiesen), werden auch Aufnahmen, die in Trainingssitzungen von anderen Szenarien aufgenommen wurden, entfernt, wenn Sie dieses Wort beinhalten. Verwenden Sie diese Funktion mit Vorsicht. 4.4.4 Spezialtraining Bitte lesen Sie den Abschnitt Spezialtraining im Trainingskapitel. 4.4.5 Wörterbücher importieren Simon bietet die Möglichkeit, große Wörterbücher als Nachschlagewerk zu importieren. Diese Nachschlagewerke werden Schattenwörterbuch genannt. Wenn der Benutzer ein neues Wort hinzufügt, muss er die folgenden Charakteristika des Wortes angeben: • Wortname • Kategorie • Phonetische Definition 70 Das Handbuch zu Simon Diese Charakteristiken werden automatisch aus dem Schattenwörterbuch genommen wenn das Schattenwörterbuch ein Wort mit dem selben Wortnamen führt. Ein großes, hochqualitatives Schattenwörterbuch kann deshalb beim Hinzufügen neuer Wörter sehr hilfreich sein weil der Benutzer sich in den meisten Fällen kaum mit den Details wie Phonem-Sätzen auseinander setzen muss oder oft einfach vergessen kann, dass eine phonetische Transkription immer noch nötig ist. Seit Version 0.3 können Sie Wörterbücher auch direkt in das aktive Vokabular importieren. Diese Option erleichtert es, von selbst entwickelten manuellen Lösungen auf Simon umzusteigen und um Modelle aus älteren Versionen von Simon zu importieren (z.B. aus Version 0.2). Sie werden fast nie ein sehr großes Wörterbuch in das aktive Vokabular importieren wollen. Sie finden eine Liste verfügbarer Wörterbücher, die mit Simon getestet wurden, im Simon-Wiki. Simon kann derzeit mit fünf verschiedenen Wörterbuchformaten umgehen: • HADIFIX • HTK • PLS • SPHINX • Julius 4.4.5.1 HADIFIX-Wörterbuch Simon kann HADIFIX-Wörterbücher importieren. Ein Beispiel eines HADIFIX-Wörterbuches ist das deutsche HADIFIX BOMP. Hadifix-Wörterbücher enthalten Informationen sowohl über Kategorien wie auch über die Aussprache. Durch eine spezielle Ausnahme in der Lizenz ist das Simon-Listens-Team stolz darauf, Ihnen das direkte Herunterladen und Importieren des ausgezeichneten HADIFIX-BOMPs in Simon anbieten zu können. 71 Das Handbuch zu Simon Mit dem automatischen BOMP-Import können Sie, nachdem Sie Namen und E-Mail-Adresse für die Universität Bonn angegeben haben, das Wörterbuch direkt von einem Simon-listens-Server importieren. 4.4.5.2 HTK-Wörterbuch Simon kann HTK-Wörterbücher importieren Ein Beispiel eines HTK-Wörterbuchs ist das englische Voxforge Wörterbuch. HTK-Wörterbücher bieten Ausspracheinformationen, aber keine Kategorien. Alle Wörter werden der Kategorie Unbekannt zugewiesen. 4.4.5.3 PLS-Wörterbuch Simon kann PLS-Wörterbücher importieren. Ein Beispiel eines PLS-Wörterbuches ist das Deutsche GPL Wörterbuch von Voxforge. PLS-Wörterbücher bieten Ausspracheinformationen, aber keine Kategorien. Alle Wörter werden der Kategorie Unbekannt zugewiesen. 4.4.5.4 SPHINX-Wörterbuch Simon kann SPHINX-Wörterbücher importieren. Ein Beispiel eines SPHINX-Wörterbuches ist das Wörterbuch für Mexikanisches Spanisch. SPHINX-Wörterbücher bieten Ausspracheinformationen, aber keine Kategorien. Alle Wörter werden der Kategorie Unbekannt zugewiesen. 72 Das Handbuch zu Simon 4.4.5.5 Julius-Wörterbuch Simon kann Julius-Wörterbücher importieren. Ein Beispiel eines Julius-Wörterbuchs sind Wortlisten von Simon 0.2. Julius-Wörterbücher enthalten Informationen über Aussprache und Kategorie. 4.4.6 Sprachenprofile erstellen Hier können Sie ein Sprachenprofil aus Ihren Schattenwörterbuch erstellen. Nach der Auswahl von Profil erstellen analysiert Simon das aktuelle Schattenwörterbuch und versucht die Transkriptions-Regeln daraus abzuleiten. Dies ist meistens ein sehr lang dauernder Prozess, der abhängig von der Größe Ihres Schattenwörterbuchs mehrere Stunden dauern kann. Die erzeugten Profile werden automatisch ausgewählt, wenn der Prozess beendet ist. 4.5 Grammatik Simon bietet eine einfache text-basierte Oberfläche, um die Grammatik zu definieren. Sie können einfach alle erlaubten Sätze (ohne Satzzeichen) wie oben beschrieben eingeben. 73 Das Handbuch zu Simon Wenn Sie einen Satz links auswählen, werden im Feld rechts automatisch richtige Sätze, die mit Ihrem aktuellen Vokabular dadurch ermöglicht werden, angezeigt. Im Beispielabschnitt werden höchstens 35 Einträge angezeigt. Wenn es mehr zum ausgewählten Grammatikeintrag passende Sätze gibt, werden nicht alle angezeigt. 4.5.1 Eine Grammatik importieren Zusätzlich zum Eingeben der Grammatik Satz für Satz kann Simon auch automatisch erlaubte Grammatikstrukturen durch das Einlesen von einfachem Text mit dem Dialog Grammatik importieren erkennen. 74 Das Handbuch zu Simon Simon kann Textdateien einlesen, aber erlaubt auch direkte Eingabe von Text in ein Eingabefeld. Angenommen es gibt ein Vokabular wie vorher in der allgemeinen Abschnitt: Wort Computer Internet Mail Schließen Kategorie Auslöser Befehl Befehl Befehl Tabelle 4.5: Verbessertes Beispielvokabular Simon soll also den Satz ´´Computer Internet!´´ erkennen. Also wird der Text entweder über Text importieren oder eine einfache Textdatei mit dem Inhalt ´´Computer Internet!´´ mit jedem beliebigen jeden Satzzeichen eingegeben und sie als „simongrammar.txt” speichern, um sie mit der Option Dateien importieren zu verwenden. 75 Das Handbuch zu Simon Simon liest dann den eingegebenen Text bzw. all die angegebenen Textdateien ein, in diesem Fall nur die Datei simongrammar.txt und schlägt jedes einzelne Wort in sowohl dem aktiven als auch dem Schattenwörterbuch nachschlagen. Die Definition im aktiven Wörterbuch hat Vorrang vor eventuellen Definitionen im Schattenwörterbuch. Es wird dann das Wort mit der entsprechenden Kategorie ersetzt. In unserem Beispiel bedeutet dies, dass der Satz „Rechner Internet” gefunden wird. Simon erkennt dann, dass „Computer” aus der Kategorie Auslöser und „Internet” aus der Kategorie Befehl kommt. Deswegen „lernt” Simon, dass „Auslöser Befehl” offensichtlich ein gültiger Satz ist und ihn automatisch zur Grammatik hinzufügen. Der Import trennt den Eingabetext automatisch nach Satzzeichen („.”, „-”, „!”, usw.), also sollte jeder normale Text funktionieren. Der Import wird automatisch alle doppelt vorkommenden Satzstrukturen zusammenfügen, sogar wenn sie über verschiedene Dateien verteilt sind und wird alle möglichen grammatikalischen Satzstrukturen hinzufügen, wenn Wörter mehreren Kategorien zugeordnet sind. Beim Import werden Sätze ignoriert, die ein oder mehrere Wörter beinhalten, die im Sprachmodell nicht gefunden wurden, wenn Sie nicht die Einstellung Auch unbekannte Sätze importieren 76 Das Handbuch zu Simon aktiviert haben. In diesem Fall werden unbekannte Wörter durch Unbekannt ersetzt. 4.5.2 Kategorien umbenennen Im Dialog Kategorie umbenennen kann der Benutzer einzelne Kategorien im aktiven Vokabular, im Schattenwörterbuch und in der Grammatik umbenennen. 4.5.3 Kategorien zusammenführen Der Assistent zum Zusammenführen von Kategorien erlaubt es zwei Kategorien in eine neue Kategorie im aktiven Vokabular, im Schattenwörterbuch und in der Grammatik zusammenzuführen. 77 Das Handbuch zu Simon Diese Funktion ist besonders sinnvoll, wenn Sie Ihre Grammatikstrukturen vereinfachen wollen. 4.6 Training Mit dem Trainingsmodul können Sie Ihr Akustikmodell und damit die Erkennungsrate verbessern. Die Oberfläche listet alle installierten Trainingstexte in einer Tabelle mit drei Spalten: • Name Ein beschreibender Name für den Text. • Seiten Die Anzahl von „Seiten” aus der der Text besteht. Jede Seite repräsentiert eine Aufnahme. • Erkennungsrate Wie beim Vokabular zeigt die die Wahrscheinlichkeit an, mit der Simon die Wörter im Text richtig erkennt (höher ist besser). Der Wert ist dabei einfach ein Mittelwert der Erkennungsraten aller Wörter im Text. 78 Das Handbuch zu Simon Um das Akustikmodell und damit der Erkennungsrate zu verbessern, müssen Sie Trainingstexte aufnehmen. Dadurch erhält Simon im wesentlichen zwei nötige Teile: • Aufnahmen Ihrer Sprache • Transkriptionen dieser Aufnahmen Das aktive Wörterbuch wird benutzt, die Wörter des Texts zu transkribieren, d. h. das aktuelle Wort der phonetischen Transkription zuzuordnen, so dass jedes im Trainingstext vorhandene Wort, das Sie lesen bzw. trainieren möchten, in Ihrem aktiven Wörterbuch vorhanden sein muss. Ist dies nicht der Fall, erhalten Sie eine Warnung und Sie erhalten die Möglichkeit, alle fehlenden Wörter in einem Zug hinzuzufügen. Die Prozedur ist wie beim Hinzufügen eines neuen Worts, aber der Assistent fragt automatisch nach Details und Aufnahmen für fehlende Wörter. Diese Prozedur kann jederzeit abgebrochen werden und dann sowohl die bisher definierten Wörter hinzufügen oder alle bisher vorgenommenen Änderungen zu verwerfen. Wenn alle abgefragten fehlende Wörter hinzugefügt wurden, werden die Änderungen im aktiven Wörterbuch bzw. Vokabular gespeichert und das Training des vorher ausgewählten Texts startet automatisch. Das Training (vorlesen) eines Trainingstexts funktioniert genau wie das erste Training beim Hinzufügen eines neuen Wortes. Bitte beachten Sie die Richtlinien und Hinweise im Abschnitt Aufnahmen. 79 Das Handbuch zu Simon 4.6.1 Speicherorte Trainingstexte werden an zwei Orten gespeichert: • Linux: ~/.kde/share/apps/simon/texts Windows: %appdata%\.kde\share\apps\simon\texts Die Texte des aktuellen Benutzers. Sie können mit Simon gelöscht und hinzugefügt werden (siehe unten). • Linux: ‘kde4-config --prefix‘/share/apps/simon/texts Windows: (install folder)\share\apps\simon\texts Systemweite Texte. Sie werden bei jedem Benutzer auf dem System angezeigt und können innerhalb von Simon je nach Betriebssystemberechtigung höchstwahrscheinlich nicht gelöscht werden. Dieser Ordner eignet sich besonders gut für Systemverwalter, die allen Benutzern einen gemeinsamen Satz von Trainingsdaten geben wollen. Die XML-Dateien (eine für jeden Text) können von einem Speicherort zum anderen verschoben werden. Abhängig von den zugrunde liegenden Betriebssystemberechtigungen wird dies aber wahrscheinlich Systemverwalterrechte benötigen. 80 Das Handbuch zu Simon 4.6.2 Texte hinzufügen Der Assistent für das Einfügen von Text bietet einen einfachen Weg, neue Texte zu Simon hinzuzufügen. Wenn lokale Textdateien importiert werden, wird Simon automatisch versuchen, einzelne Sätze aufzuspalten, um Sie beim Training eigenen „Seiten” (Aufnahmen) zuzuordnen. Der Algorithmus behandelt Texte zwischen normalen Satzzeichen („.”, „!”, „?”, „...”, „´´”,...) und Zeilenumbrüchen als „Sätze”. Jeder „Satz” wird im Trainingstext auf einer Seite und somit auf einer eigenen Aufnahme erscheinen. Simon unterstützt zwei Quellen für neue Trainingstexte: 81 Das Handbuch zu Simon 4.6.2.1 Trainingstexte hinzufügen Tragen Sie den Trainingstext in das entsprechende Eingabefeld ein. 4.6.2.2 Lokale Textdateien Simon kann normale Textdateien importieren, um Sie für das Training zu verwenden. 82 Das Handbuch zu Simon 4.6.3 Spezialtraining Zusätzlich zu den Trainingstexten ist es auch möglich, einzelne Wörter oder Wortkombinationen aus Ihrem Lexikon direkt zu trainieren. Diese Funktion befindet sich im Vokabel-Menü von Simon. Wählen Sie die Wörter zum Trainieren aus dem Vokabular links aus und ziehen Sie sie mit gedrückter Maustaste zur Liste rechts. Sie können das Wort auch in der Tabelle auswählen und dann auf Zum Training hinzufügen klicken. Starten Sie das Training in dem Sie Ausgewählte Wörter trainieren auswählen. Das Training selbst ist das gleiche wie bei gespeicherten Trainingstexten. 83 Das Handbuch zu Simon Wenn mehr als neun Wörter zu trainieren sind, wird der Text automatisch gleichmäßig auf mehr als eine ´´Seite´´ (Aufnahme) aufgeteilt. Natürlich können Sie auch Wörter aus Ihrem Schattenwörterbuch zur Liste der zu trainierenden Wörter hinzufügen. Bevor das Training dann gestartet werden kann, müssen Sie aber auch hier alle Wörter zum aktiven Lexikon hinzufügen (siehe oben). 4.7 Kontext Simon enthält eine Kontextebene, mit der Simon automatisch die Einrichtung abhängig vom Kontext anpassen kann. Sie können zum Beispiel Simon so einstellen, dass Befehle wie „Neues Unterfenster” nur erlaubt sind, wenn Mozilla Firefox läuft und das gerade aktive Fenster ist. Es gibt drei große Bereiche, die die Kontextinformationen beeinflussen können: • Szenarienauswahl • Aufnahmegruppen • Aktive Mikrofone 4.7.1 Szenarienauswahl Szenarien können festlegen, nur in bestimmten Kontext-Situationen aktiviert zu werden. Treffen die Bedingungen nicht zu, deaktiviert Simon temporär das betroffenen Szenario. Die lokalen Kontextbedingungen diese Szenarien werden in der Liste der Anforderungen für Aktivierung angezeigt und können mit den entsprechenden Knöpfen hinzugefügt, bearbeitet und gelöscht werden. Die Kontextbedingungen berücksichtigen eine mögliche Hierarchie von Szenarien: Die Aktivierungsanforderungen aller direkten oder indirekten übergeordneten Szenarien werden auch auf 84 Das Handbuch zu Simon die untergeordneten Szenarien angewendet. Die Abhängigkeit der Bedingungen wird auf der rechten Seite angezeigt. Das Hauptfenster von Simon zeigt auch eine Liste der gerade verwendeten Szenarien. Szenarien, die wegen der Aktivierungsanforderungen oder Kontextbedingungen deaktiviert sind, werden in hellgrau und in kursiver Schrift angezeigt. Das nächste Bildschirmfoto zum Beispiel zeigt ein temporär deaktiviertes Szenario für Amarok. Die gleichen visuellen Hinweise wie graue Farbe und kursive Schrift bei nicht eingehaltenen Aktivierungsbedingungen werden auch aus einzelne Bedingungen im Kontextmenü angewendet. 4.7.2 Aufnahmegruppen Jede mit Simon erstellten Aufnahme wird einer Aufnahmegruppe zugewiesen. Aufnahmegruppen können so eingerichtet werden, dass sie nur für die Erstellung des Akustikmodells benutzt werden, wenn bestimmte Kontextbedingungen zutreffen. Ansonsten werden alle Aufnahme der deaktivierten Aufnahmegruppe temporär vom Trainingskorpus entfernt. Für weitere Informationen, ein Beispiel eines Anwendungsfalls und Anleitungen zur Arbeit mit Aufnahmegruppen finden Sie im Abschnitt über Aufnahmegruppen. 4.7.3 Kontext-Bedingungen In Simon wird der Kontext durch eine Gruppe von Modulen für Kontext-Bedingungen überwacht. Im allgemeinen werden Kontextbedingungen durch eine „und“-Verknüpfung miteinander kombiniert. Wenn zum Beispiel für die Aktivierung einer Ressource die beiden Bedingungen A und B definiert sind, wird sie nur aktiviert, wenn beide Bedingungen A und B zutreffen. Als Alternative für A oder B oder beides können Sie eine Verknüpfung durch eine Oder-Bedingung verwenden. Alle Bedingungen können auch umgekehrt werden. Das Umkehren einer Bedingung bedeutet, das sie als wahr ausgewertet wird, wenn sie ansonsten als falsch ausgewertet wird und umgekehrt. 85 Das Handbuch zu Simon 4.7.3.1 Aktives Fenster Ist wahr, wenn der Titel des zurzeit aktiven Fensters im Vordergrund dem angegebenen Fenstertitel entspricht. 4.7.3.2 D-Bus Mit dem Modul für D-Bus-Bedingungen können andere Anwendungen überwacht werden, die ihren Statusinformation über D-Bus zu Verfügung stellen. Die überwachten Anwendungen müssen zwei Methoden bereitstellen: Ein Signal für die Benachrichtigung von Änderungen und eine Methode, die den aktuellen Status zurück gibt. 86 Das Handbuch zu Simon Im vorherigen Bildschirmfoto zum Beispiel ist eine D-Bus-Bedingung eingerichtet, die wahr ergibt, wenn das Programm „Tomahawk“ läuft, und ansonsten falsch. 4.7.3.3 Gesichtserkennung Die Gesichtserkennungs-Bedingung ergibt wahr, wenn Simon eine Person vor der eingerichteten Webcam erkennt. 87 Das Handbuch zu Simon 4.7.3.4 Dateiinhalt Dieses Bedingungsmodul gibt wahr zurück, wenn die angegebene Datei den vorgegebenen Inhalt hat. Diese Datei wird auf Änderungen überwacht. 4.7.3.5 Lippenerkennung Die Lippenerkennungs-Bedingung ergibt wahr, wenn Simon eine Person vor der eingerichteten Webcam erkennt und diese Person spricht d. h. die Lippen bewegt. 88 Das Handbuch zu Simon Das Lippenerkennung versucht den optimalen Wert für die Empfindlichkeit der Erkennung zu ermitteln, indem Ihre Lippenbewegungen überwacht werden. Für eine bessere Genauigkeit der Lippenerkennung sollten Sie das Training anhalten, wenn der Sensivitätswert auf dem Schieberegler annähern konstant wird. 4.7.3.6 Verknüpfung durch eine Oder-Bedingung Mit einer Verknüpfung durch eine Oder-Bedingung können Sie eine Meta-Bedingung definieren, die erfüllt ist, sowie eine oder mehrere untergeordnete Bedingungen als wahr ausgewertet werden. Verknüpfungen durch eine Oder-Bedingung können eine beliebige Anzahl von untergeordneten Bedingungen enthalten, die auch wieder durch eine Oder-Bedingung verknüpft werden können. 4.7.3.7 Geöffneter Prozess Trifft zu, wenn es einen laufenden Prozess mit dem angegebenen Programmnamen gibt. 89 Das Handbuch zu Simon 4.8 Befehle Wenn Simon aktiviert ist und etwas erkannt wurde, wird das Erkennungsergebnis den geladenen Befehlsmodulen der Reihe nach für die weitere Verarbeitung übergeben. Das Befehlssystem kann mit einer Gruppe von Fabrikarbeitern verglichen werden. Jeder von Ihnen weiß, wie er genau eine Aufgabe bewältigt. z. B. weiß „Karl” wie man Programme startet und „Hans” weiß wie Ordner geöffnet werden, usw.. Wenn Simon jetzt etwas erkennt, wird dieses Erkennungsergebnis zuerst an „Karl” übergeben, der überprüft, ob diese Anweisung für ihn 90 Das Handbuch zu Simon gedacht und handelt er danach, startet in diesem Beispiel ein Programm. Ansonsten gibt er die Anweisung weiter an „Hans” und so weiter. Wenn keines der geladenen Module die Eingabe verarbeiten kann, wird das Erkennungsergebnis verworfen. Die Reihenfolge, in der das Erkennungsergebnis an die einzelnen übergeben wird, kann in der Befehlseinstellungen eingerichtet werden Befehle > Module verwalten. Jedes Modul kann mit einem „Auslöser” verbunden werden. Mit Auslösern kann die Zuständigkeit der einzelnen Moduls besser aufgeteilt werden. Um wieder das Beispiel mit den Fabrikarbeitern zu benutzen, kann es mit den ausdrücklichen Aussprechen des Namens der zuständigen Person verglichen werden. Statt „Meinen persönlichen Ordner öffnen” sagen Sie jetzt „Hans, öffne meinen persönlichen Ordner” und „Hans”, das Modul zuständig für das Öffnen der Ordner, weiß sofort, dass diese Anfrage für ihn ist. In der Praxis bedeutet es, wenn Sie z. B. den Programmbefehl „Firefox” definiert haben, um den Webbrowser zu öffnen, einen Orte-Befehl „Google”, um die Websuche zu öffnen und die Auslöser „Starten” für das Programmodul und „Öffnen” für das Orte-Modul vergeben haben, müssen Sie „Firefox starten” sagen, um Firefox zu starten - statt einfach den Namen des Befehls „Firefox”, wenn Sie keinen Auslöser verwenden. Analog dazu müssen Sie „Google öffnen” sagen statt nur „Google” ohne Auslöser. Auslöser sind natürlich nicht zwingen erforderlich und Sie können Simon auch ohne Auslöser verwenden. Manche Befehle haben aber als Voreinstellung den Auslöser „Rechner”, den Sie in diesem Fall entfernen müssen. Aber sogar wenn Sie nur einen einzelnen Auslöser für all Ihre Module verwenden wie etwa den allgemeinen Auslöser „Rechner”, um z. B. „Rechner Firefox” und „Rechner Google” zu sagen, hat dies den großen Vorteil, die versehentlich falschen Befehlsaufrufe zu minimieren. Simons Befehlsdialog zeigt die vollständige Redeendung, die dem Befehl zugeordnet ist, in der rechten oberen Ecke der Befehlseinrichtung an. Sie können mehrere Instanzen eines Moduls pro Szenario laden. Jede Instanz kann unterschiedliche Modul-Auslöser verwenden. Jeder Befehl hat einen Namen, der diesen Befehl auslöst, ein Symbol und mehrere Felder, die von der Art des Moduls abhängen (siehe unten). Für einige Befehlsmodule gibt es Einstellungen für das Modul selbst, nicht für die enthaltenen Befehle. Diese Einrichtungsseiten werden direkt in den Einrichtungsdialog der Aktion unter dem MenüeintragAllgemein eingebunden, wenn Sie das zugehörige Modul laden. 91 Das Handbuch zu Simon Module mit einer grafische Benutzeroberfläche wie zum Beispiel das Zahleneingabe-Modul Kommandoplugin) können über Sprachbefehle eingerichtet werden. Sie können zum Beispiel das zugeordnete Wort ändern, das den grafischen Knopf auslöst, aber auch das angezeigte Symbol usw. Wenn Sie alle Sprachbefehle von einem grafischen Element entfernen, wird das Element automatisch nicht mehr angezeigt und ausgeblendet. Sprachbefehle können wie normale Befehle durch die Befehlseinrichtung verwaltet werden. Um einen neuen Sprachbefehl für die Oberfläche zu einer Funktion hinzuzufügen, wählen Sie die Aktion, die Sie mit dem Befehl verbinden möchten aus und klicken Sie auf Aus Aktionsvorlage erstellen. Passen Sie die erzeugten Werte an Ihre Wünsche an. Bei einigen Modulen (zum Beispiel beim Desktopgitter oder dem Taschenrechner werden auch Einträge im Menü Aktionen angezeigt. Für Szenarien kann optional ein Befehl festgelegt werden, der sofort bei der Initialisierung des Szenarios ausgeführt wird. Möchten Sie mehr als einen Befehl automatisch ausführen, sollten Sie 92 Das Handbuch zu Simon Kombinations-Befehle verwenden. Befehls-Auslöser können Platzhalter im Format „%<index>“ für ein beliebiges einzelnes Wort oder „%%<index>“ für ein oder mehrere ausgelassene Wörter enthalten. Zum Beispiel wird das Erkennungsergebnis für „Nächstes Fenster“ mit den Auslösern „Nächstes %1“, „Nächstes %%1“ und „%%1“ übereinstimmen, aber nicht für die Auslöser „%1“, „Nächstes Fenster %1“ und „%%1 Nächstes Fenster“. 4.8.1 Programm-Befehle Programm-Befehle sind mit einer ausführbaren Datei („Programm”) verbunden, das gestartet wird, wenn der Befehl ausgelöst wird. 93 Das Handbuch zu Simon Argumente zu den ausführbaren Dateien werden unterstützt und an das Programm übergeben. Wenn der Pfad zur ausführbaren Datei oder die Argumente Leerzeichen beinhalten, müssen sie aber von Anführungszeichen umgeben werden. Nehmen wir als ausführbare Datei C:\Programme\Mozilla Firefox\firefox.exe´´ ´´C:\test datei.html´´ an, ist die korrekte Eingabe für das Feld Ausführbare Datei folgendes: ´´C:\Pro gramme\Mozilla Firefox\firefox.exe´´ ´´C:\test datei.html´´. Der Arbeitsordner bestimmt, in welchem Ordner der Prozess gestartet wird. Wenn der Arbeitsordner C:\folder ist und der Befehl ´´C:\Programme\Mozilla Firefox\firefox.exe´´ file.h tml gestartet wird, sucht Firefox nach der Datei C:\folder\file.html. Der Arbeitsordner muss normalerweise nicht ausdrücklich gesetzt werden und kann leer gelassen werden. 4.8.1.1 Programme importieren Simon bietet einen Dialog, mit dem Sie Programme auch direkt aus dem KDE-Menü auswählen können. ANMERKUNG Diese Option ist unter Microsoft Windows nicht verfügbar. Der Dialog wird alle Programme aus dem KDE-Menü in ihrer entsprechenden Kategorie anzeigen. Unterkategorien werden nicht unterstützt und werden auf der selben Ebene wie ihre übergeordneten Kategorien angezeigt. Wählen Sie das Programm aus, das Sie importieren möchten und klicken Sie auf Ok. Die korrekten Werte für die ausführbare Datei und für den Arbeitsordner werden automatisch ausgefüllt. 94 Das Handbuch zu Simon 4.8.2 Orte-Befehle Mit Orte-Befehlen können Sie Simon jede angegebene URL öffnen lassen. Weil Simon die Adresse einfach an die zugrunde liegende URL-Behandlung der jeweiligen Plattform weitergibt, können alle davon unterstützten Protokolle wie zum Beispiel„remote:/” unter Linux® /KDE oder sogar KDEs „Web-Kürzel” verwendet werden. Neben herkömmlichen Ordnern können aber auch Dateien angegeben werden, die dann mit dem mit ihnen standardmäßig zugeordnetem Programm geöffnet werden, wenn der Befehl ausgelöst wird. Um einen Befehl einer bestimmten Adresse (URL) zuzuordnen, können Sie die URL manuell in das Feld eingeben, wenn Sie Manuell wählen oder sie mit dem Dialog „Ort importieren“ auswählen. 4.8.2.1 Orte importieren Mit dem Dialog „Ort importieren“ können Sie einfach eine korrekte URL für den Befehl eingeben. Um einen lokalen Ordner oder eine lokale Datei anzugeben, wählen Sie Lokaler Ort und wählen Sie den Ordner oder die Datei mit dem Feld aus. 95 Das Handbuch zu Simon Um eine entfernte URL (HTTP, FTP, usw.) anzugeben, wählen Sie Entfernte URL. Bitte beachten Sie, dass URLs mit Authentifizierungsinformation im Klartext gespeichert werden und das Passwort also unverschlüsselt vorliegt. 4.8.3 Kurzbefehle Mit den Kurzbefehlen kann ein Benutzer Befehle mit Tastenkombinationen verbinden. Der Befehl kann Tasteneingaben simulieren, um Tastendrücke wie Strg-C or Alt-F4 auszulösen. Das Modul kann die eingerichtete Tastenkombination drücken, loslassen oder drücken und loslassen. 96 Das Handbuch zu Simon Um einen Kurzbefehl auszuwählen, klicken Sie einfach auf den Kurzbefehl-Knopf und drücken anschließend die Tastenkombination auf der Tastatur, die Sie dem Befehl zuordnen möchten. Simon wird das Tastenkürzel abfangen und mit dem Befehl assozieren. Wegen technischer Einschränkungen gibt es unter Microsoft Windows einige Kurzbefehle, die sich nicht durch Simon abgefangen werden können, z. B. Strg-Alt-Entf und Alt-F4. Diese speziellen Kurzbefehle können aus einer eigenen Liste unter den vorher genannten Kurzbefehlen ausgewählt werden. ANMERKUNG Diese Auswahlliste ist im Bildschirmfoto nicht sichtbar, da sie nur unter Microsoft Windows angezeigt wird. 4.8.4 Text-Makro-Befehle Mit Text-Makro-Befehlen kann der Benutzer Text mit Befehlen verbinden. Wenn der Befehl ausgelöst wird, wird der zugeordnete Text über simulierte Tastendrücke „geschrieben“. 97 Das Handbuch zu Simon 4.8.5 Listenbefehle Listenbefehle kombinieren mehrere Befehle mit allen Arten von unterstützten Befehlen in einer einzelnen Liste. Der Benutzer kann dann einen Eintrag in der Liste auswählen, indem er dessen Nummer (1-9) spricht und damit diesen Befehl auslöst. Listenbefehle sind sehr hilfreich um die Menge an Wörtern im Vokabular und damit die Menge der benötigten Trainingsdaten gering zu halten. Listenbefehle sind vor allem dann nützlich, wenn Befehle schwierig auszusprechende Auslöser haben oder mehrere Befehle logisch gruppiert werden können. Ein typisches Beispiel wäre 98 Das Handbuch zu Simon ein Befehl „Startmenü”, der eine Liste von Programmen (Programm-Befehle) anzeigt. So können diese Programm-Befehle sehr komplexe, aber beschreibende Namen besitzen wie z. B.: „OpenOffice.org Writer 3.1”, ohne dass Simon diese Wörter jemals erkennen muss, um den Befehl auszulösen. Befehle unterschiedlicher Arten können in einer Liste gemischt werden. 4.8.5.1 Anzeige von Listenbefehlen Wenn ein Listenbefehl ausgelöst wird, wird die Liste in der Mitte des Bildschirmes angezeigt. Diese Liste wird automatisch in der Größe angepasst, um alle Elemente anzeigen zu können. Der Benutzer kann dann die Befehle in der Liste auslösen, in dem er die zugehörige Nummer ausspricht, in diesem Beispiel „Eins”, um Mozilla Firefox aufzurufen. Wenn eine Liste aktiviert ist und angezeigt wird, wird jedes Erkennungsergebnis, das nicht die Liste selbst betrifft (andere Befehle usw.) verworfen. Der Auswahlprozess kann jederzeit abgebrochen werden, indem Sie auf den Knopf Abbrechen drücken oder „Abbrechen” aussprechen. Wenn mehr als 9 Befehle in der Liste vorhanden sind, werden automatisch die Optionen „Weiter” und „Zurück” hinzugefügt, denen ebenfalls Nummern zugeordnet sind. Die „Null” wird „Zurück” und „Neun” wird „Weiter” zugeordnet. 99 Das Handbuch zu Simon 4.8.5.2 Einrichtung von Listenelementen Standardmäßig verwendet der Listenbefehl die folgenden Auslöser. Um Listenbefehle mit ihrem vollen Potential zu benutzen, stellen Sie sicher, dass Ihr Sprachmodell die folgenden „Sätze” erkennt und erlaubt: • „Null” • „Eins” • „Zwei” • „Drei” • „Vier” • „Fünf” • „Sechs” • „Sieben” • „Acht” • „Neun” • „Abbrechen” Natürlich können Sie diese Wörter in der Simon-Einrichtung anpassen: • Befehle > Module verwalten > Allgemein > Listen für die szenarioweite Listenkonfiguration. • Einstellungen > Simon einrichten ... > Aktionen > Listen für die globale Einstellung. Wenn Sie ein neues Szenario anlegen, werden diese Einstellungen für die Listen des neuen Szenarios übernommen. Listenbefehle werden intern auch von anderen Modulen wie z. B. dem Desktopgitter verwendet. Die Einstellung der Auslöser beeinflusst auch deren angezeigte Listen. 100 Das Handbuch zu Simon 4.8.6 Kombinations-Befehle Kombinations-Befehle ermöglichen es dem Benutzer, mehrere Befehle automatisch hintereinander ablaufen zu lassen. Die Befehle werden beim Auslösen in der angegebenen Reihenfolge ausgeführt. Es können auch Wartezeiten zwischen Befehlen eingefügt werden. Kombinations-Befehle können auch als „transparente Weiterleitung“ durch die Auswahl von Erkennungsergebnis mit anderen Befehlen weiter verarbeiten benutzt werden. Dann wird das Erkennungsergebnis als „nicht bearbeitet“ behandelt, auch wenn der Kombinations-Befehl ausgeführt wurde. Angenommen es gibt einen Befehl, um das Licht in einem Szenario einzuschalten. Zusätzlich zum Einschalten des Lichts möchten Sie jetzt vielleicht eine Art von Protokoll zur Aktivität, indem ein Skript mit einem Programm-Modul aufgerufen wird. Dann können Sie ein ProtokollSzenario erstellen, das einen transparenten Kombinations-Befehl mit dem gleichen Auslöser wie der Befehl zum Einschalten des Lichts enthält und diesen Szenario vor dem ursprünglichen Szenario in der Liste anordnen. Dann können Sie die Protokollierung einfach durch Laden oder Entladen dieses Szenarios aktivieren oder deaktivieren. Mit Kombinations-Befehlen kann der Benutzer komplexe Arbeitsabläufe in einen einzelnen Befehl packen. Zum Beispiel: • Kopete starten (Programm-Befehl) • 2000 ms warten, bis Kopete gestartet wird • Schreibe „Mathias“ (Text-Makro-Befehl), damit wird de Kontakt „Mathias“ in meiner Kontaktliste ausgewählt • Eingabetaste drücken (Kurzbefehl) • 2000 ms warten, bis Kopete gestartet ist • Schreibe „Hallo“ (Text-Makro-Befehl), der mit diesem Befehl zugeordnete Befehl enthält einen Zeilenumbruch am Zeilenende, so dass die Nachricht gesendet wird. • Alt-F4 (Kurzbefehl) drücken, um das Chatfenster zu schließen. • Alt-F4 (Tastenkürzel-Befehl), um das Kopete-Hauptfenster zu schließen. 101 Das Handbuch zu Simon 4.8.7 Desktopgitter Das Desktopgitter erlaubt dem Benutzer, die Maus mit der Sprache zu steuern. Das Desktopgitter teilt den Bildschirm in neun Teile die von 1-9 durchnummeriert sind. Wenn eine der neun Nummern ausgesprochen wird, wird das mit dieser Nummer verbundene Feld wieder in neun weitere Felder unterteilt, die wiederum von 1-9 durchnummeriert werden usw. Dies wird insgesamt drei Mal wiederholt. Nach der vierten Auswahl einer Zahl wird das Desktopgitter geschlossen und in die Mitte des verbleibenden Vierecks geklickt. Die genaue Aktion beim ´´Klicken´´ ist einstellbar, aber als Standard wird der Benutzer gefragt.Daher wird eine Liste der möglichen Klick-Modi angezeigt. Wird Ziehen und Loslassen ausgewählt, wird das Desktopgitter noch einmal angezeigt, um den Punkt des „Loslassens“ zu bestimmen. Wenn das Desktopgitter aktiviert ist und angezeigt wird, wird jedes Erkennungsergebnis, das nicht das Desktopgitter selbst betrifft (andere Befehle usw.) verworfen. Der Auswahlprozess kann jederzeit abgebrochen werden, indem Sie „Abbrechen” aussprechen. Das Modul Desktopgitter registriert eine Einrichtungsseite im Dialog Aktionen verwalten, wenn es geladen wird. 102 Das Handbuch zu Simon Der Auslöser, der das Desktopgitter aktiviert und anzeigt, kann natürlich beliebig eingestellt werden. Außerdem kann der Benutzer „echte” und „falsche” Transparenz verwenden. Wenn Ihre grafische Oberfläche Compositing-Effekte („Desktop-Effekte”) erlaubt, kann Simon „echte” Transparenz verwenden. Sollte echte Transparenz nicht möglich sein, wird Simon mit „falscher” Transparenz arbeiten: Dabei schießt Simon eine Momentaufnahme des aktuellen Bildschirms bevor das Desktopgitter angezeigt wird und setzt dieses Bild als Hintergrundbild des Desktopgitters ein. Wenn verfügbar, sollte immer die „echte” Transparenz verwendet werden. Wenn für das Desktopgitter echte Transparenz eingestellt wurde, das System Compositing aber nicht unterstützt, wird das Gitters mit einem undurchsichtigen grauen Hintergrund angezeigt. Beinahe alle aktuellen Systeme werden aber Compositing (tatsächliche Transparenz) als Standard unterstützen. Das beinhaltet zum Beispiel: • Microsoft Windows 2000 oder höher (XP, Vista, 7) • GNU/Linux mit einem Composite Manager wie Compiz, KWin4, xcompgrc, usw. Standardmäßig verwendet das Desktopgitter Zahlen, um die einzelnen Felder auszuwählen. Um das Desktopgitter zu benutzen, stellen Sie sicher, dass Ihr Sprachmodell folgende „Sätze” enthält und ermöglicht: • „Eins” • „Zwei” • „Drei” • „Vier” • „Fünf” • „Sechs” • „Sieben” • „Acht” 103 Das Handbuch zu Simon • „Neun” • „Abbrechen” Um diese Auslöser zu konfigurieren, verändern Sie einfach die Befehle, die mit dem Modul verbunden sind. 4.8.8 Zahleneingabe Mit dem Zahleneingabe-Modul kann der Benutzer einfach Zahlen beliebiger Größe eingeben. Mit dem Diktat- oder Text-Makro-Modul könnte man eigentlich leicht Zahlen Ihren Ziffern zuweisen und das als Eingabemethode verwenden. Um höhere Zahlen einzugeben, gibt es dann zwei Möglichkeiten - jeweils mit entsprechenden Nachteilen: • Die vollständigen Wörter hinzufügen: Elf, Zwölf usw. Obwohl das als die eleganteste Lösung erscheint, weil sie es ermöglicht, z.B.: „fünfhundertzweiundsiebzig” zu sagen, ist leicht einzusehen, dass es ein enormer Aufwand wäre, all diese Wörter hinzuzufügen - und sie dann auch noch zu trainieren. Und bis zu welcher Zahl soll dies fortgesetzt werden? • Die Zahlen mit Ihren einzelnen Ziffern buchstabieren Obwohl das nicht ganz so elegant scheint wie die erste Lösung, ist das natürlich viel praktikabler. Leider erwarten einige Anwendungen wie z. B. die hervorragende Firefox-Erweiterung für Browsen ohne Maus, dass der Benutzer eine Zahl zwar über die Tastatur ziffernweise eintippt, aber dabei nur kurze Pausen zwischen den einzelnen Ziffern macht. Diese Erweiterung wartet in der Voreinstellung maximal 500 ms, also eine halbe Sekunde zwischen den einzelnen Tastendrücken. Wenn Sie also zum Beispiel „52“ eingeben möchten, sagen Sie zuerst „Fünf (Pause) Zwei”. Weil die Pause benötigt wird, um den Satz zu beenden, interpretiert eine zeitgesteuerte Anwendung die Eingabe von „Fünf” als bereits vollständig Eingabe. 104 Das Handbuch zu Simon Das Modul Zahleneingabe zeigt - wenn ausgelöst - eine Taschenrechner ähnliche Oberfläche, um eine Zahl einzugeben. Die Eingabe kann jederzeit korrigiert werden, indem der Benutzer „Zurück” sagt. Ein Dezimal-Komma kann eingefügt werden, indem der Benutzer „Komma” sagt. Wenn „Ok” gesagt wird, wird die Zahl eingetippt. Da die tatsächliche Eingabe innerhalb des Moduls stattfindet, erhält die Ziel-Anwendung der Eingabe nur noch eine Serie von schnell hintereinander simulierten Tastendrücken, die nur noch Millisekunden auseinander liegen. Wenn das Zahleneingabe-Modul aktiviert ist und angezeigt wird, wird jedes Erkennungsergebnis, das nicht diese Modul selbst betrifft (andere Befehle usw.) verworfen. Der Auswahlprozess kann jederzeit abgebrochen werden, indem Sie auf den Knopf Abbrechen drücken oder „Abbrechen” aussprechen. Weil keine Befehls-Instanzen von diesem Modul angelegt werden können, erscheint es nicht im Dialog Neuer Befehl. Für das Modul Zahleneingabe wird jedoch eine Einrichtungsseite im Dialog Aktionen verwalten registriert, wenn es geladen wird. Der Auslöser definiert, welches Wort oder Redewendung die Anzeige der Benutzeroberfläche startet. 105 Das Handbuch zu Simon Standardmäßig verwendet das Zahleneingabe-Modul Zahlen, um die einzelnen Ziffern auszuwählen und einige Kontrollworte. Um das Zahleneingabe-Modul komplett zu verwenden, stellen Sie bitte sicher, dass Ihr Sprach- und Akustikmodell folgende „Sätze” ermöglicht: • „Null” • „Eins” • „Zwei” • „Drei” • „Vier” • „Fünf” • „Sechs” • „Sieben” • „Acht” • „Neun” • „Zurück” • „Komma” • „OK” • „Abbrechen” Um diese Auslöser zu konfigurieren, verändern Sie einfach die Befehle, die mit dem Modul verbunden sind. 106 Das Handbuch zu Simon 4.8.9 Diktat Das Diktat-Modul schreibt das Erkennungsergebnis mit simulierten Tastendrücken hin. Wenn das Diktat-Modul ohne Auslöser verwendet wird, akzeptiert das Modul alle Erkennungsergebnisse und gibt diese einfach aus. Die Eingabe wird als „verarbeitete Eingabe” behandelt und daher nicht an andere Module weitergeleitet. Das heißt, dass alle Module, die unter einem DiktatModul ohne Auslöser eingeordnet sind, dadurch nie ein Erkennungsergebnis erhalten werden. Weil keine Befehls-Instanzen von diesem Modul angelegt werden können, erscheint es nicht im Dialog Neuer Befehl. Das Diktat-Modul kann eingerichtet werden, beliebigen Text an jedes Erkennungsergebnis anzuhängen, zum Beispiel ein Leerzeichen nach jedem erkannten Wort. 4.8.10 Künstliche Intelligenz Die „künstliche Intelligenz“ ist ein spielerisches Modul, dass eine menschliche Unterhaltung simuliert. Mit dem Sprachausgabesystem kann der Rechner mit dem Benutzer „sprechen”. Das Modul benutzt AIMLs für die „Intelligenz”. Der Großteil der AIML-Gruppen sollte unterstützt werden. Der bekannte A. L. I. C. E. Bot und eine deutsche Version wurden getestet, funktionieren und werden mit dem Modul ausgeliefert. 107 Das Handbuch zu Simon Das KI-Modul registriert eine Einrichtungsseite im Dialog Aktionen verwalten, auf der Sie auswählen können, welche AIML-Gruppe geladen werden soll. AIML-Gruppen werden in den folgenden Ordnern gesucht: • GNU/LINUX: ‘kde4-config --prefix‘/share/apps/ai/aimls/ • Microsoft Windows: [Installations-Ordner (C:\Programme\simon 0.2\ als Voreinstellu ng)]\share\apps\ai\aimls\ Um eine neue Gruppe hinzuzufügen, erstellen Sie in diesen Ordnern einen neuen Unterordner mit einem beschreibenden Namen und kopieren Sie die .aiml-Dateien dorthin. Um die Persönlichkeit der Bots anzupassen, bearbeiten Sie bitte die Dateien bot.xml und vars.xml in den folgenden Ordnern: • GNU/Linux: ‘kde4-config --prefix‘/share/apps/ai/util/ • Microsoft Windows: [Installationsordner (C:\Programme\simon 0.2\ als Voreinstellun g)]\share\apps\ai\util\ Weil keine Befehls-Instanzen von diesem Modul angelegt werden können, erscheint es nicht im Dialog Neuer Befehl. Es wird empfohlen, für dieses Modul keinen Auslöser zu verwenden, um ein natürlicheres „Gefühl” für die Unterhaltung zu bekommen. 4.8.11 Taschenrechner Das Taschenrechner-Modul ist ein einfacher, sprachgesteuerter Taschenrechner. 108 Das Handbuch zu Simon Der Taschenrechner erweitert das Modul Zahleneingabe mit zusätzlichen Funktionen. Wenn das Modul geladen ist, wird eine Seite zur Moduleinrichtung hinzugefügt. Dort können Sie auch den Kontrollmodus des Taschenrechner einstellen. Wird dieser Modus auf etwas anderes als Vollständiger Taschenrechner gesetzt, werden Optionen ausgeblendet. 109 Das Handbuch zu Simon Die so ausgeblendeten Kontrollelemente können aber im Gegensatz zu den Elementen, bei denen einfach alle Zugeordneten Sprachbefehle gelöscht wurden, noch immer über die eingerichtete Sprache ausgewählt werden Wenn OK ausgewählt wird, wird in der Voreinstellung abgefragt, was mit dem generierten Ergebnis gemacht werden soll. Sie können z. B. das Ergebnis der Rechnung, die Rechnung selbst oder beides usw. ausgeben. Sie können dies jedes mal von der Liste auswählen oder in der Befehlseinrichtung fest einstellen. 4.8.12 Filter Mit dem Filter-Modul können Sie Erkennungsergebnisse abfangen, bevor Sie andere Module erreichen. Mit diesem Modul können Sie beispielsweise die Erkennung über die Sprache pausieren. Das Filter-Modul registriert eine Einrichtungsseite im Dialog Aktionen verwalten, auf der Sie einstellen können, welche Ergebnisse herausgefiltert werden sollen. 110 Das Handbuch zu Simon Der Filter ist ein regulärer Ausdruck, der zur Laufzeit ausgewertet wird, sobald ein Erkennungsergebnis das Modul erreicht. Das Modul registriert Spracheingabebefehle zum Aktivieren und Deaktivieren des Filters. Insgesamt hat ein Filter hat drei Zustände: • Inaktiv Der Standardzustand. Alle Erkennungsergebnisse werden weitergereicht. • Halb aktiv, wenn Zweistufenaktivierung ausgewählt wurde – Lautet der nächste Befehl „Filter deaktivieren“, wechselt der Filter in den „inaktiven“ Zustand. – Wenn jedoch der nächste Befehl anders ist und Ergebnisse der ersten Stufe eines zweistufigen Filters weitergeben eingestellt ist, wird diese Ergebnis an andere Module weitergeben werden. Der Filter wird danach in den „aktiven“ Zustand wechseln. • Aktiv Wenn der Filter aktiviert ist, werden alle Ergebnisse „verarbeitet”, die zu einem eingerichteten Muster passen. Standardmäßig bedeutet dass, dass jedes Erkennungsergebnis vom Filter akzeptiert wird und somit nicht zu den folgenden Modulen weitergereicht wird. Wenn Zweistufenaktivierung eingeschaltet ist und das Filtermodul den Befehl enthält, direkt in den „inaktiven” Status zu wechseln, wird dieser Befehl ignoriert. D. h. wenn die Zweistufenaktivierung eingeschaltet ist, kann der Filter nur deaktiviert werden, indem der Zwischenschritt durchlaufen wird. 4.8.13 Aussprachetraining Das Aussprachetraining, kombiniert mit einem guten statischen Basismodell, kann ein hilfreiches Werkzeug sein, um die Aussprache einer Fremdsprache zu verbessern. 111 Das Handbuch zu Simon Dieses Modul wird Sie auffordern, bestimmte Wörter auszusprechen. Die Erkennung wird dann die Aufnahme analysieren und dabei je nach Aussprache hoffentlich das richtige Wort auswählen. Wird das richtige Wort erkannt, wird anhand der Erkennungsgenauigkeit festgestellt wie nahe Ihre Aussprache an der der Sprecher des Basismodells liegt. Da Basismodelle in der Regel von Muttersprachlern aufgenommen wird, zeigt die angezeigte Erkennungsrate einen Qualitätsindex Ihrer Aussprache. Je ähnlicher Sie zu den Muttersprachlern klingen, desto höher ist der angezeigte Wert. Das Modul fügt einen Eintrag zum Menü Befehle hinzu, damit kann das Aussprache-Training zu starten. Das Training selbst besteht aus mehreren Seiten. Jede Seite beinhaltet ein Wort, das vom aktiven Vokabular geholt wird. Die zu trainierenden Wörter werden durch die Kategorie identifiziert, die in der Befehlseinstellung ausgewählt wird, bevor das Training gestartet werden kann. 112 Das Handbuch zu Simon 4.8.14 Tastatur Das Tastatur-Modul zeigt eine virtuelle, sprachgesteuerte Tastatur. Die Tastatur besteht aus mehreren Karteikarten mit jeweils anderen Tasten. Die Gesamtheit von Karteikarten und Tasten sind in „Gruppen” zusammengefasst. Sie können die zu verwendende Gruppe in der Einrichtung auswählen oder neue Gruppen anlegen. 113 Das Handbuch zu Simon Tasten sind in der Regel mit genau einem Zeichen verbunden, können aber auch längere Texte und sogar Tastenkürzel beinhalten. Deshalb können Tastaturen auch spezielle Tasten wie „Alle auswählen” oder „Passwort hinschreiben” haben. Neben den Registerkarten mit den Tasten kann die Tastatur einige spezielle Tasten wie Strg, Umschalt usw. anzeigen. Diese Tasten sind als Spracheingabebefehle realisiert und werden unabhängig von der ausgewählten Registerkarte angezeigt. Wie bei allen Stimmen-Auslösern werden beim Entfernen von zugehörigen Befehlen auch die Knöpfe ausgeblendet. Die Tastatur bietet außerdem einen Zahlenblock, der angezeigt werden kann, indem die entsprechende Option in den Einstellungen gesetzt wird. Neben den Zahlentasten gibt es einen Knopf zum Löschen für das Zahleneingabefeld (Zahl löschen) und zwei Knöpfe, die bestimmen was mit der eingegebenen Zahl geschehen soll. 114 Das Handbuch zu Simon Wenn Zahl schreiben ausgewählt wird, wird die eingegebene Zahl mit simulierten Tastendrücken hingeschrieben. Zahl auswählen hingegen sucht einen Knopf, der diese Zahl als Auslöser eingestellt hat und löst diesen aus. Auf diese Weise können Sie eine komplette Tastatur nur mit Zahlen bedienen. Die Tasten auf dem Zahlenblock sind konfigurierbare Spracheingabebefehle. 4.8.15 Dialog Das Dialogmodul ermöglicht es dem Benutzer, mit einem Skript-Dialog mit Simon zu interagieren. 4.8.15.1 Dialogentwurf Simon behandelt Dialoge als eine Abfolge von verschiedenen Zuständen. Jeder Zustand kann einen Text und mehrere zugeordnete Optionen. 115 Das Handbuch zu Simon Dialoge können mehr als eine Textvariante verwenden, eine dieser Varianten wird dann zufällig bei der Anzeige des Dialogs verwendet. Damit erscheinen Dialoge natürlicher, weil sie mehrere verschiedene Formulierungen enthalten. In den Texten können gebundene Werte und Vorlageneinstellungen benutzt werden. Dialogoptionen kapseln die Logik der Unterhaltung. Sie sind die aktiven Komponenten eines Dialogs. Wie bei Befehlen können Optionen für Dialoge einen Namen oder Auslöser haben, die diese Option aktivieren, wenn sie erkannt werden, während der Dialog aktiv und im übergeordneten Status ist, Alternativ können Optionen so eingerichtet werden, das sie automatisch nach einem 116 Das Handbuch zu Simon eingestellten Zeitraum ausgelöst werden. Dieser Zeitraum ist relativ zum Zeitpunkt, wenn der Status eintritt. Dialogeinstellungen im grafischen Ausgabemodus können einen beliebigen Text, der meistens, aber nicht zwingend dem Auslöser entspricht, und optional ein Symbol anzeigen. Wird das Sprachausgabemodul benutzt, wird der Text, nicht aber der Auslöser, laut vorgelesen, wenn dies nicht durch Auswahl der Einstellung Still abgeschaltet ist. Jeder Status kann optional auch einen Atavar haben, der mit dem grafischen Ausgabemodul angezeigt werden kann. 4.8.15.2 Dialog: Gebundene Werte Der Text von Dialogen kann Variable enthalten - so genannte „gebundene Werte“ - die zur Laufzeit ausgefüllt werden. Zum Beispiel wird im Dialogtext „Diese ist eine $variable$“ der Ausdruck $variable$ mit dem Ergebnis einer gebundenen Wert mit dem Namen „variable“ ersetzt. 117 Das Handbuch zu Simon Es gibt vier Arten von gebundenen Werten: • Statisch Statisch gebundenen Werte werden immer durch den gleichen Text ersetzt. Sie können benutzt werden, um Einstellungen bereitzustellen, die in einem Dialog Werte auszufüllen, z. B. den Namen des Benutzers. • QtScript 118 Das Handbuch zu Simon Gebundene Werte in QtScript werden als Ergebnis des eingegebenen QtScript-Quelltexts ausgewertet. • Befehlszeilenargumente Wenn der Auslösebefehl des Dialogs - die Aktion in Simon, die den Dialog aufruft - Platzhalter verwendet, ist darauf der Zugriff über gebundene Werte der Befehlsargumente möglich. Die Reihenfolge der Argumente entspricht dem Index der Platzhalter, auf die Sie zugreifen möchten. Wenn zum Beispiel Ihr Dialog mit dem Befehl „%1 anrufen” beginnt und „name” eine gebundene Variable als Befehlsargument hat, dann wird beim Starten des Dialogs mit der Erkennung von „Peter anrufen” der Text im Dialog „Möchten Sie wirklich $name$ anrufen?” durch 119 Das Handbuch zu Simon „Möchten Sie wirklich Peter anrufen?” ersetzt. • Plasma-Datentreiber Mit diesem Typ von gebundenen Variablen ist ein einfacher Zugriff auf einen großen Umfang von Informationen auf hoher Ebene durch Plasma-Datentreiber möglich. 4.8.15.3 Vorlageneinstellungen Dialogtexte können mit Vorlageneinstellungen weiter parametrisiert werden. 120 Das Handbuch zu Simon Mit diesen Booleschen Werten können Sie zwischen verschiedenen oder optionalen Textbausteinen wählen. Die Vorlageneinstellung „formal“ zum Beispiel ändert den Dialogtext „Würden Sie bitte {{{formal}}leise sein{{elseformal}}den Mund halten“ zu „Würden Sie bitte leise sein“ oder „Würden Sie bitte den Mund halten“, abhängig davon, ob die Vorlageneinstellung wahr oder falsch ist. Die Bedingung „else“ kann auch weggelassen werden, wenn sie nicht erforderlich ist, z. B. Würden Sie bitte {{{formal}}leise sein{{endformal}}“. 4.8.15.4 Avatare Für jeden Status kann ein anderer Atavar angezeigt werden. Für diese Bilder können Sie alles von einem simulierten Sprecher bis zu einem thematisch passenden Foto alles verwenden. Um einen Atavar zu benutzen, fügen Sie Ihn zuerst hier hinzu und definieren später im Abschnitt Dialogentwurf, wo er verwendet werden soll. 4.8.15.5 Ausgabe Dialoge können auf dem Bildschirm angezeigt werden, Sprachausgabe verwenden oder beides kombinieren. 121 Das Handbuch zu Simon Das Trennzeichen für Optionen wird zwischen dem Dialogtext und den Optionen des aktuellen Status vorgelesen. Gibt es keine Optionen für diesen Status oder sind alle Optionen abgeschaltet, wird das Trennzeichen nicht vorgelesen. Die Option zum wiederholten Vorlesen der gesamten Ankündigung wird ausgelöst, wenn einer der Wiederholungsauslöser gesprochen wird. Zusätzlich kann die Sprachausgabe optional so eingerichtet werden, dass die Auflistung der verfügbaren Optionen einschließlich des Trennzeichens wiederholt wird, wenn der Benutzer einen Befehl ausspricht, der keiner verfügbaren Optionen im Dialog entspricht. 4.8.16 Akonadi Mit dem Akonadi-Modul kann Simon auf die Infrastruktur von KDE-PIM zugreifen. 122 Das Handbuch zu Simon Dieses Modul dient zwei wichtigen Zwecken: • Ausführung von Befehlen für Simon zu geplanten Zeiten Das Akonadi-Modul kann eine bestimmte Sammlung oder Kalender überwachen und auf Einträge reagieren, deren Zusammenfassung mit einen bestimmten Präfix beginnt. In der Voreinstellung wird dafür das Präfix „[simon-command]” benutzt. Dann lösen Ereignisse im Format „[simon-command] <modulname>//<befehlsname>” den passenden Simon-Befehl zur Startzeit des Ereignisses aus. Der Name der Module und Befehle entsprechen denen, die im Befehlsdialog angezeigt werden und müssen nicht zwingend den Befehlen im gleichen Szenario wie die Instanz des AkonadiModuls entsprechen. • Erinnerungen für Ereignisse im angegebenen Kalender anzeigen Ist das Akonadi-Modul entsprechend eingerichtet, kann es Erinnerungen für Kalenderereignisse anzeigen. Diese Erinnerungen mit dem Dialog-Modul angezeigt. 4.8.17 D-Bus Mit dem D-Bus-Befehlsmodul kann Simon exportierte Methoden anderer Anwendungen direkt aufrufen. Das folgende Bildschirmfoto zum Beispiel ruft die Methode „Pause“ der MPRIS-Schnittstelle des Medienplayers Tomahawk auf. 123 Das Handbuch zu Simon 4.8.18 JSON Ähnlich wie mit dem D-Bus-Befehlsmodul können Sie mit dem JSON-Modul ebenfalls Verbindung mit anderen Anwendungen herstellen und direkt Funktion aufrufen, anstatt eine Benutzeraktivität zu simulieren. 124 Das Handbuch zu Simon 4.8.19 VRPN Mit dem VRPN-Befehlsmodul kann Simon als VRPN-Server funktionieren und durch Sprache gesteuerte Knöpfe exportieren. Mit der Moduleinrichtung können Sie den Port für den Server einstellen und eine beliebig Liste von Knöpfen definieren. Jedes dieser Knopf-Objekte hat genau einen „Knopf“. In VRPN kann ein Knopf theoretisch mehr als ein anklickbares Element Element enthalten. Nach der Einrichtung der Knöpfe können Sie die Befehle in Simon dafür definieren. Sie können als Befehle entweder Drücken & Loslassen (fortlaufend), Drücken, Loslassen oder Umschalten der manipulierten Knöpfe einstellen. 125 Das Handbuch zu Simon Der im Bildschirmfoto oben gezeigte Befehl zum Beispiel drückt und löst („klickt“) am VRPNKnopf den Index 0 des Knopf-Geräts, auf den als „ButtonB@localhost“ zugegriffen werden kann. 126 Das Handbuch zu Simon Kapitel 5 Fragen und Antworten Um diesen Abschnitt immer aktuell zu halten, wird dieser Teil des Handbuchs in unserem Wiki veröffentlicht. 127 Das Handbuch zu Simon Kapitel 6 Danksagungen und Lizenz Simon Programm Copyright 2006-2009 Peter Grasch [email protected], Phillip Goriup, Tschernegg Susanne, Bettina Sturmann, Martin Gigerl Dokumentation Copyright (c) 2009 Peter Grasch [email protected] Übersetzung Copyright (c) 2009 Peter Grasch [email protected] Diese Dokumentation ist unter den Bedingungen der GNU Free Documentation License veröffentlicht. Dieses Programm ist unter den Bedingungen der GNU General Public License veröffentlicht. 128 Das Handbuch zu Simon Anhang A Installation Im Wiki finden Sie eine detaillierte Installationsanleitung. 129