05.11.2013 Aufrufe

Entwicklung einer Automatenbedienung mit einer leistungsfähigen ...

Entwicklung einer Automatenbedienung mit einer leistungsfähigen ...

Entwicklung einer Automatenbedienung mit einer leistungsfähigen ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Um das Spracherkennungssystem benutzen zu können, muss sein Objekt erstellt<br />

werden. Das soll in <strong>einer</strong> der Actionen von StateMachine passieren. Wie auf den Seiten<br />

22 und 23 bei der Beschreibung von StateMachine geschrieben wurde, sind Actionen<br />

die von asrlib::Action abgeleitete Klassen. Man kann beliebig viel solcher Klassen, z.B.<br />

für Audioausgabe (wie „AudioOut“) oder für den Start eines Spracherkennungssystems<br />

(wie „Recognize“), erstellen und als Plugins der asrLib- Sammlung beifügen. So wurde<br />

die schon mehrmals erwähnte Klasse „Recognize“ zusammen <strong>mit</strong> anderen Klassen für<br />

die Steuerung des Spracherkennungssystems „ApplicationHGH“ (Plugin „AsrHGH“)<br />

unter dem separaten Plugin <strong>mit</strong> dem Namen „ActionsHGH“ erstellt:<br />

asrLib<br />

| --- plugins // Ordner <strong>mit</strong> Quellcode für alle Erweiterungsmodule<br />

| --- ActionsHGH // Plugin für die Steuerung von „AsrHGH“<br />

| --- Recognize // Hier findet die gesamte Spracherkennung statt<br />

| --- RecognizeExit // Löscht das Spracherkennungssystem<br />

| --- RecognizeInit // Erstellt und Initialisiert das Spracherkennungssystem<br />

| --- RecognizeTest // Hier wird die Spracherkennung getestet<br />

Der gesamte Quelltext von diesem Plugin befindet sich in den Headerfiles. Alle diese<br />

Klassen und die Klassen aus dem Plugin „Actionen“ (s. Plugin- Übersicht auf der Seite<br />

26) werden in den Konfigurationsdateien für Dialogsysteme jeweils als eine ACTION<br />

dargestellt. Wie man im Beispiel für so eine Konfigurationsdatei auf der Seite 22 sehen<br />

kann, haben diese Actionen andere Namen als die zugehörige Klassen. Das wurde extra<br />

für eine bessere Darstellung gemacht. Die Übersetzung der Namen ist in <strong>einer</strong> einzelnen<br />

bei dieser Art von Plugins Quellcodedatei „export.cpp“ <strong>mit</strong> POCO festgelegt, z.B.:<br />

POCO_EXPORT_NAMED_CLASS(Recognize,RECOGNIZE)<br />

Das Spracherkennungssystem „ApplicationHGH“ wird in der Klasse „RecognizeInit“<br />

erstellt. Zuerst sollte aber seine Bibliothek geladen werden, falls noch nicht geschehen.<br />

Die beiden Schritte sind in einem Auszug aus „RecognizeInit.h“ zu sehen:<br />

PluginFactory::get()->loadLibrary("AsrHGH.so");<br />

// vereinfacht, s. Quelltext<br />

ASRApplication* asrApp =<br />

dynamic_cast(PluginFactory::get()->create("ApplicationHGH"));<br />

Seite 31

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!