Belegarbeit (.pdf - 2.3 MB) - Technische Universität Dresden
Belegarbeit (.pdf - 2.3 MB) - Technische Universität Dresden
Belegarbeit (.pdf - 2.3 MB) - Technische Universität Dresden
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
8. ENTWICKLUNG EINER SCHNITTSTELLE AUF BASIS DER MICROSOFT SPEECH API 51<br />
8.2 Begriffserklärungen im Zusammenhang mit der Schnittstelle<br />
In diesem Kapitel werden einige Begriffe erklärt, die im Zusammenhang mit der Schnittstelle und ihrer<br />
Implementierung von Bedeutung sind.<br />
8.2.1 Die Grammatik<br />
Die Beschreibung der Befehle und die Zusammenhänge zwischen den Befehlen bilden innerhalb der<br />
SAPI die Grammatik. Während der gesamten Laufzeit einer Anwendung, die diese Schnittstelle nutzt,<br />
kann es nur eine einzige Grammatik geben. Sie beinhaltet alle momentan vorhandenen Regeln sowie alle<br />
ihnen zugeordneten Befehle. Es existieren zwei Wege, eine Grammatik zu erstellen. Bei der ersten Variante<br />
wird die Grammatik Schritt für Schritt aus Regeln und Befehlen aufgebaut. Die Abschnitte ’Regeln<br />
und Menüs’ und ’Der Befehl’ beschrieben das jeweilige Vorgehen genauer. Wurde die Grammatik auf<br />
diese Art geändert, müssen die Änderungen durch Aufrufen der Funktion finalize_grammar festgeschrieben<br />
werden. Die zweite Möglichkeit besteht darin, eine Grammatik vollständig aus einem Vokabular zu<br />
laden. Im Abschnitt ’Das Vokabular’ wird darauf näher eingegangen. Im den Inhalt einer Grammatik<br />
vollständig zu löschen ist die Funktion clear_grammar vorgesehen.<br />
8.2.2 Regeln und Menüs<br />
Der Begriff Regel stammt noch aus der SAPI selbst. Eine Regel beschriebt dort alle Kombinationen von<br />
Spracheingaben, die von der SAPI erkannt werden können. Dabei musste es sich aber nicht zwangsläufig<br />
auch um konkrete Befehle handeln. Für die vereinfachte Schnittstelle wurden diese Möglichkeiten allerdings<br />
weggelassen, so dass eine Regel nur noch Befehle enthält. Aufgrund dieser Einschränkung, und<br />
weil eine Regel im Prinzip ein Menü darstellt, deren Befehle die Menüoptionen sind, wird innerhalb der<br />
Schnittstellenimplementation der Begriff ’menu’ anstelle von ’regel’ oder ’rule’ genutzt. Im Rest dieses<br />
Kapitels werden die Begriffe Regel und Menü analog verwendet und beziehen dabei sich immer auf die<br />
Implementation in der vereinfachten Schnittstelle.<br />
Um der Grammatik ein neues Menü hinzuzufügen wird die Funktion add_menu genutzt. Ihr werden als<br />
Parameter der Index, der initale Status, und der Name des Menüs übergeben. Der Index und der Name<br />
der Regel müssen jeweils eindeutig sein. Sie werden dazu genutzt, einen erkannten Befehl eindeutig zu<br />
identifizieren. Die Funktionen get_menu_index und get_menu_name können dazu genutzt werden, die<br />
entsprechenden Werte für den letzten erkannten Befehl zu ermitteln. Der initiale Status eines Menüs wird<br />
mit true für aktiv und false für inaktiv angegeben. Er sagt aus, ob die Regel direkt nach dem Erstellen<br />
sowie nach jedem weiteren Aufruf der Funktion finalize_grammar aktiv sein soll.