Onyx logo

Table Of Contents

Previous topic

Onyx Core Packages

Next topic

onyx.am.gaussian – Simple Gaussian models and mixtures

This Page

Acoustic Modeling

onyx.am – Package providing Gaussian-based models

Modeling is done with three classes:

The first three are all derived from GaussianModelBase.

In addition, there are several other classes supporting operations on collections of models:

  • GmmMgr - a collection of GaussianMixtureModels or DummyModels
  • HmmMgr - a collection of Hmms
  • UttLattice - a structure for doing embeddded training of Hmms
  • SimpleClassifier - a collection of 1-component GaussianMixtureModels with associated labels
  • AdaptingGmmClassifier - a collection of GaussianMixtureModels with associated labels
  • HmmClassifier - a collection of Hmms with associated labels
  • AdaptingGmmClassProcessor - a processor wrapper around AdaptingGmmClassifier

Scoring in the Acoustic Modeling package

Say something about scoring here.

Adaptation in the Acoustic Modeling package

Adaptation interfaces are available at many levels in the AM package. Also, there are several styles of interface, reflecting both the nature of the underlying algorithms and user demand.

Class One-shot? Begin/End? Relevance Algorithm Notes
SimpleGaussianModel Yes Yes Yes Closed form The simplest case
GaussianMixtureModel Yes No Yes EM
Hmm Yes Yes No Baum-Welch See also UttLattice
GmmMgr No Yes No EM
HmmMgr No Partial No ??
UttLattice Yes ?? No Baum-Welch
AdaptingGmmClassifier Yes No Yes EM
AdaptingGmmClassProcessor Yes No Yes EM

Notes:

  1. The GaussianMixtureModel adapt() function can do multiple EM iterations over a single collection of datapoints. Each iteration re-estimates the weights, means, and variances used in the next iteration.
  2. The GmmMgr class supports accumulation and the application of accumulators. This is used by the Hmm and UttLattice classes in their implementation of Baum-Welch training of Hmms. It has the potential to be used for an external EM implementation, but currently there isn’t one.
  3. Note about HmmMgr
  4. Note about UttLattice
  5. The AdaptingGmmClassifier class uses the one-shot adapt() function in GaussianMixtureModel to do adaptation.
  6. The AdaptingGmmClassProcessor class uses the one-shot interface of the AdaptingGmmClassifier to do adaptation. An input event consists of a single label and a sequence of training frames; these frames are then use together in several EM iterations (see note 1.)