#include <s3types.h>
#include <logmath.h>
#include "vector.h"
Go to the source code of this file.
Classes | |
| struct | gauden_t |
| Multivariate gaussian mixture density parameters. More... | |
| struct | gauden_dist_t |
| Structure to store distance (density) values for a given input observation wrt density values in some given codebook. More... | |
Functions | |
| gauden_t * | gauden_init (const char *meanfile, const char *varfile, float32 varfloor, int32 precompute, logmath_t *logmath) |
| void | gauden_free (gauden_t *g) |
| int32 | gauden_mean_reload (gauden_t *g, const char *meanfile) |
| int32 | gauden_var_reload (gauden_t *g, const char *meanfile) |
| int32 | gauden_dist_precompute (gauden_t *g, float32 varfloor) |
| int32 | gauden_dist (gauden_t *g, s3mgauid_t mgau, int32 n_top, vector_t *obs, gauden_dist_t **out_dist) |
| int32 | gauden_dist_norm (gauden_t *g, int32 n_top, gauden_dist_t ***dist, uint8 *active) |
| void | gauden_dump (const gauden_t *g) |
| void | gauden_dump_ind (const gauden_t *g, int senidx) |
Gaussian density distribution implementation. There are two major difference bettwen ms_gauden and cont_mgau. One is the fact that ms_gauden only take cares of the Gaussian computation part where cont_mgau actually take care of senone computation as well. The other is the fact that ms_gauden is a multi-stream implementation of GMM computation.
|
||||||||||||||||||||||||
|
Compute gaussian density values for the given input observation vector wrt the specified mixture gaussian codebook (which may consist of several feature streams). Density values are left UNnormalized.
|
|
||||||||||||||||||||
|
Normalize density values (previously computed by gauden_dist). Two cases: If (g->n_mgau == 1), normalize such that the sum of the n_top codeword scores for each feature in dist sums to 1 (in prob domain). Otherwise, normalize by dividing the density value (subtracting, in logprob domain) for each codeword by the best one.
|
|
||||||||||||
|
Re-precompute variance related sufficient statistics. You must call this after gauden_var_reload(). |
|
|
Dump the definitionn of Gaussian distribution.
|
|
||||||||||||
|
Dump the definition of Gaussian distribution of a particular index to the standard output stream
|
|
|
In: The gauden_t to free |
|
||||||||||||||||||||||||
|
Read mixture gaussian codebooks from the given files. Allocate memory space needed for them. Apply the specified variance floor value. Return value: ptr to the model created; NULL if error. (See Sphinx3 model file-format documentation.)
|
|
||||||||||||
|
Reload mixture Gaussian means from the given file. The means must have already been loaded at least once (using gauden_init).
|
|
||||||||||||
|
Reload mixture Gaussian variances from the given file. The variances must have already been loaded at least once (using gauden_init). Precomputation is not done.
|
1.3.9.1