29.01.2014 Aufrufe

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

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!