name: hmm_train
synopsis: hmm_train [options] [arguments]

description:  
this is the Viterbi training utility which uses the normal dynamic programming approach to find a best alignment of the data to the transcription and uses the alignment to update the statistics of each model. all input to the utility is provided via a parameter file

arguments: 
   -p params_file        : parameter file
   -c CD                 : context dependency mode either CD or CI
   -help                 : display this message
example :

   hmm_train -p params.text -c CI


a sample parameter file: 

   # parameter file for Viterbi training
   #
  
   # define training mode (normal, batch or combine)
   # - in normal mode, the parameters are updated on the given input data
   # - in batch mode, accumulator files are output but no parameter updating
   #   is done. combine mode must be used to combine the accumulator files and
   #   perform the reestimation
   # - in combine mode, accumulator files are combined and used to update the
   #   HMM parameters
   #
   # train_mode = normal
   # train_mode = combine
   train_mode = batch
  
   # define accumulator file 
   #
   batch_stats_file = acc/acc_0.bin
  
   # in combine mode you define an accumulator list containing all of the 
   # accumulator filenames produced in batch mode
   #
   # acc_list_file = acc/acc.list
  
   # define input file list
   #
   input_file = mfcc.list
   
   # define output file list of best paths (if this is not set then no
   # output will be written)
   #
   output_file = output.list
   
   # define the transcript file and the type of transcription mode.
   # options are word_mlf and model_mlf
   #
   mlf_file = train_mfcc_word.mlf
   mlf_mode = word_mlf
   
   # define the file containing the list of context-independent models
   #
   monophones_file = monophones.text

   # define the file containing a list of models which are not expanded
   # for context-dependency. typically these are silence models
   #
   special_model_list = special_models.text
   
   # define the model definition file
   #
   models_file = tri_models.text
   
   # define model mapping file created by create_triphone_map
   #
   phones_file = phones.text
   
   # define lexicon file
   #
   lexicon_file = lexicon.text
   
   # define the input states file
   #
   states_file = states.bin
   
   # define the input transitions file
   #
   transitions_file = transitions.text
   
   # in combine mode or normal mode we define the states file which will 
   # contain the updated HMM states
   #
   # updated_states_file = new_states.text
   
   # in combine mode or normal mode we define the transitions file which will
   # contain the updated HMM transitions
   #
   # updated_trans_file = new_trans.text
   
   # define alignment mode : model or state (always use state for training)
   #
   align_mode = state
   
   # define input(mfcc)/output(states) mode file format (ascii or binary)
   # accumulator files are always written in binary
   #
   input_mode = binary
   output_mode = binary
   
   # define context mode (monophone, word_internal, or cross_word)
   # 
   context_mode = cross_word
  
   # define parameters for Viterbi decoding
   # - n-best determines how many paths should be kept at each word-end
   # - context_size specifies the size of context expansion (3 = triphones)
   # - beam_width specifies the beam pruning thresholds (state, model, word)
   # - max_active_phones specifies the maximum number of active phone instances
   #
   n-best = 1
   context_size = 3
   beam_width = 200 100 100
   max_active_phones = 1000



man page: http://www.isip.msstate.edu/projects/speech/education/toolkits/asr/acoustic_models/training/hmm_train.html
