40 #ifndef __PS_CMDLN_MACRO_H__
41 #define __PS_CMDLN_MACRO_H__
43 #include <sphinxbase/cmd_ln.h>
44 #include <sphinxbase/feat.h>
45 #include <sphinxbase/fe.h>
48 #define POCKETSPHINX_OPTIONS \
49 waveform_to_cepstral_command_line_macro(), \
50 cepstral_to_feature_command_line_macro(), \
51 POCKETSPHINX_ACMOD_OPTIONS, \
52 POCKETSPHINX_BEAM_OPTIONS, \
53 POCKETSPHINX_SEARCH_OPTIONS, \
54 POCKETSPHINX_DICT_OPTIONS, \
55 POCKETSPHINX_NGRAM_OPTIONS, \
56 POCKETSPHINX_FSG_OPTIONS, \
57 POCKETSPHINX_DEBUG_OPTIONS
60 #define POCKETSPHINX_DEBUG_OPTIONS \
64 "File to write log messages in" \
69 "Verbosity level for debugging messages" \
74 "Directory to log feature files to" \
79 "Directory to log raw audio files to" }, \
83 "Directory to log senone score files to" \
87 #define POCKETSPHINX_BEAM_OPTIONS \
91 "Beam width applied to every frame in Viterbi search (smaller values mean wider beam)" }, \
95 "Beam width applied to word exits" }, \
99 "Beam width applied to phone transitions" }, \
103 "Beam width applied to last phone in words" }, \
107 "Beam width applied to last phone in single-phone words" }, \
111 "Beam width applied to every frame in second-pass flat search" }, \
115 "Beam width applied to word exits in second-pass flat search" }, \
119 "Phoneme lookahead window size, in frames" }, \
123 "Beam width applied to phone loop search for lookahead" }, \
127 "Beam width applied to phone loop transitions for lookahead" }
130 #define POCKETSPHINX_SEARCH_OPTIONS \
134 "Compute all senone scores in every frame (can be faster when there are many senones)" }, \
138 "Run forward lexicon-tree search (1st pass)" }, \
142 "Run forward flat-lexicon search over word lattice (2nd pass)" }, \
146 "Run bestpath (Dijkstra) search over word lattice (3rd pass)" }, \
150 "Print results and backtraces to log file." }, \
154 "Initial backpointer table size" }, \
158 "Maximum number of distinct word exits at each frame (or -1 for no pruning)" }, \
162 "Maximum number of active HMMs to maintain at each frame (or -1 for no pruning)" }, \
166 "Nodes ignored in lattice construction if they persist for fewer than N frames" }, \
170 "Minimum number of end frames for a word to be searched in fwdflat search" }, \
174 "Window of frames in lattice to search for successor words in fwdflat search " }
177 #define POCKETSPHINX_FSG_OPTIONS \
181 "Sphinx format finite state grammar file"}, \
185 "JSGF grammar file" }, \
189 "Start rule for JSGF (first public rule is default)" }, \
190 { "-fsgusealtpron", \
193 "Add alternate pronunciations to FSG"}, \
197 "Insert filler words at each state."}
200 #define POCKETSPHINX_NGRAM_OPTIONS \
204 "Word trigram language model input file" }, \
208 "Specify a set of language model\n"}, \
212 "Which language model in -lmctl to use by default"}, \
216 "Language model probability weight" }, \
220 "Language model probability weight for flat lexicon (2nd pass) decoding" }, \
224 "Language model probability weight for bestpath search" }, \
228 "Inverse of acoustic model scale for confidence score calculation" }, \
232 "Word insertion penalty" }, \
236 "New word transition penalty" }, \
240 "Phone insertion penalty" }, \
244 "Unigram weight" }, \
248 "Silence word transition probability" }, \
252 "Filler word transition probability" }, \
256 "Bigram-mode: If TRUE only one BP entry/frame; else one per LM state" }, \
260 "Whether to dump the lextree structure to stderr (for debugging), 1 for Ravi's format, 2 for Dot format, Larger than 2 will be treated as Ravi's format" }
263 #define POCKETSPHINX_DICT_OPTIONS \
267 "Main pronunciation dictionary (lexicon) input file" }, \
271 "Noise word pronunciation dictionary input file" }, \
275 "Dictionary is case sensitive (NOTE: case insensitivity applies to ASCII characters only)" }, \
279 "Maximum new OOVs that can be added at run time" }, \
283 "Use within-word phones only" }
286 #define POCKETSPHINX_ACMOD_OPTIONS \
290 "Directory containing acoustic model files."}, \
294 "File containing feature extraction parameters."}, \
298 "Model definition input file" }, \
302 "Senone to codebook mapping input file (usually not needed)" }, \
306 "HMM state transition matrix input file" }, \
310 "HMM state transition probability floor (applied to -tmat file)" }, \
314 "Mixture gaussian means input file" }, \
318 "Mixture gaussian variances input file" }, \
322 "Mixture gaussian variance floor (applied to data from -var file)" }, \
326 "Senone mixture weights input file (uncompressed)" }, \
330 "Senone mixture weights floor (applied to data from -mixw file)" }, \
334 "Inverse weight applied to acoustic scores." }, \
338 "Senone dump (compressed mixture weights) input file" }, \
342 "MLLR transformation to apply to means and variances" }, \
346 "Use memory-mapped I/O (if possible) for model files" }, \
350 "Frame GMM computation downsampling ratio" }, \
354 "Maximum number of top Gaussians to use in scoring." }, \
358 "Beam width used to determine top-N Gaussians (or a list, per-feature)" },\
362 "kd-Tree file for Gaussian selection" }, \
366 "Maximum depth of kd-Trees to use" }, \
370 "Maximum number of Gaussians per leaf node in kd-Trees" }, \
374 "Base in which all log-likelihoods calculated" }
376 #define CMDLN_EMPTY_OPTION { NULL, 0, NULL, NULL }