libjulius/src/m_fusion.c File Reference

Final set up for recognition. More...

#include <julius/julius.h>

Go to the source code of this file.

Functions

static HTK_HMM_INFOinitialize_HMM (JCONF_AM *amconf, Jconf *jconf)
 Read in an acoustic HMM from file and setup for recognition.
static HTK_HMM_INFOinitialize_GSHMM (JCONF_AM *amconf)
 Initialize context-independent HMM for state selection with Gaussian Mixture Selection.
static HTK_HMM_INFOinitialize_GMM (Jconf *jconf)
 Read and initialize an 1-state GMM for utterance verification and rejection.
static WORD_INFOinitialize_dict (JCONF_LM *lmconf, HTK_HMM_INFO *hmminfo)
 Read in word dictionary from a file and setup for recognition.
static NGRAM_INFOinitialize_ngram (JCONF_LM *lmconf, WORD_INFO *winfo)
 Read in word N-gram from file and setup for recognition.
boolean j_load_am (Recog *recog, JCONF_AM *amconf)
 Load an acoustic model.
boolean j_load_lm (Recog *recog, JCONF_LM *lmconf)
 Load a language model.
boolean j_load_all (Recog *recog, Jconf *jconf)
 Read in all models for recognition.
static boolean mfcc_config_is_same (JCONF_AM *amconf, MFCCCalc *mfcc)
 Check if parameter extraction configuration is the same between an AM configuration and a MFCC instance.
void create_mfcc_calc_instances (Recog *recog)
 Create MFCC calculation instance for AM processing instances and GMM.
boolean j_launch_recognition_instance (Recog *recog, JCONF_SEARCH *sconf)
 Launch a recognition process instance.
boolean j_final_fusion (Recog *recog)
 Combine all loaded models and settings into one engine instance.


Detailed Description

Final set up for recognition.

These functions build everything needed for recognition: load models into memory, build data structures such as tree lexicon, and allocate work area for computation.

Author:
Akinobu Lee
Date:
Thu May 12 13:31:47 2005
Revision
1.1.1.1

Definition in file m_fusion.c.


Function Documentation

static HTK_HMM_INFO* initialize_HMM ( JCONF_AM amconf,
Jconf jconf 
) [static]

Read in an acoustic HMM from file and setup for recognition.

This functions reads HMM definitions from file, reads also a HMMList file, makes logical-to-physical model mapping, determine required parameter type, determine whether multi-path handling is needed, and find pause model in the definitions.

The feature vector extraction parameters are also finally determined in this function. Informations used for the determination is (1) the header values in hmmdefs, (2) embedded parameters in binary HMM if you are reading a binary HMM made with recent mkbinhmm, (3) user-specified parameters in jconf configurations (either by separatedly specified or by -htkconf options).

Parameters:
amconf [in] AM configuration variables
jconf [i/o] global configuration variables
Returns:
the newly created HMM information structure, or NULL on failure.

Definition at line 73 of file m_fusion.c.

Referenced by j_load_am().

static HTK_HMM_INFO* initialize_GSHMM ( JCONF_AM amconf  )  [static]

Initialize context-independent HMM for state selection with Gaussian Mixture Selection.

Parameters:
amconf [in] AM configuratino variables
Returns:
the newly created HMM information structure, or NULL on failure.

Definition at line 166 of file m_fusion.c.

Referenced by j_load_am().

static HTK_HMM_INFO* initialize_GMM ( Jconf jconf  )  [static]

Read and initialize an 1-state GMM for utterance verification and rejection.

Parameters:
jconf [in] global configuration variables
Returns:
the newly created GMM information structure in HMM format, or NULL on failure.

Definition at line 198 of file m_fusion.c.

Referenced by j_load_all().

static WORD_INFO* initialize_dict ( JCONF_LM lmconf,
HTK_HMM_INFO hmminfo 
) [static]

Read in word dictionary from a file and setup for recognition.

Monophone-to-triphone conversion will be performed inside init_voca(). So, an HMM definition data that will be used with the LM should also be specified as an argument.

When reading dictionary for N-gram, sentence head silence word and tail silence word will be determined in this function. Also, when an option "-iwspword" is specified, this will insert a pause word at the last of the given dictionary.

Parameters:
lmconf [in] LM configuration variables
hmminfo [in] HMM definition of each phone in dictionary, for phone checking and monophone-to-triphone conversion.
Returns:
the newly created word dictionary structure, or NULL on failure.

Definition at line 263 of file m_fusion.c.

Referenced by j_load_lm().

static NGRAM_INFO* initialize_ngram ( JCONF_LM lmconf,
WORD_INFO winfo 
) [static]

Read in word N-gram from file and setup for recognition.

When N-gram is specified in ARPA format, the behavior relies on whether N-grams are specified in "-nlr" and "-nrl". When either of them was solely specified, this function simply read it. If both are specified, it will read the RL model fully as a primary model, and additionally read only the 2-gram part or the LR model as the first pass LM.

Also, this function create mapping from dictionary words to LM entry.

Parameters:
lmconf [in] LM configuration variables
winfo [i/o] word dictionary that will be used with this N-gram. each word in the dictionary will be assigned to an N-gram entry here.
Returns:
the newly created N-gram information data, or NULL on failure.

Definition at line 353 of file m_fusion.c.

Referenced by j_load_lm().

static boolean mfcc_config_is_same ( JCONF_AM amconf,
MFCCCalc mfcc 
) [static]

Check if parameter extraction configuration is the same between an AM configuration and a MFCC instance.

Parameters:
amconf [in] AM configuration parameters
mfcc [in] MFCC calculation instance.
Returns:
TRUE if exactly the same, or FALSE if not.

Definition at line 709 of file m_fusion.c.

Referenced by create_mfcc_calc_instances().

void create_mfcc_calc_instances ( Recog recog  ) 

Create MFCC calculation instance for AM processing instances and GMM.

If more than one AM processing instance (or GMM) has the same configuration, the same MFCC calculation instance will be shared among them.

Parameters:
recog [i/o] engine instance

Definition at line 771 of file m_fusion.c.

Referenced by j_final_fusion().

Here is the caller graph for this function:


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