#include <sent/stddefs.h>
#include <sent/htk_hmm.h>
#include <sent/htk_param.h>
#include <sent/hmm.h>
#include <sent/gprune.h>
#include "globalvars.h"
Include dependency graph for gms.c:
Go to the source code of this file.
Defines | |
#define | MAXHMMNAMELEN 40 |
Assumed maximum length of HMM name. | |
#define | SD(A) gsindex[A-1] |
Index macro for heap sort. | |
#define | SCOPY(D, S) D = S |
Element copy macro for heap sort. | |
#define | SVAL(A) (t_fs[gsindex[A-1]]) |
Element evaluation macro for heap sort. | |
#define | STVAL (t_fs[s]) |
Element current value macro for heap sort. | |
Functions | |
static void | build_gsset () |
static void | free_gsset () |
static boolean | build_state2gs () |
static void | free_state2gs () |
static void | sort_gsindex_upward (int neednum, int totalnum) |
static void | do_gms () |
boolean | gms_init (int nbest) |
boolean | gms_prepare (int framenum) |
void | gms_free () |
LOGPROB | gms_state () |
Variables | |
static int | my_nbest |
Number of states to be selected. | |
static int | allocframenum |
Allocated number of frame for storing fallback scores per frame. | |
static GS_SET * | gsset |
Set of GS states. | |
static int | gsset_num |
Num of above. | |
static int * | state2gs |
Mapping from triphone state id to gs id. | |
static boolean * | is_selected |
TRUE if the frame is already selected. | |
static LOGPROB ** | fallback_score = NULL |
[t][gssetid], LOG_ZERO if selected | |
static int * | gsindex |
Index buffer. | |
static LOGPROB * | t_fs |
Current fallback_score. |
Definition in file gms.c.
static void build_gsset | ( | ) | [static] |
Register all state defs in GS HMM to GS_SET.
Definition at line 102 of file gms.c.
Referenced by gms_init().
static void free_gsset | ( | ) | [static] |
static boolean build_state2gs | ( | ) | [static] |
Build the correspondence from GS states to triphone states.
Definition at line 133 of file gms.c.
Referenced by gms_init().
static void free_state2gs | ( | ) | [static] |
static void sort_gsindex_upward | ( | int | neednum, | |
int | totalnum | |||
) | [static] |
static void do_gms | ( | ) | [static] |
Calculate all GS state scores and select the best ones.
Definition at line 249 of file gms.c.
Referenced by gms_state().
boolean gms_init | ( | int | nbest | ) |
Initialize the GMS related functions and data.
nbest | [in] N-best state to compute the precise triphone. |
Definition at line 282 of file gms.c.
Referenced by outprob_init().
boolean gms_prepare | ( | int | framenum | ) |
Setup GMS parameters for next input.
framenum | [in] length of next input in frames |
Definition at line 332 of file gms.c.
Referenced by outprob_prepare().
void gms_free | ( | ) |
LOGPROB gms_state | ( | ) |
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.
Definition at line 392 of file gms.c.
Referenced by outprob_init().