libsent/src/hmminfo/check_hmm_restriction.c File Reference

Check if the given HMM definition file can be used. More...

#include <sent/stddefs.h>
#include <sent/htk_hmm.h>
#include <sent/htk_param.h>
#include <sent/hmm.h>

Go to the source code of this file.

Functions

boolean htk_hmm_has_several_arc_on_edge (HTK_HMM_INFO *hmminfo)
 Return TRUE if it has more than one arc from initial state, or to the final state.
static boolean trans_ok_p (HTK_HMM_Trans *t)
 Scan the transition matrix to test the ristrictions.
boolean check_hmm_limit (HTK_HMM_Data *dt)
 Check if the transition matrix conforms the ristrictions of Julius.
boolean check_all_hmm_limit (HTK_HMM_INFO *hmminfo)
 Check all the HMM definitions in a HTK HMM definition data.
boolean is_skippable_model (HTK_HMM_Data *d)
 Check if the model has direct transition from initial state to final state, skipping all the output state.


Detailed Description

Check if the given HMM definition file can be used.

TRANSITION RESTRICTIONS:

In multipath version, all the transitions including model-skipping transition is allowed. However, in normal version, their transition is restricted as above.

If such transition is found, Julius output warning and proceed by modifying transition to suite for the restriction.

Author:
Akinobu LEE
Date:
Tue Feb 15 19:00:58 2005
Revision
1.1.1.1

Definition in file check_hmm_restriction.c.


Function Documentation

boolean htk_hmm_has_several_arc_on_edge ( HTK_HMM_INFO hmminfo  ) 

Return TRUE if it has more than one arc from initial state, or to the final state.

In such case, Julius should be run in multi-path version.

Parameters:
hmminfo [in] HMM definition
Returns:
TRUE if has, or FALSE if not exist.

Definition at line 63 of file check_hmm_restriction.c.

Referenced by rdhmmdef(), and read_binhmm().

static boolean trans_ok_p ( HTK_HMM_Trans t  )  [static]

Scan the transition matrix to test the ristrictions.

Parameters:
t [in] a transition matrix to be tested
Returns:
0 if it conforms, 1 if unacceptable transition was found and modification forced, 3 if totally unsupported transition as included and cannot by handled.

Definition at line 109 of file check_hmm_restriction.c.

Referenced by check_hmm_limit().

boolean check_hmm_limit ( HTK_HMM_Data dt  ) 

Check if the transition matrix conforms the ristrictions of Julius.

Parameters:
dt [in] HTK HMM model to check.
Returns:
TRUE on success, FALSE if the check failed.

Definition at line 174 of file check_hmm_restriction.c.

Referenced by check_all_hmm_limit().

boolean check_all_hmm_limit ( HTK_HMM_INFO hmminfo  ) 

Check all the HMM definitions in a HTK HMM definition data.

Parameters:
hmminfo [in] HTK HMM data to check.
Returns:
TRUE if there was no bad models, FALSE if at least one model is bad.

Definition at line 198 of file check_hmm_restriction.c.

Referenced by rdhmmdef().

boolean is_skippable_model ( HTK_HMM_Data d  ) 

Check if the model has direct transition from initial state to final state, skipping all the output state.

Parameters:
d [in] logical HMM
Returns:
TRUE if it has direct transition from initial state to final state, that is, this is a "skippable" model. Otherwise, return FALSE.

Definition at line 232 of file check_hmm_restriction.c.

Referenced by print_hmmdef_info().


Generated on Tue Dec 18 16:01:38 2007 for Julius by  doxygen 1.5.4