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.

In diesem Quelltext wurde zum ersten Mal eine Funktion, „anal_cep_frame()“, aus den<br />

HirschLib- Bibliotheken erwähnt, die eigentlich der Kern des Spracherkennungssystems<br />

„ApplicationHGH“ sind. In dieser Funktion werden die Daten komplett analysiert und<br />

die dabei gewonnene Merkmale werden im Objekt „_featurePar“ zurückgeliefert. Für<br />

die Analyse bei <strong>einer</strong> robusten Spracherkennung soll eine Funktion <strong>mit</strong> Reduzierung der<br />

Störgeräusche verwendet werden:<br />

anal_cep_nr_frame(frame1, &_featurePar, &_nest_hgh);<br />

Um die beiden Funktionen für die Merkmalsextraktion überhaupt verwenden zu<br />

können, muss Analyzer vorher initialisiert werden („AnalyzerHGH::initialize()“):<br />

anal_cep_init(_sampleRate, DELTA_HTK, &_featurePar);<br />

// bzw. für eine robuste Spracherkennung:<br />

estimate_noise_spec_init(&_nest_hgh, 256);<br />

anal_cep_nr_init(_sampleRate, DELTA_ETSI, &_featurePar);<br />

Der da<strong>mit</strong> reservierte Speicher wird später freigegeben („AnalyzerHGH::reset()“):<br />

anal_cep_exit(&_featurePar);<br />

// bzw. nach <strong>einer</strong> robusten Spracherkennung:<br />

estimate_noise_spec_exit(&_nest_hgh);<br />

anal_cep_nr_exit(&_featurePar);<br />

Um die rechtzeitige Initialisierung und um das abschließende Rücksetzen (einige<br />

Komponenten initialisieren sich nach dem Rücksetzen neu) muss man sich bei der<br />

Erstellung von Plugins nicht kümmern. Das alles wird automatisch in der Basisklasse<br />

für Spracherkennungssysteme erledigt. Die Initialisierung von allen Komponenten wird<br />

in „RECOGNIZE_INIT“ <strong>mit</strong> „asrApp->initialize()“ durchgeführt. Am Ende des<br />

gesamten Spracherkennungsprozesses, wenn keine Daten mehr benötigt werden, soll<br />

nur „asrApp“ zurückgesetzt werden. „src/ASR/ASRApplication.cpp“:<br />

ASRApplication::reset() {<br />

_inputAdaptor->resetBuffers();<br />

_analyzer->reset();<br />

_recognizer->reset();<br />

_noiseEstimator->reset();<br />

_adaption->reset();<br />

_audioManager->reset();<br />

}<br />

Seite 39

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!