#include <sent/stddefs.h>
#include <sent/htk_hmm.h>
#include <sent/htk_param.h>
#include <sent/hmm.h>
#include <sent/hmm_calc.h>
Go to the source code of this file.
Defines | |
#define | SD(A) idx[A-1] |
Index macro for heap sort. | |
#define | SCOPY(D, S) D = S |
Element copy macro for heap sort. | |
#define | SVAL(A) (fs[idx[A-1]]) |
Element evaluation macro for heap sort. | |
#define | STVAL (fs[s]) |
Element current value macro for heap sort. | |
Functions | |
static void | build_gsset (HMMWork *wrk) |
Register all state defs in GS HMM to GS_SET. | |
static void | free_gsset (HMMWork *wrk) |
Free gsset. | |
static boolean | build_state2gs (HMMWork *wrk) |
Build the correspondence from GS states to triphone states. | |
static void | free_state2gs (HMMWork *wrk) |
free state2gs. | |
static void | sort_gsindex_upward (HMMWork *wrk) |
Heap sort of gsindex to determine which model gets N best likelihoods. | |
static void | do_gms (HMMWork *wrk) |
Calculate all GS state scores and select the best ones. | |
boolean | gms_init (HMMWork *wrk) |
Initialize the GMS related functions and data. | |
boolean | gms_prepare (HMMWork *wrk, int framenum) |
Setup GMS parameters for next input. | |
void | gms_free (HMMWork *wrk) |
Free GMS related work areas. | |
LOGPROB | gms_state (HMMWork *wrk) |
Get HMM State probability of current state with Gaussiam Mixture Selection. |
See the comments in the source for details about implementation.
Definition in file gms.c.
static void build_gsset | ( | HMMWork * | wrk | ) | [static] |
static void free_gsset | ( | HMMWork * | wrk | ) | [static] |
Free gsset.
wrk | [i/o] HMM computation work area |
Definition at line 107 of file gms.c.
Referenced by gms_free().
Build the correspondence from GS states to triphone states.
wrk | [i/o] HMM computation work area |
Definition at line 120 of file gms.c.
Referenced by gms_init().
static void free_state2gs | ( | HMMWork * | wrk | ) | [static] |
free state2gs.
wrk | [i/o] HMM computation work area |
Definition at line 176 of file gms.c.
Referenced by gms_free().
static void sort_gsindex_upward | ( | HMMWork * | wrk | ) | [static] |
static void do_gms | ( | HMMWork * | wrk | ) | [static] |
Calculate all GS state scores and select the best ones.
wrk | [i/o] HMM computation work area |
Definition at line 250 of file gms.c.
Referenced by gms_state().
Initialize the GMS related functions and data.
wrk | [i/o] HMM computation work area |
Definition at line 283 of file gms.c.
Referenced by outprob_init().
Setup GMS parameters for next input.
wrk | [i/o] HMM computation work area | |
framenum | [in] length of next input in frames |
Definition at line 330 of file gms.c.
Referenced by outprob_prepare().
void gms_free | ( | HMMWork * | wrk | ) |
Free GMS related work areas.
wrk | [i/o] HMM computation work area |
Definition at line 366 of file gms.c.
Referenced by outprob_free().
Get HMM State probability of current state with Gaussiam Mixture Selection.
If the GMS HMM score of the corresponding basephone is below the N-best, the triphone score will not be computed, and the score of the GMS HMM will be returned instead as a fallback score. Else, the precise triphone will be computed and returned.
wrk | [i/o] HMM computation work area |
Definition at line 394 of file gms.c.
Referenced by outprob_init().