Main Page | Class List | Directories | File List | Class Members | File Members

ms_senone.h File Reference

(Sphinx 3.0 specific) multiple streams senones. used with ms_gauden.h In Sphinx 3.0 family of tools, ms_senone is used to combine the Gaussian scores. Its existence is crucial in Sphinx 3.0 because 3.0 supports both SCHMM and CDHMM. There are optimization scheme for SCHMM (e.g. compute the top-N Gaussian) that is applicable to SCHMM than CDHMM. This is wrapped in senone_eval_all. More...

#include "s3types.h"
#include <logmath.h>
#include "ms_gauden.h"

Go to the source code of this file.

Classes

struct  senone_t
 8-bit senone PDF structure. More...

Typedefs

typedef uint32 senprob_t

Functions

senone_tsenone_init (const char *mixwfile, const char *mgau_mapfile, float32 mixwfloor, logmath_t *logmath)
void senone_free (senone_t *s)
int32 senone_eval (senone_t *s, s3senid_t id, gauden_dist_t **dist, int32 n_top)
void senone_eval_all (senone_t *s, gauden_dist_t **dist, int32 n_top, int32 *senscr)


Detailed Description

(Sphinx 3.0 specific) multiple streams senones. used with ms_gauden.h In Sphinx 3.0 family of tools, ms_senone is used to combine the Gaussian scores. Its existence is crucial in Sphinx 3.0 because 3.0 supports both SCHMM and CDHMM. There are optimization scheme for SCHMM (e.g. compute the top-N Gaussian) that is applicable to SCHMM than CDHMM. This is wrapped in senone_eval_all.


Typedef Documentation

typedef uint32 senprob_t
 

Senone logs3-probs, truncated to 8 bits


Function Documentation

int32 senone_eval senone_t s,
s3senid_t  id,
gauden_dist_t **  dist,
int32  n_top
 

Evaluate the score for the given senone wrt to the given top N gaussian codewords.

Returns:
senone score (in logs3 domain).
Parameters:
id  In: senone for which score desired
dist  In: top N codewords and densities for all features, to be combined into senone score. IE, dist[f][i] = i-th best <codeword,density> for feaure f
n_top  In: Length of dist[f], for each f

void senone_eval_all senone_t s,
gauden_dist_t **  dist,
int32  n_top,
int32 *  senscr
 

Like senone_eval, but compute all senone scores for the shared density case (ie, #codebooks = 1).

Parameters:
s  In: Senone structure
dist  In: as in senone_eval above
n_top  In: as in senone_eval above
senscr  Out: Upon return, senscr[i] will contain score for senone i

void senone_free senone_t s  ) 
 

In: The senone_t to free

senone_t* senone_init const char *  mixwfile,
const char *  mgau_mapfile,
float32  mixwfloor,
logmath_t *  logmath
 

Load a set of senones (mixing weights and mixture gaussian codebook mappings) from the given files. Normalize weights for each codebook, apply the given floor, convert PDF values to logs3 domain and quantize to 8-bits.

Returns:
pointer to senone structure created. Caller MUST NOT change its contents.
Parameters:
mixwfile  In: mixing weights file
mgau_mapfile  In: file specifying mapping from each senone to mixture gaussian codebook. If NULL all senones map to codebook 0
mixwfloor  In: Floor value for senone weights


Generated on Sat Apr 11 00:02:30 2009 by  doxygen 1.3.9.1