libsent/src/phmm/gms_gprune.c

Gaussian Mixture Selection のための Gaussian pruning を用いたモノフォンHMMの計算. [詳細]

#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"
gms_gprune.cのインクルード依存関係図

ソースコードを見る。

マクロ定義

#define GS_MAX_PROB
 Compute only max for GS states.
#define LAST_BEST
 Enable beam pruning.
#define BEAM_OFFSET   10.0
 Beam offset, used when BEAM enabled.
#define GS_MAX_PROB
 Compute only max for GS states.

関数

void gms_gprune_init (HTK_HMM_INFO *hmminfo, int gsset_num)
void gms_gprune_prepare ()
void gms_gprune_free ()
static LOGPROB calc_contprob_with_safe_pruning (HTK_HMM_Dens *binfo, LOGPROB thres)
static LOGPROB compute_g_max (HTK_HMM_State *stateinfo, int last_maxi, int *maxi_ret)
void compute_gs_scores (GS_SET *gsset, int gsset_num, LOGPROB *scores_ret)

変数

static int my_gsset_num
 num of gsset states (local copy)
static int * last_max_id
 maximum mixture id of last call for each states

説明

Gaussian Mixture Selection のための Gaussian pruning を用いたモノフォンHMMの計算.

作者:
Akinobu LEE
日付:
Thu Feb 17 15:05:08 2005
Revision
1.6

gms_gprune.c で定義されています。


マクロ定義

#define LAST_BEST

Enable beam pruning.

Compute last best Gaussians first

gms_gprune.c33 行で定義されています。


関数

void gms_gprune_init ( HTK_HMM_INFO hmminfo,
int  gsset_num 
)

Initialization of GMS HMM likelihood computation.

引数:
hmminfo [in] GMS HMM definition
gsset_num [in] number of states in GMS HMM

gms_gprune.c60 行で定義されています。

参照元 gms_init().

void gms_gprune_prepare (  ) 

Prepare GMS HMM computation for the next speech input.

gms_gprune.c75 行で定義されています。

参照元 gms_prepare().

void gms_gprune_free (  ) 

Free GMS related work area.

gms_gprune.c88 行で定義されています。

参照元 gms_free().

static LOGPROB calc_contprob_with_safe_pruning ( HTK_HMM_Dens binfo,
LOGPROB  thres 
) [static]

Compute only max by safe pruning

引数:
binfo [in] Gaussian density
thres [in] constant pruning threshold
戻り値:
the computed likelihood.

gms_gprune.c108 行で定義されています。

参照元 compute_g_max().

static LOGPROB compute_g_max ( HTK_HMM_State stateinfo,
int  last_maxi,
int *  maxi_ret 
) [static]

Compute log output likelihood of a state. Only maximum Gaussian will be computed.

引数:
stateinfo [in] HMM state to compute
last_maxi [in] the mixture id that got the maximum value at the previous frame, or -1 if not exist.
maxi_ret [out] tue mixture id that get the maximum value at this call.
戻り値:
the log likelihood.

gms_gprune.c214 行で定義されています。

参照元 compute_gs_scores().

void compute_gs_scores ( GS_SET gsset,
int  gsset_num,
LOGPROB scores_ret 
)

Main function to compute all the GMS HMM states in a frame with the input vectore specified by OP_vec. This function assumes that this will be called for sequencial frame, since it utilizes the result of previous frame for faster pruning.

引数:
gsset [in] list of GMS HMM state set.
gsset_num [in] length of above
scores_ret [out] array of scores for each GMS HMM state

gms_gprune.c306 行で定義されています。

参照元 do_gms().


Juliusに対してTue Sep 22 00:15:27 2009に生成されました。  doxygen 1.6.0