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_KWS_OPTIONS, \
58 POCKETSPHINX_DEBUG_OPTIONS
61 #define POCKETSPHINX_DEBUG_OPTIONS \
65 "File to write log messages in" }, \
69 "Verbosity level for debugging messages" }, \
73 "Directory to log feature files to" \
78 "Directory to log raw audio files to" }, \
82 "Directory to log senone score files to" \
86 #define POCKETSPHINX_BEAM_OPTIONS \
90 "Beam width applied to every frame in Viterbi search (smaller values mean wider beam)" }, \
94 "Beam width applied to word exits" }, \
98 "Beam width applied to phone transitions" }, \
102 "Beam width applied to last phone in words" }, \
106 "Beam width applied to last phone in single-phone words" }, \
110 "Beam width applied to every frame in second-pass flat search" }, \
114 "Beam width applied to word exits in second-pass flat search" }, \
118 "Phoneme lookahead window size, in frames" }, \
122 "Beam width applied to phone loop search for lookahead" }, \
126 "Beam width applied to phone loop transitions for lookahead" }, \
130 "Phone insertion penalty for phone loop" }, \
134 "Weight for phoneme lookahead penalties" } \
137 #define POCKETSPHINX_SEARCH_OPTIONS \
141 "Compute all senone scores in every frame (can be faster when there are many senones)" }, \
145 "Run forward lexicon-tree search (1st pass)" }, \
149 "Run forward flat-lexicon search over word lattice (2nd pass)" }, \
153 "Run bestpath (Dijkstra) search over word lattice (3rd pass)" }, \
157 "Print results and backtraces to log." }, \
161 "Initial backpointer table size" }, \
165 "Maximum number of distinct word exits at each frame (or -1 for no pruning)" }, \
169 "Maximum number of active HMMs to maintain at each frame (or -1 for no pruning)" }, \
173 "Nodes ignored in lattice construction if they persist for fewer than N frames" }, \
177 "Minimum number of end frames for a word to be searched in fwdflat search" }, \
181 "Window of frames in lattice to search for successor words in fwdflat search " }
184 #define POCKETSPHINX_KWS_OPTIONS \
188 "Keyphrase to spot"}, \
192 "A file with keyphrases to spot, one per line"}, \
196 "Phone loop probability for keyphrase spotting" }, \
200 "Delay to wait for best detection score" }, \
201 { "-kws_threshold", \
204 "Threshold for p(hyp)/p(alternatives) ratio" }
207 #define POCKETSPHINX_FSG_OPTIONS \
211 "Sphinx format finite state grammar file"}, \
215 "JSGF grammar file" }, \
219 "Start rule for JSGF (first public rule is default)" }, \
220 { "-fsgusealtpron", \
223 "Add alternate pronunciations to FSG"}, \
227 "Insert filler words at each state."}
230 #define POCKETSPHINX_NGRAM_OPTIONS \
234 "Perform phoneme decoding with phonetic lm" }, \
238 "Perform phoneme decoding with phonetic lm and context-independent units only" }, \
242 "Word trigram language model input file" }, \
246 "Specify a set of language model"}, \
250 "Which language model in -lmctl to use by default"}, \
254 "Language model probability weight" }, \
258 "Language model probability weight for flat lexicon (2nd pass) decoding" }, \
262 "Language model probability weight for bestpath search" }, \
266 "Inverse of acoustic model scale for confidence score calculation" }, \
270 "Word insertion penalty" }, \
274 "New word transition penalty" }, \
278 "Phone insertion penalty" }, \
282 "Unigram weight" }, \
286 "Silence word transition probability" }, \
290 "Filler word transition probability" } \
293 #define POCKETSPHINX_DICT_OPTIONS \
297 "Main pronunciation dictionary (lexicon) input file" }, \
301 "Noise word pronunciation dictionary input file" }, \
305 "Dictionary is case sensitive (NOTE: case insensitivity applies to ASCII characters only)" } \
308 #define POCKETSPHINX_ACMOD_OPTIONS \
312 "Directory containing acoustic model files."}, \
316 "File containing feature extraction parameters."}, \
320 "Model definition input file" }, \
324 "Senone to codebook mapping input file (usually not needed)" }, \
328 "HMM state transition matrix input file" }, \
332 "HMM state transition probability floor (applied to -tmat file)" }, \
336 "Mixture gaussian means input file" }, \
340 "Mixture gaussian variances input file" }, \
344 "Mixture gaussian variance floor (applied to data from -var file)" }, \
348 "Senone mixture weights input file (uncompressed)" }, \
352 "Senone mixture weights floor (applied to data from -mixw file)" }, \
356 "Inverse weight applied to acoustic scores." }, \
360 "Senone dump (compressed mixture weights) input file" }, \
364 "MLLR transformation to apply to means and variances" }, \
368 "Use memory-mapped I/O (if possible) for model files" }, \
372 "Frame GMM computation downsampling ratio" }, \
376 "Maximum number of top Gaussians to use in scoring." }, \
380 "Beam width used to determine top-N Gaussians (or a list, per-feature)" },\
384 "Base in which all log-likelihoods calculated" }
386 #define CMDLN_EMPTY_OPTION { NULL, 0, NULL, NULL }