Entwicklung einer Automatenbedienung mit einer leistungsfähigen ...
Entwicklung einer Automatenbedienung mit einer leistungsfähigen ...
Entwicklung einer Automatenbedienung mit einer leistungsfähigen ...
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