#include <sent/stddefs.h>
#include <sent/htk_param.h>
#include <sent/hmm.h>
関数 | |
LOGPROB | viterbi_segment (HMM *hmm, HTK_Param *param, HMMWork *wrk, boolean multipath, int *endstates, int ulen, int **id_ret, int **seg_ret, LOGPROB **uscore_ret, int *slen_ret) |
Perform Viterbi alignment. |
vsegment.c で定義されています。
LOGPROB viterbi_segment | ( | HMM * | hmm, | |
HTK_Param * | param, | |||
HMMWork * | wrk, | |||
boolean | multipath, | |||
int * | endstates, | |||
int | ulen, | |||
int ** | id_ret, | |||
int ** | seg_ret, | |||
LOGPROB ** | uscore_ret, | |||
int * | slen_ret | |||
) |
Perform Viterbi alignment.
This function performs viterbi alignment for the given sentence HMM, input parameter and unit definition. Any segmentatino unit (word, phoneme state, etc.) is allowed: the segmentation unit should be specified by specifying a list of state id which are the end of each unit. For example, if you want to obtain phoneme alignment, the list of state number that exist at the end of phones should be specified by endstates.
hmm | [in] sentence HMM to be matched | |
param | [in] input parameter data | |
wrk | [i/o] HMM computation work area | |
multipath | [in] TRUE if need multi-path handling | |
endstates | [in] list of state id that corrsponds to the ends of units | |
ulen | [in] total number of units in the hmm | |
id_ret | [out] Pointer to store the newly allocated array of the resulting id sequence of units on the best path. | |
seg_ret | [out] Pointer to store the newly allocated array of the resulting end frame of each unit on the best path. | |
uscore_ret | [out] Pointer to store the newly allocated array of the resulting score at the end frame of each unit on the best path. | |
slen_ret | [out] Pointer to store the total number of units on the best path. |
vsegment.c の 53 行で定義されています。