'KALDI'

Kaldi Tools

This page contains a list of all the Kaldi tools, with their brief functions and usage messages.

Tools

Description

align-equal.cc Write equally spaced alignments of utterances (to get training started)
Usage: align-equal <tree-in> <model-in> <lexicon-fst-in> <features-rspecifier> <transcriptions-rspecifier> <alignments-wspecifier>
e.g.:
align-equal 1.tree 1.mdl lex.fst scp:train.scp ark:train.tra ark:equal.ali
align-equal-compiled.cc Write an equally spaced alignment (for getting training started)Usage: align-equal-compiled <graphs-rspecifier> <features-rspecifier> <alignments-wspecifier>
e.g.:
align-equal-compiled 1.mdl 1.fsts scp:train.scp ark:equal.ali
acc-tree-stats.cc Accumulate statistics for phonetic-context tree building.
Usage: acc-tree-stats [options] model-in features-rspecifier alignments-rspecifier [tree-accs-out]
e.g.:
acc-tree-stats 1.mdl scp:train.scp ark:1.ali 1.tacc
show-alignments.cc Display alignments in human-readable form
Usage: show-alignments [options] <phone-syms> <model> <alignments-rspecifier>
e.g.:
show-alignments phones.txt 1.mdl ark:1.ali
compile-questions.cc Compile questions
Usage: compile-questions [options] <topo> <questions-text-file> <questions-out>
e.g.:
compile-questions questions.txt questions.qst
cluster-phones.cc Cluster phones (or sets of phones) into sets for various purposes
Usage: cluster-phones [options] <tree-stats-in> <phone-sets-in> <clustered-phones-out>
e.g.:
cluster-phones 1.tacc phonesets.txt questions.txt
compute-wer.cc Compute WER by comparing different transcriptions
Takes two transcription files, in kaldi integer format
Usage: compute-wer [options] <ref-rspecifier> <hyp-rspecifier>
make-h-transducer.cc Make H transducer from transition-ids to context-dependent phones,
without self-loops [use add-self-loops to add them]
Usage: make-h-transducer ilabel-info-file tree-file transition-gmm/acoustic-model [H-fst-out]
e.g.:
make-h-transducer ilabel_info 1.tree 1.mdl > H.fst
add-self-loops.cc Add self-loops and transition probabilities to transducer, expanding to transition-ids
Usage: add-self-loops [options] transition-gmm/acoustic-model [fst-in] [fst-out]
e.g.:
add-self-loops --self-loop-scale=0.1 1.mdl < HCLG_noloops.fst > HCLG_full.fst
convert-ali.cc Convert alignments from one decision-tree/model to another
Usage: convert-ali [options] old-model new-model new-tree old-alignments-rspecifier new-alignments-wspecifier
e.g.:
convert-ali old.mdl new.mdl new.tree ark:old.ali ark:new.ali
compile-train-graphs.cc Creates training graphs (without transition-probabilities, by default)

Usage: compile-train-graphs [options] tree-in model-in lexicon-fst-in transcriptions-rspecifier graphs-wspecifier
e.g.:
compile-train-graphs tree 1.mdl lex.fst ark:train.tra ark:graphs.fsts
compile-train-graphs-fsts.cc Creates training graphs (without transition-probabilities, by default)
This version takes FSTs as inputs (e.g., representing a separate weighted
grammar for each utterance)
Note: the lexicon should contain disambiguation symbols and you should
supply the --read-disambig-syms option which is the filename of a list
of disambiguation symbols.
Warning: you probably want to set the --transition-scale and --self-loop-scale
options; the defaults (zero) are probably not appropriate.
Usage: compile-train-graphs-fsts [options] tree-in model-in lexicon-fst-in graphs-rspecifier graphs-wspecifier
e.g.:
compile-train-graphs-fsts --read-disambig-syms=disambig.list\
tree 1.mdl lex.fst ark:train.fsts ark:graphs.fsts
make-pdf-to-tid-transducer.cc Make transducer from pdfs to transition-ids
Usage: make-pdf-to-tid-transducer model-filename [fst-out]
e.g.:
make-pdf-to-tid-transducer 1.mdl > pdf2tid.fst
make-ilabel-transducer.cc Make transducer that de-duplicates context-dependent ilabels that map to the same state
Usage: make-ilabel-transducer ilabel-info-right tree-file transition-gmm/model ilabel-info-left [mapping-fst-out]
e.g.:
make-ilabel-transducer old_ilabel_info 1.tree 1.mdl new_ilabel_info > convert.fst
show-transitions.cc Print debugging info from transition model
Usage: show-transitions phones-symbol-table transition/model-file [occs-file]
e.g.:
show-transitions phones.txt 1.mdl 1.occs
ali-to-phones.cc Convert model-level alignments to phone-sequences (in integer, not text, form)
Usage: ali-to-phones [options] <model> <alignments-rspecifier> <phone-transcript-wspecifier>
e.g.:
ali-to-phones 1.mdl ark:1.ali ark:phones.tra
ali-to-post.cc Convert alignments to posteriors
Usage: ali-to-post [options] alignments-rspecifier posteriors-wspecifier
e.g.:
ali-to-post ark:1.ali ark:1.post
weight-silence-post.cc Apply weight to silences in posteriors
Usage: weight-silence-post [options] <silence-weight> <silence-phones> <model> <posteriors-rspecifier> <posteriors-wspecifier>
e.g.:
weight-silence-post 0.0 1:2:3 1.mdl ark:1.post ark:nosil.post
acc-lda.cc Accumulate LDA statistics based on pdf-ids.
Usage: acc-lda [options] <transition-gmm/model> <features-rspecifier> <posteriors-rspecifier> <lda-acc-out>
Typical usage:
ali-to-post ark:1.ali ark:- | lda-acc 1.mdl "ark:splice-feats scp:train.scp|" ark:- ldaacc.1
est-lda.cc Estimate LDA transform using stats obtained with acc-lda.
Usage: est-lda [options] <lda-matrix-out> <lda-acc-1> <lda-acc-2> ...
ali-to-pdf.cc Converts alignments (containing transition-ids) to pdf-ids, zero-based.
Usage: ali-to-pdf [options] <model> <alignments-rspecifier> <pdfs-wspecifier>
e.g.:
ali-to-pdf 1.mdl ark:1.ali ark, t:-
est-mllt.cc Do MLLT update
Usage: est-mllt [options] <mllt-mat-out> <stats-in1> <stats-in2> ...
e.g.: est-mllt 2.mat 1a.macc 1b.macc ...
Note: use compose-transforms <mllt-mat-out> <prev-mllt-mat> to combine with previous
MLLT or LDA transform, if any, and
gmm-transform-means to apply <mllt-mat-out> to GMM means.
build-tree.cc Train decision tree
Usage: build-tree [options] <tree-stats-in> <roots-file> <questions-file> <topo-file> <tree-out>
e.g.:
build-tree treeacc roots.txt 1.qst topo tree
build-tree-two-level.cc Trains two-level decision tree. Outputs the larger tree, and a mapping from the
leaf-ids of the larger tree to those of the smaller tree. Useful, for instance,
in tied-mixture systems with multiple codebooks.

Usage: build-tree-two-level [options] <tree-stats-in> <roots-file> <questions-file> <topo-file> <tree-out> <mapping-out>
e.g.:
build-tree-two-level treeacc roots.txt 1.qst topo tree tree.map
decode-faster.cc Decode, reading log-likelihoods (of transition-ids or whatever symbol is on the graph) as matrices
Usage: decode-faster [options] fst-in loglikes-rspecifier words-wspecifier [alignments-wspecifier]
decode-faster-mapped.cc Decode, reading log-likelihoods as matrices
(model is needed only for the integer mappings in its transition-model)
Usage: decode-faster-mapped [options] model-in fst-in loglikes-rspecifier words-wspecifier [alignments-wspecifier]
scale-vecs.cc Scale a set of vectors in a Table (useful for speaker vectors)
Usage: scale-vecs [options] in-rspecifier out-wspecifier
copy-transition-model.cc Copies a transition model (this can be used to separate transition
models from the acoustic models they are written with.
Usage: show-transitions [options] <transition-model or model file> <transition-model-out>
e.g.:
show-transitions phones.txt 1.mdl 1.acc
rand-prune-post.cc Randomized pruning of posteriors less than threshold
Note: for posteriors derived from alignments, threshold must be
greater than one, or this will have no effect (speedup factor will
be roughly the same as the threshold)
Usage: rand-prune-post [options] <rand-prune-value> <posteriors-rspecifier> <posteriors-wspecifier>
e.g.:
rand-prune-post 5.0 ark:- ark:-
phones-to-prons.cc Convert pairs of (phone-level, word-level) transcriptions to
output that indicates the phones assigned to each word.
Format is standard format for archives of vector<vector<int32> >
i.e. :
utt-id 600 4 7 19 ; 512 4 18 ; 0 1
where 600, 512 and 0 are the word-ids (0 for non-word phones, e.g.
optional-silence introduced by the lexicon), and the phone-ids
follow the word-ids.
Note: L_align.fst must have word-start and word-end symbols in it

Usage: phones-to-prons [options] <L_align.fst> <word-start-sym> <word-end-sym> <phones-rspecifier> <words-rspecifier> <prons-wspecifier>
e.g.:
ali-to-phones 1.mdl ark:1.ali ark:- | \
phones-to-prons L_align.fst 46 47 ark:- 1.tra ark:1.prons
prons-to-wordali.cc Given per-utterance pronunciation information as output by
words-to-prons, and per-utterance phone alignment information
as output by ali-to-phones --write-lengths, output word alignment
information that can be turned into the ctm format.
Outputs is pairs of (word, #frames), or if --per-frame is given,
just the word for each frame.
Note: zero word-id usually means optional silence.
Format is standard format for archives of vector<pair<int32, int32> >
i.e. :
utt-id 600 22 ; 1028 32 ; 0 41
where 600, 1028 and 0 are the word-ids, and 22, 32 and 41 are the
lengths.

Usage: prons-to-wordali [options] <prons-rspecifier> <phone-lengths-rspecifier> <wordali-wspecifier>
e.g.:
ali-to-phones 1.mdl ark:1.ali ark:- | \
phones-to-prons L_align.fst 46 47 ark:- 1.tra ark:- | \
prons-to-wordali ark:- \
"ark:ali-to-phones --write-lengths 1.mdl ark:1.ali ark:-|" ark:1.wali
copy-gselect.cc Copy Gaussian indices for pruning, possibly making the
lists shorter (e.g. the --n=10 limits to the 10 best indices
Usage:
gmm-gselect [options] <gselect-rspecifier> <gselect-wspecifier>
copy-tree.cc Copy decision tree (possibly changing binary/text format)
Usage: copy-tree [--binary=false] <tree-in> <tree-out>
scale-post.cc Scale posteriors with either a global scale, or a different scale for each utterance.
Usage: scale-post post-rspecifier (scale-rspecifier|scale) post-wspecifier
compute-mce-scale.cc compute the scale of MCE, which is used to scale posteriors
Usage: compute-mce-scale [option] num-score-rspecifier den-score-rspecifier out-scale-wspecifier
get-silence-probs.cc This program takes two archives of Vector<BaseFloat>, representing
per-frame log-likelihoods for silence and non-silence models respectively.
It outputs per-frame silence probabilities in the same format.
To get non-silence probs instead, use --write-nonsil-probs Usage: get-silence-probs [options] <silence-loglikes-rspecifier> <nonsilence-loglikes-rspecifier> <silence-probs-wspecifier>
e.g.: get-silence-probs --silence-prior=0.9 --quantize=0.25 ark:sil.likes ark:nonsil.likes ark:sil.probs
post-to-weights.cc Turn posteriors into per-frame weights (typically most useful after
weight-silence-post, to get silence weights)
Usage: post-to-weights post-rspecifier weights-wspecifier
reverse-weights.cc Modify per-frame weights by outputting 1.0-weight (if --reverse=true);
if --reverse=false, do nothing to them.
Usage: reverse-weights weights-rspecifier weights-wspecifier
dot-weights.cc Takes two archives of vectors (typically representing per-frame weights)
and for each utterance, outputs the dot product.
Useful for evaluating the accuracy of silence classifiers.
Usage: dot-weights weights-rspecifier1 weights-rspecifier2 float-wspecifier
sum-tree-stats.cc Sum statistics for phonetic-context tree building.
Usage: sum-tree-stats [options] tree-accs-out tree-accs-in1 tree-accs-in2 ...
e.g.:
sum-tree-stats treeacc 1.treeacc 2.treeacc 3.treeacc
weight-post.cc Takes archives (typically per-utterance) of posteriors and per-frame weights,
and weights the posteriors by the per-frame weights

Usage: weight-post <post-rspecifier> <weights-rspecifier> <post-wspecifier>
post-to-tacc.cc From posteriors, compute transition-accumulators
The output is a vector of counts/soft-counts, indexed by transition-id)
Note: the model is only read in order to get the size of the vector

Usage: post-to-tacc [options] <model> <post-rspecifier> <accs>
e.g.: post-to-tacc --binary=false 1.mdl "ark:ali-to-post 1.ali|" 1.tacc
Useful options include the --weights option
copy-matrix.cc Copy matrices, or archives of matrices (e.g. features or transforms)

Usage: copy-matrix [options] (matrix-in-rspecifier|matrix-in-rxfilename) (matrix-out-wspecifier|matrix-out-wxfilename)
e.g.: copy-matrix --binary=false 1.mat -
copy-matrix ark:2.trans ark,t:-
copy-vector.cc Copy vectors, or archives of vectors (e.g. transition-accs; speaker vectors)

Usage: copy-vector [options] (vector-in-rspecifier|vector-in-rxfilename) (vector-out-wspecifier|vector-out-wxfilename)
e.g.: copy-vector --binary=false 1.mat -
copy-vector ark:2.trans ark,t:-
copy-int-vector.cc Copy vectors of integers, or archives of vectors of integers
(e.g. alignments)

Usage: copy-int-vector [options] (vector-in-rspecifier|vector-in-rxfilename) (vector-out-wspecifier|vector-out-wxfilename)
e.g.: copy-int-vector --binary=false foo -
copy-int-vector ark:1.ali ark,t:-
sum-post.cc Sum two sets of posteriors for each utterance, e.g. useful in fMMI.
To take the difference of posteriors, use e.g. --scale2=-1.0

Usage: sum-post post-rspecifier1 post-rspecifier2 post-wspecifier
sum-matrices.cc Sum matrices, e.g. stats for fMPE training
Usage: sum-matrices [options] <mat-out> <mat-in1> <mat-in2> ...
e.g.:
sum-matrices mat 1.mat 2.mat 3.mat
draw-tree.cc Outputs a decision tree description in GraphViz format
Usage: draw-tree [options] <phone-symbols> <tree>
e.g.: draw-tree phones.txt tree | dot -Gsize=8,10.5 -Tps | ps2pdf - tree.pdf
copy-int-vector-vector.cc Copy vectors of vectors of integers, or archives thereof

Usage: copy-int-vector-vector [options] vector-in-(rspecifier|rxfilename) vector-out-(wspecifierwxfilename)
align-mapped.cc Generate alignments, reading log-likelihoods as matrices.
(model is needed only for the integer mappings in its transition-model)
Usage: align-mapped [options] tree-in trans-model-in lexicon-fst-in feature-rspecifier transcriptions-rspecifier alignments-wspecifier
e.g.:
gmm-align tree trans.mdl lex.fst scp:train.scp ark:train.tra ark:nnet.ali
align-compiled-mapped.cc Generate alignments, reading log-likelihoods as matrices.
(model is needed only for the integer mappings in its transition-model)
Usage: align-compiled-mapped [options] trans-model-in graphs-rspecifier feature-rspecifier alignments-wspecifier
e.g.:
nnet-align-compiled trans.mdl ark:graphs.fsts scp:train.scp ark:nnet.ali
or:
compile-train-graphs tree trans.mdl lex.fst ark:train.tra b, ark:- | \
nnet-align-compiled trans.mdl ark:- scp:loglikes.scp t, ark:nnet.ali
latgen-faster-mapped.cc Generate lattices, reading log-likelihoods as matrices
(model is needed only for the integer mappings in its transition-model)
Usage: latgen-faster-mapped [options] trans-model-in (fst-in|fsts-rspecifier) loglikes-rspecifier lattice-wspecifier [ words-wspecifier [alignments-wspecifier] ]
compute-mfcc-feats.cc Create MFCC feature files.
Usage: compute-mfcc-feats [options...] <wav-rspecifier> <feats-wspecifier>
compute-plp-feats.cc Create PLP feature files.
Usage: compute-plp-feats [options...] <wav-rspecifier> <feats-wspecifier>
compute-fbank-feats.cc Create Mel-filter bank (FBANK) feature files.
Usage: compute-fbank-feats [options...] <wav-rspecifier> <feats-wspecifier>
compute-cmvn-stats.cc Compute cepstral mean and variance normalization statistics
If wspecifier provided: per-utterance by default, or per-speaker if
spk2utt option provided; if wxfilename: global
Usage: compute-cmvn-stats [options] feats-rspecifier (stats-wspecifier|stats-wxfilename)
add-deltas.cc Add deltas (typically to raw mfcc or plp features
Usage: add-deltas [options] in-rspecifier out-wspecifier
remove-mean.cc Remove mean from each feature file
[ for per-speaker normalization, use add-cmvn-stats and apply-cmvn ]
Usage: remove-mean [options] in-rspecifier out-wspecifier
apply-cmvn.cc Apply cepstral mean and (optionally) variance normalization
Per-utterance by default, or per-speaker if utt2spk option provided
Usage: apply-cmvn [options] (cmvn-stats-rspecifier|cmvn-stats-rxfilename) feats-rspecifier feats-wspecifier
transform-feats.cc Apply transform (e.g. LDA; HLDA; fMLLR/CMLLR; MLLT/STC)
Linear transform if transform-num-cols == feature-dim, affine if
transform-num-cols == feature-dim+1 (->append 1.0 to features)
Per-utterance by default, or per-speaker if utt2spk option provided
Global if transform-rxfilename provided.
Usage: transform-feats [options] (transform-rspecifier|transform-rxfilename) feats-rspecifier feats-wspecifier
copy-feats.cc Copy features [and possibly change format]
Usage: copy-feats [options] in-rspecifier out-wspecifier
compose-transforms.cc Compose (affine or linear) feature transforms
Usage: compose-transforms [options] (transform-A-rspecifier|transform-A-rxfilename) (transform-B-rspecifier|transform-B-rxfilename) (transform-out-wspecifier|transform-out-wxfilename)
Note: it does matrix multiplication (A B) so B is the transform that gets applied
to the features first. If b-is-affine = true, then assume last column of b corresponds to offset
e.g.: compose-transforms 1.mat 2.mat 3.mat
compose-transforms 1.mat ark:2.trans ark:3.trans
compose-transforms ark:1.trans ark:2.trans ark:3.trans
splice-feats.cc Splice features with left and right context (e.g. prior to LDA)
Usage: splice-feats [options] in-rspecifier out-wspecifier
extract-segments.cc Create MFCC feature files.
Usage: extract-segments [options...] <wav-rspecifier> <segments-file> <wav-wspecifier>
(segments-file has lines like: spkabc_seg1 spkabc_recording1 1.10 2.36 1
or: spkabc_seg1 spkabc_recording1 1.10 2.36
[if channel not provided as last element, expects mono.]
subset-feats.cc Copy a subset of features
Usage: subset-feats [options] in-rspecifier out-wspecifier
feat-to-len.cc Reads an archive of features and writes a corresponding archive
that maps utterance-id to utterance length in frames.
Usage: feat-to-len [options] in-rspecifier out-wspecifier
e.g.: feat-to-len scp:feats.scp ark,t:feats.lengths
feat-to-dim.cc Reads an archive of features. If second argument is wxfilename, writes
the feature dimension of the first feature file; if second argument is
wspecifier, writes an archive of the feature dimension, indexed by utterance
id.
Usage: feat-to-dim [options] feat-rspecifier (dim-wspecifier|dim-wxfilename)
e.g.: feat-to-dim scp:feats.scp -
fmpe-apply-transform.cc Apply fMPE transform to features
Usage: fmpe-apply-transform [options...] <fmpe-object> <feat-rspecifier> <gselect-rspecifier> <feat-wspecifier>
fmpe-acc-stats.cc Compute statistics for fMPE training
Usage: fmpe-acc-stats [options...] <fmpe-object> <feat-rspecifier> <feat-diff-rspecifier> <gselect-rspecifier> <stats-out>
Note: gmm-fmpe-acc-stats avoids computing the features an extra time
fmpe-init.cc Initialize fMPE transform (to zero)
Usage: fmpe-init [options...] <diag-gmm-in> <fmpe-out>
E.g. fmpe-init 1.ubm 1.fmpe
fmpe-est.cc Initialize fMPE transform (to zeo)
Usage: fmpe-est [options...] <fmpe-in> <stats-in> <fmpe-out>
E.g. fmpe-est 1.fmpe 1.accs 2.fmpe
fmpe-copy.cc Copy fMPE transform
Usage: fmpe-init [options...] <fmpe-in> <fmpe-out>
E.g. fmpe-copy --binary=false 1.fmpe text.fmpe
fgmm-global-acc-stats.cc Accumulate stats for training a full-covariance GMM.
Usage: fgmm-global-acc-stats [options] <model-in> <feature-rspecifier> <stats-out>
e.g.: fgmm-global-acc-stats 1.mdl scp:train.scp 1.acc
fgmm-global-sum-accs.cc Sum multiple accumulated stats files for full-covariance GMM training.
Usage: fgmm-global-sum-accs [options] stats-out stats-in1 stats-in2 ...
fgmm-global-est.cc Estimate a full-covariance GMM from the accumulated stats.
Usage: fgmm-global-est [options] <model-in> <stats-in> <model-out>
fgmm-global-merge.cc Combine a number of GMMs into a larger GMM, with #Gauss =
sum(individual #Gauss)). Output full GMM, and a text file with
sizes of each individual GMM.
Usage: fgmm-global-merge [options] fgmm-out sizes-file-out fgmm-in1 fgmm-in2 ...
fgmm-global-to-gmm.cc Convert single full-covariance GMM to single diagonal-covariance GMM.
Usage: fgmm-global-to-gmm [options] 1.fgmm 1.gmm
fgmm-gselect.cc Precompute Gaussian indices for pruning
(e.g. in training UBMs, SGMMs, tied-mixture systems)
For each frame, gives a list of the n best Gaussian indices,
sorted from best to worst.
Usage:
fgmm-gselect [options] <model-in> <feature-rspecifier> <gselect-wspecifier>
The --gselect option (which takes an rspecifier) limits selection to a subset
of indices:
e.g.: fgmm-gselect "--gselect=ark:gunzip -c bigger.gselect.gz|" --n=20 1.gmm "ark:feature-command |" "ark,t:|gzip -c >1.gselect.gz"
fgmm-global-get-frame-likes.cc Print out per-frame log-likelihoods for each utterance, as an archive
of vectors of floats.
Usage: fgmm-global-get-frame-likes [options] <model-in> <feature-rspecifier> <likes-out-wspecifier>
e.g.: fgmm-global-get-frame-likes 1.mdl scp:train.scp ark:1.likes
fgmm-global-acc-stats-twofeats.cc Accumulate stats for training a full-covariance GMM, two-feature version
Usage: fgmm-global-acc-stats-twofeats [options] <model-in> <feature1-rspecifier> <feature2-rspecifier> <stats-out>
e.g.: fgmm-global-acc-stats-twofeats 1.mdl scp:train.scp scp:train2.scp 1.acc
fgmm-global-copy.cc Copy a full-covariance GMM
Usage: fgmm-global-copy [options] <model-in> <model-out>
e.g.: fgmm-global-copy --binary=false 1.model - | less
fstpredeterminize.cc Predeterminizes input FST by adding input symbols as necessary for
fstdeterminizestar to succeed.

Usage: fstpredeterminize disambig_out.list [in.fst [out.fst] ]
fstdeterminizestar.cc Removes epsilons and determinizes in one step

Usage: fstdeterminizestar [in.fst [out.fst] ]
fstrmsymbols.cc Replaces a subset of symbols with epsilon, wherever they appear on the input side
of an FST.

Usage: fstrmsymbols in-disambig-list [in.fst [out.fst] ]
E.g: fstrmsymbols in.list < in.fst > out.fst
fstisstochastic.cc Checks whether an FST is stochastic and exits with success if so.
Prints out maximum error (in log units).

Usage: fstisstochastic [ in.fst ]
fstminimizeencoded.cc Minimizes FST after encoding [similar to fstminimize, but no weight-pushing]

Usage: fstminimizeencoded [in.fst [out.fst] ]
fstoptimize.cc Optimizes FST using predeterminization, determinization, optional weight and symbol-pushing, and encoded minimization
Usage: fstoptimize [in.fst [out.fst] ]
fstmakecontextfst.cc Constructs a context FST with a specified context-width and context-position. Outputs
the context FST, and a file in Kaldi format that describes what the input labels mean.

Usage: fstmakecontextfst phones_symtab subseq_sym ilabels_output_file [out.fst]
E.g.: fstmakecontextfst phones.txt 42 ilabels.sym > C.fst
fstmakecontextsyms.cc Create input symbols for CLG
Usage: fstmakecontextsyms phones-symtab ilabels_input_file [output-symtab.txt]
E.g.: fstmakecontextsyms phones.txt ilabels.sym > context_symbols.txt
fstaddsubsequentialloop.cc Minimizes FST after encoding [this algorithm applicable to all FSTs in tropical semiring]

Usage: fstaddsubsequentialloop subseq_sym [in.fst [out.fst] ]
E.g.: fstaddsubsequentialloop 52 < LG.fst > LG_sub.fst
fstaddselfloops.cc Adds self-loops to states of an FST to propagate disambiguation symbols through it
They are added on each final state and each state with non-epsilon output symbols
on at least one arc out of the state. Useful in conjunction with predeterminize

Usage: fstaddselfloops in-disambig-list out-disambig-list [in.fst [out.fst] ]
E.g: fstaddselfloops in.list out.list < in.fst > withloops.fst
fstrmepslocal.cc Removes some (but not all) epsilons in an algorithm that will always reduce the number of
arcs+states. Option to preserves equivalence in tropical or log semiring, and
if in tropical, stochasticit in either log or tropical.

Usage: fstrmepslocal [in.fst [out.fst] ]
fstcomposecontext.cc Composes on the left with a dynamically created context FST

Usage: fstcomposecontext ilabels-output-file [in.fst [out.fst] ]
E.g: fstcomposecontext ilabels.sym < LG.fst > CLG.fst
fsttablecompose.cc Composition algorithm [between two FSTs of standard type, in tropical
semiring] that is more efficient for certain cases-- in particular,
where one of the FSTs (the left one, if --match-side=left) has large
out-degree

Usage: fsttablecompose (fst1-rxfilename|fst1-rspecifier) (fst2-rxfilename|fst2-rspecifier) [(out-rxfilename|out-rspecifier)]
fstrand.cc Generate random FST

Usage: fstrand [out.fst]
fstfactor.cc Factor fst into two parts (by removing linear chains)

Usage: fstfactor in.fst out1.fst out2.fst
fstdeterminizelog.cc Determinizes in the log semiring

Usage: fstdeterminizelog [in.fst [out.fst] ]
fstreorder.cc Reorder FST states for greater search efficiency [sort arcs by weight then dfs order states]

Usage: fstreorder [in.fst [out.fst] ]
fstremoveuselessarcs.cc Remove useless arcs from an FST (those which will never be on a best path for any input sequence; also removes ties).
Usage: fstremoveuselessarcs [in.fst [out.fst] ]
fstphicompose.cc Composition, where the right FST has "failure" (phi) transitions
that are only taken where there was no match of a "real" label
You supply the label corresponding to phi.

Usage: fstphicompose phi-label (fst1-rxfilename|fst1-rspecifier) (fst2-rxfilename|fst2-rspecifier) [(out-rxfilename|out-rspecifier)]
E.g.: fstphicompose 54 a.fst b.fst c.fst
or: fstphicompose 11 ark:a.fsts G.fst ark:b.fsts
fstpropfinal.cc Propagates final-states through phi transitions

Usage: fstpropfinal phi-label [in.fst [out.fst] ]
fstcopy.cc Copy tables/archives of FSTs, index by utterance-id

Usage: fstcopy <fst-rspecifier> <fst-wspecifier>
gmm-init-mono.cc Initialize monophone GMM.
Usage: gmm-init-mono <topology-in> <dim> <model-out> <tree-out>
e.g.:
gmm-init-mono topo 39 mono.mdl mono.tree
gmm-est.cc Accumulate stats for GMM training.
Usage: gmm-est [options] <model-in> <stats-in> <model-out>
e.g.: gmm-est 1.mdl 1.acc 2.mdl
gmm-acc-stats-ali.cc Accumulate stats for GMM training.
Usage: gmm-acc-stats-ali [options] <model-in> <feature-rspecifier> <alignments-rspecifier> <stats-out>
e.g.:
gmm-acc-stats-ali 1.mdl scp:train.scp ark:1.ali 1.acc
gmm-align.cc Align features given [GMM-based] models.
Usage: gmm-align [options] tree-in model-in lexicon-fst-in feature-rspecifier transcriptions-rspecifier alignments-wspecifier
e.g.:
gmm-align tree 1.mdl lex.fst scp:train.scp ark:train.tra ark:1.ali
gmm-decode-faster.cc Decode features using GMM-based model.
Usage: gmm-decode-faster [options] model-in fst-in features-rspecifier words-wspecifier [alignments-wspecifier [lattice-wspecifier]]
Note: lattices, if output, will just be linear sequences; use gmm-latgen-faster
if you want "real" lattices.
gmm-decode-simple.cc Decode features using GMM-based model.
Usage: gmm-decode-simple [options] model-in fst-in features-rspecifier words-wspecifier [alignments-wspecifier]
gmm-decode-nbest.cc Decode features using GMM-based model.
Usage: gmm-decode-faster [options] model-in fst-in features-rspecifier nbestlattice-wspecifier words-wspecifier [alignments-wspecifier]
gmm-align-compiled.cc Align features given [GMM-based] models.
Usage: gmm-align-compiled [options] model-in graphs-rspecifier feature-rspecifier alignments-wspecifier
e.g.:
gmm-align-compiled 1.mdl ark:graphs.fsts scp:train.scp ark:1.ali
or:
compile-train-graphs tree 1.mdl lex.fst ark:train.tra b, ark:- | \
gmm-align-compiled 1.mdl ark:- scp:train.scp t, ark:1.ali
gmm-sum-accs.cc Sum multiple accumulated stats files for GMM training.
Usage: gmm-sum-accs [options] stats-out stats-in1 stats-in2 ...
gmm-init-trans.cc Initialize transition model given topo, tree and GMM (used for format conversion from HTK)
Usage: gmm-init-trans <topology-in> <gmm-in> <tree-in> <model-out>
gmm-est-regtree-fmllr.cc Compute FMLLR transforms per-utterance (default) or per-speaker for the supplied set of speakers (spk2utt option). Note: writes RegtreeFmllrDiagGmm objects
Usage: gmm-est-regtree-fmllr [options] <model-in> <feature-rspecifier> <posteriors-rspecifier> <regression-tree> <transforms-wspecifier>
gmm-acc-stats-twofeats.cc Accumulate stats for GMM training, computing posteriors with one set of features
but accumulating statistics with another.
Usage: gmm-acc-stats-twofeats [options] <model-in> <feature1-rspecifier> <feature2-rspecifier> <posteriors-rspecifier> <stats-out>
e.g.:
gmm-acc-stats-twofeats 1.mdl 1.ali scp:train.scp scp:train_new.scp ark:1.ali 1.acc
gmm-acc-stats.cc Accumulate stats for GMM training (reading in posteriors).
Usage: gmm-acc-stats [options] <model-in> <feature-rspecifier><posteriors-rspecifier> <stats-out>
e.g.:
gmm-acc-stats 1.mdl scp:train.scp ark:1.post 1.acc
gmm-init-lvtln.cc Initialize lvtln transforms
Usage: gmm-init-lvtln [options] <lvtln-out>
e.g.:
gmm-init-lvtln --dim=13 --num-classes=21 --default-class=10 1.lvtln
gmm-est-lvtln-trans.cc Estimate linear-VTLN transforms, either per utterance or for the supplied set of speakers (spk2utt option). Reads posteriors.
Usage: gmm-est-lvtln-trans [options] <model-in> <lvtln-in> <feature-rspecifier> <gpost-rspecifier> <lvtln-trans-wspecifier> [<lvtln-class-wspecifier>]
gmm-train-lvtln-special.cc Set one of the transforms in lvtln to the minimum-squared-error solution to mapping feats-untransformed to feats-transformed; alignments may optionally be used to downweight/remove silence.
Usage: gmm-train-lvtln-special [options] class-index <lvtln-in> <lvtln-out> <feats-untransformed-rspecifier> <feats-transformed-rspecifier> [<posteriors-rspecifier>]
e.g.:
gmm-train-lvtln-special 5 5.lvtln 6.lvtln scp:train.scp scp:train_warp095.scp ark:nosil.post
gmm-acc-mllt.cc Accumulate MLLT (global STC) statistics
Usage: gmm-acc-mllt [options] <model-in> <feature-rspecifier> <posteriors-rspecifier> <stats-out>
e.g.:
gmm-acc-mllt 1.mdl scp:train.scp ark:1.post 1.macc
gmm-mixup.cc Does GMM mixing up (and Gaussian merging)
Usage: gmm-mixup [options] <model-in> <state-occs-in> <model-out>
e.g. of mixing up:
gmm-mixup --mix-up=4000 1.mdl 1.occs 2.mdl
e.g. of merging:
gmm-mixup --merge=2000 1.mdl 1.occs 2.mdl
gmm-init-model.cc Initialize GMM from decision tree and tree stats
Usage: gmm-init-model [options] <tree-in> <tree-stats-in> <topo-file> <model-out> [<old-tree> <old-model>]
e.g.:
gmm-init-model tree treeacc topo 1.mdl
or (initializing GMMs with old model):
gmm-init-model tree treeacc topo 1.mdl prev/tree prev/30.mdl
gmm-acc-hlda.cc Accumulate HLDA statistics
Usage: gmm-acc-hlda [options] <model-in> <orig-transform-in> <orig-feature-rspecifier> <posteriors-rspecifier> <stats-out>
Note: orig-transform-in must be the current truncated HLDA transform (e.g. from LDA).e.g.:
gmm-acc-hlda 1.mdl 1.hlda "ark:splice-feats scp:train.scp |" ark:1.post 1.hacc
gmm-est-hlda.cc Do HLDA update
Usage: gmm-est-hlda [options] <model-in> <full-hlda-mat-in> <model-out> <full-hlda-mat-out> <partial-hlda-mat-out> <stats-in1> <stats-in2> ...
e.g.: gmm-est-hlda 1.mdl 1.hldafull 2.mdl 2.hldafull 2.hlda 1.0.hacc 1.1.hacc ...
gmm-transform-means.cc Transform GMM means with linear or affine transform
Usage: gmm-transform-means <transform-matrix> <model-in> <model-out>
e.g.: gmm-transform-means 2.mat 2.mdl 3.mdl
gmm-init-et.cc Initialize exponential tranform
Usage: gmm-init-et [options] <et-object-out>
e.g.:
gmm-init-et --dim=39 1.et
gmm-est-et.cc Compute exponential transforms (which are a special case of fMLLR transforms)
per-utterance (default) or per-speaker for
the supplied set of speakers (spk2utt option).
Usage: gmm-est-et [options] <model> <exponential-transform> <feature-rspecifier> <gpost-rspecifier> <transforms-wspecifier> [<warp-factors-wspecifier>]
gmm-et-acc-a.cc Accumulate statistics for estimating the A matrix of exponential transform,
per-utterance (default) or per-speaker for
the supplied set of speakers (spk2utt option).
Usage: gmm-et-acc-a [options] <model> <exponential-transform> <feature-rspecifier> <gpost-rspecifier> <accs-filename>
gmm-et-est-a.cc Update matrix A of exponential transform (uses stats from gmm-et-acc-a)
Usage: gmm-et-est-a [options] <et-in> <et-out> <a-stats1> <a-stats2> ...
e.g.:
gmm-et-est-a 1.et 2.et 1.et_acc_a
gmm-copy-et.cc Copy exponential transform object (possibly changing normalization type)
Usage: gmm-copy-et [options] <et-object-in> <et-object-out>
e.g.:
gmm-copy-et --normalize-type=mean-and-var 1.et 2.et
gmm-et-get-b.cc Write out the B matrix from the exponential transform (excluding last row), to a single file
This can be treated as the "default" value of the exponential transform.
Optionally, writes out the ET object with the B transform set to unity
Usage: gmm-et-get-b [options] <et-object-in> <matrix-out> [<et-object-out>]
e.g.:
gmm-et-get-b 12.et B.mat final.et
gmm-et-get-a.cc Write out the A matrix from the exponential transform
to a single file
Usage: gmm-et-get-a [options] <et-object-in> <matrix-out>
e.g.:
gmm-et-get-a --binary=false 12.et A.mat
gmm-make-regtree.cc Build regression class tree.
Usage: gmm-make-regtree [options] <model-file> <regtree-out>
E.g.: gmm-make-regtree --silphones=1:2:3 --state-occs=1.occs 1.mdl 1.regtree
[Note: state-occs come from --write-occs option of gmm-est]
gmm-decode-faster-regtree-fmllr.cc Decode features using GMM-based model.
Usage: gmm-decode-faster-regtree-fmllr [options] model-in fst-in regtree-in features-rspecifier transforms-rspecifier words-wspecifier [alignments-wspecifier]
gmm-post-to-gpost.cc Convert state-level posteriors to Gaussian-level posteriors
Usage: gmm-post-to-gpost [options] <model-in> <feature-rspecifier> <posteriors-rspecifier> <gpost-wspecifier>
e.g.:
gmm-post-to-gpost 1.mdl scp:train.scp ark:1.post ark:1.gpost
gmm-est-fmllr-gpost.cc Estimate global fMLLR transforms, either per utterance or for the supplied
set of speakers (spk2utt option). Reads Gaussian-level posteriors. Writes
to a table of matrices.
Usage: gmm-est-fmllr-gpost [options] <model-in> <feature-rspecifier> <gpost-rspecifier> <transform-wspecifier>
gmm-est-fmllr.cc Estimate global fMLLR transforms, either per utterance or for the supplied
set of speakers (spk2utt option). Reads Gaussian-level posteriors. Writes
to a table of matrices.
Usage: gmm-est-fmllr [options] <model-in> <feature-rspecifier> <post-rspecifier> <transform-wspecifier>
gmm-est-regtree-fmllr-ali.cc Compute FMLLR transforms per-utterance (default) or per-speaker for the supplied set of speakers (spk2utt option). Note: writes RegtreeFmllrDiagGmm objects
Usage: gmm-est-regtree-fmllr-ali [options] <model-in> <feature-rspecifier> <alignments-rspecifier> <regression-tree> <transforms-wspecifier>
gmm-est-regtree-mllr.cc Compute MLLR transforms per-utterance (default) or per-speaker for the supplied set of speakers (spk2utt option). Note: writes RegtreeMllrDiagGmm objects
Usage: gmm-est-regtree-mllr [options] <model-in> <feature-rspecifier> <posteriors-rspecifier> <regression-tree> <transforms-wspecifier>
gmm-decode-kaldi.cc Decode features using GMM-based model.
Usage: gmm-decode-kaldi [options] model-in fst-in features-rspecifier words-wspecifier [lattice-wspecifier]
gmm-compute-likes.cc Compute log-likelihoods from GMM-based model
(outputs matrices of log-likelihoods indexed by (frame, pdf)
Usage: gmm-compute-likes [options] model-in features-rspecifier likes-wspecifier
gmm-decode-faster-regtree-mllr.cc Decode features using GMM-based model.
Usage: gmm-decode-faster-regtree-mllr [options] model-in fst-in regtree-in features-rspecifier transforms-rspecifier words-wspecifier [alignments-wspecifier]
gmm-et-apply-c.cc Given the matrix Cpart which represents an MLLT/STC transform, let C = Cpart extended with zeros (and one as the new diagonal element); update the A and B matrices with A := C A C^{-1} and B := C B
Usage: gmm-et-apply-c [options] <et-object-in> <c-matrix-in> <et-object-out>
e.g.:
gmm-et-apply-c 1.et C.mat 2.et
gmm-latgen-simple.cc Generate lattices using GMM-based model.
Usage: gmm-latgen-simple [options] model-in fst-in features-rspecifier lattice-wspecifier [ words-wspecifier [alignments-wspecifier] ]
gmm-rescore-lattice.cc Replace the acoustic scores on a lattice using a new model.
Usage: gmm-rescore-lattice [options] <model-in> <lattice-rspecifier> <feature-rspecifier> <lattice-wspecifier>
e.g.: gmm-rescore-lattice 1.mdl ark:1.lats scp:trn.scp ark:2.lats
gmm-decode-biglm-faster.cc Decode features using GMM-based model.
User supplies LM used to generate decoding graph, and desired LM;
this decoder applies the difference during decoding
Usage: gmm-decode-biglm-faster [options] model-in fst-in oldlm-fst-in newlm-fst-in features-rspecifier words-wspecifier [alignments-wspecifier [lattice-wspecifier]]
gmm-est-gaussians-ebw.cc Do EBW update for MMI, MPE or MCE discriminative training.
Numerator stats should already be I-smoothed (e.g. use gmm-ismooth-stats)
Usage: gmm-est-gaussians-ebw [options] <model-in> <stats-num-in> <stats-den-in> <model-out>
e.g.: gmm-est-gaussians-ebw 1.mdl num.acc den.acc 2.mdl
gmm-est-weights-ebw.cc Do EBW update on weights for MMI, MPE or MCE discriminative training.
Numerator stats should not be I-smoothed
Usage: gmm-est-weights-ebw [options] <model-in> <stats-num-in> <stats-den-in> <model-out>
e.g.: gmm-est-weights-ebw 1.mdl num.acc den.acc 2.mdl
gmm-latgen-faster.cc Generate lattices using GMM-based model.
Usage: gmm-latgen-faster [options] model-in (fst-in|fsts-rspecifier) features-rspecifier lattice-wspecifier [ words-wspecifier [alignments-wspecifier] ]
gmm-copy.cc Copy GMM based model (and possibly change binary/text format)
Usage: gmm-copy [options] <model-in> <model-out>
e.g.:
gmm-copy --binary=false 1.mdl 1_txt.mdl
gmm-global-acc-stats.cc Accumulate stats for training a diagonal-covariance GMM.
Usage: gmm-global-acc-stats [options] <model-in> <feature-rspecifier> <stats-out>
e.g.: gmm-global-acc-stats 1.mdl scp:train.scp 1.acc
gmm-global-est.cc Estimate a diagonal-covariance GMM from the accumulated stats.
Usage: gmm-global-est [options] <model-in> <stats-in> <model-out>
gmm-global-sum-accs.cc Sum multiple accumulated stats files for diagonal-covariance GMM training.
Usage: gmm-global-sum-accs [options] stats-out stats-in1 stats-in2 ...
gmm-gselect.cc Precompute Gaussian indices for pruning
(e.g. in training UBMs, SGMMs, tied-mixture systems)
For each frame, gives a list of the n best Gaussian indices,
sorted from best to worst.
Usage:
gmm-gselect [options] <model-in> <feature-rspecifier> <gselect-wspecifier>
The --gselect option (which takes an rspecifier) limits selection to a subset
of indices:
e.g.: gmm-gselect "--gselect=ark:gunzip -c bigger.gselect.gz|" --n=20 1.gmm "ark:feature-command |" "ark,t:|gzip -c >1.gselect.gz"
gmm-latgen-biglm-faster.cc Generate lattices using GMM-based model.
User supplies LM used to generate decoding graph, and desired LM;
this decoder applies the difference during decoding
Usage: gmm-latgen-biglm-faster [options] model-in (fst-in|fsts-rspecifier) oldlm-fst-in newlm-fst-in features-rspecifier lattice-wspecifier [ words-wspecifier [alignments-wspecifier] ]
gmm-ismooth-stats.cc Apply I-smoothing to statistics, e.g. for discriminative training
Usage: gmm-ismooth-stats [options] [--smooth-from-model] [<src-stats-in>|<src-model-in>] <dst-stats-in> <stats-out>
e.g.: gmm-ismooth-stats --tau=100 ml.acc num.acc smoothed.acc
or: gmm-ismooth-stats --tau=50 --smooth-from-model 1.mdl num.acc smoothed.acc
or: gmm-ismooth-stats --tau=100 num.acc num.acc smoothed.acc
gmm-global-get-frame-likes.cc Print out per-frame log-likelihoods for each utterance, as an archive
of vectors of floats.
Usage: gmm-global-get-frame-likes [options] <model-in> <feature-rspecifier> <likes-out-wspecifier>
e.g.: gmm-global-get-frame-likes 1.mdl scp:train.scp ark:1.likes
gmm-global-est-fmllr.cc Estimate global fMLLR transforms, either per utterance or for the supplied
set of speakers (spk2utt option). Reads features, and (with --weights option)
weights for each frame (also see --gselect option)
Usage: gmm-global-est-fmllr [options] <gmm-in> <feature-rspecifier> <transform-wspecifier>
gmm-global-to-fgmm.cc Convert single diagonal-covariance GMM to single full-covariance GMM.
Usage: gmm-global-to-fgmm [options] 1.gmm 1.fgmm
gmm-global-acc-stats-twofeats.cc Accumulate stats for training a diagonal-covariance GMM, two-feature version
Usage: gmm-global-acc-stats-twofeats [options] <model-in> <feature1-rspecifier> <feature2-rspecifier> <stats-out>
e.g.: gmm-global-acc-stats-twofeats 1.mdl scp:train.scp scp:train2.scp 1.acc
gmm-global-copy.cc Copy a diagonal-covariance GMM
Usage: gmm-global-copy [options] <model-in> <model-out>
e.g.: gmm-global-copy --binary=false 1.model - | less
gmm-align-compiled-plusphones.cc Align features given [GMM-based] models, but adds in likelihoods of simple per-phone GMMs
with alpha*per-phone-like + (1-alpha)*model-like. This gives more consistent alignments.
Per-phone models are obtained by K-means on weighted model states, using the transition-accs
to get weights. (e.g. use the first line of text format of normal accs).
Note: this program actually isn't that useful. We keep it mainly as an example
of how to write a decoder with interpolated likelihoods.
Usage: gmm-align-compiled-plusphones [options] transition-accs-in model-in graphs-rspecifier feature-rspecifier alignments-wspecifier
e.g.:
gmm-align-compiled-plusphones --alpha=0.2 --acoustic-scale=0.1 \
1.acc 1.mdl ark:graphs.fsts scp:train.scp ark:1.ali
or:
compile-train-graphs tree 1.mdl lex.fst ark:train.tra b, ark:- | \
gmm-align-compiled-plusphones 1.acc 1.mdl ark:- scp:train.scp t, ark:1.ali
gmm-get-feat-deriv.cc From GMM model and posteriors (which don't have to be positive),
output for each utterance a matrix of likelihood derivatives w.r.t.
the features.
E.g. used in feature-space discriminative training.

Usage: gmm-get-feat-deriv [options] <model-in> <feature-rspecifier> <posteriors-rspecifier> <feature-deriv-wspecifier>
e.g.:
gmm-get-feat-deriv 1.mdl "$feats" ark:1.post ark:1.deriv
gmm-fmpe-acc-stats.cc Accumulate stats for fMPE training, using GMM model. Note: this could
be done using gmm-get-feat-deriv and fmpe-acc-stats (but you'd be computing
the features twice). Features input should be pre-fMPE features.

Usage: gmm-fmpe-acc-stats [options] <model-in> <fmpe-in> <feature-rspecifier> <gselect-rspecifier> <posteriors-rspecifier> <fmpe-stats-out>
e.g.:
gmm-fmpe-acc-stats 1.mdl 1.fmpe "$feats" ark:1.gselect ark:1.post 1.fmpe_stats
gmm-acc-stats2.cc Accumulate stats for GMM training (from posteriors)
This version writes two accumulators (e.g. num and den),
and puts the positive accumulators in num, negative in den
Usage: gmm-acc-stats2 [options] <model> <feature-rspecifier><posteriors-rspecifier> <num-stats-out> <den-stats-out>
e.g.:
gmm-acc-stats 1.mdl "$feats" ark:1.post 1.num_acc 1.den_acc
gmm-init-model-flat.cc Initialize GMM, with Gaussians initialized to mean and variance
of some provided example data
Usage: gmm-init-model-flat [options] <tree-in> <topo-file> <model-out> <features-rspecifier>
e.g.:
gmm-init-model-flat tree topo 1.mdl ark:feats.scp
gmm-info.cc Write to standard output various properties of GMM-based model
Usage: gmm-info [options] <model-in>
e.g.:
gmm-info 1.mdl
lattice-best-path.cc Generate 1-best path through lattices; output as transcriptions and alignments
Note: if you want output as FSTs, use lattice-1best; if you want output
with acoustic and LM scores, use lattice-1best | nbest-to-linear
Usage: lattice-best-path [options] lattice-rspecifier [ transcriptions-wspecifier [ alignments-wspecifier] ]
e.g.: lattice-best-path --acoustic-scale=0.1 ark:1.lats ark:1.tra ark:1.ali
lattice-prune.cc Apply beam pruning to lattices
Usage: lattice-prune [options] lattice-rspecifier lattice-wspecifier
e.g.: lattice-prune --acoustic-scale=0.1 --beam=4.0 ark:1.lats ark:pruned.lats
lattice-equivalent.cc Test whether sets of lattices are equivalent (return with status 0 if
all were equivalent, 1 otherwise, -1 on error)
Usage: lattice-equivalent [options] lattice-rspecifier1 lattice-rspecifier2
e.g.: lattice-equivalent ark:1.lats ark:2.lats
lattice-to-nbest.cc Work out N-best paths in lattices and write out as FSTs
Usage: lattice-to-nbest [options] lattice-rspecifier lattice-wspecifier
e.g.: lattice-to-nbest --acoustic-scale=0.1 --n=10 ark:1.lats ark:nbest.lats
lattice-lmrescore.cc Add lm_scale * [cost of best path through LM FST] to graph-cost of
paths through lattice. Does this by composing with LM FST, then
lattice-determinizing (it has to negate weights first if lm_scale<0)
Usage: lattice-lmrescore [options] lattice-rspecifier lm-fst-in lattice-wspecifier
e.g.: lattice-lmrescore --lm-scale=-1.0 ark:in.lats data/G.fst ark:out.lats
lattice-scale.cc Apply scaling to lattice weights
Usage: lattice-scale [options] lattice-rspecifier lattice-wspecifier
e.g.: lattice-scale --lm-scale=0.0 ark:1.lats ark:scaled.lats
lattice-union.cc Takes two archives of lattices (indexed by utterances) and computes the union of the individual lattice pairs (one from each archive).
Usage: lattice-union [options] lattice-rspecifier1 lattice-rspecifier2 lattice-wspecifier
e.g.: lattice-union ark:den.lats ark:num.lats ark:union.lats
lattice-to-post.cc Do forward-backward and collect posteriors over lattices.
Usage: lattice-to-post [options] lats-rspecifier posts-wspecifier [loglikes-wspecifier]
e.g.: lattice-to-post --acoustic-scale=0.1 ark:1.lats ark:1.post
lattice-determinize.cc lattice-determinize lattices (and apply a pruning beam)
(see http://kaldi.sourceforge.net/lattices.html for more explanation)
note: this program is tyically only useful if you generated state-level
lattices, e.g. called gmm-latgen-simple with --determinize=false

Usage: lattice-determinize [options] lattice-rspecifier lattice-wspecifier
e.g.: lattice-determinize --acoustic-scale=0.1 --beam=15.0 ark:1.lats ark:det.lats
lattice-oracle.cc Finds the path having the smallest edit-distance between two lattices.
For efficiency put the smallest lattices first (for example reference strings).
Usage: lattice-oracle [options] test-lattice-rspecifier reference-rspecifier transcriptions-wspecifier
e.g.: lattice-oracle ark:ref.lats ark:1.tra ark:2.tra
lattice-rmali.cc Remove state-sequences from lattice weights
Usage: lattice-rmali [options] lattice-rspecifier lattice-wspecifier
e.g.: lattice-rmali ark:1.lats ark:proj.lats
lattice-compose.cc Composes lattices (in transducer form, as type Lattice). Depending
on the command-line arguments, either composes lattices with lattices,
or lattices with FSTs (rspecifiers are assumed to be lattices, and
rxfilenames are assumed to be FSTs, which have their weights interpreted
as "graph weights" when converted into the Lattice format.

Usage: lattice-compose [options] lattice-rspecifier1 (lattice-rspecifier2|fst-rxfilename2) lattice-wspecifier
e.g.: lattice-compose ark:1.lats ark:2.lats ark:composed.lats
or: lattice-compose ark:1.lats G.fst ark:composed.lats
lattice-boost-ali.cc Boost graph likelihoods (decrease graph costs) by b * #frame-phone-errors
on each arc in the lattice. Useful for discriminative training, e.g.
boosted MMI. Modifies input lattices. This version takes the reference
in the form of alignments. Needs the model (just the transitions) to
transform pdf-ids to phones. Takes the --silence-phones option and these
phones appearing in the lattice are always assigned zero error, or with the
--max-silence-error option, at most this error-count per frame
(--max-silence-error=1 is equivalent to not specifying --silence-phones).

Usage: lattice-boost-ali [options] model lats-rspecifier ali-rspecifier lats-wspecifier
e.g.: lattice-boost-ali --silence-phones=1:2:3 --b=0.05 1.mdl ark:1.lats ark:1.ali ark:boosted.lats
lattice-copy.cc Copy lattices (e.g. useful for changing to text mode or changing
format to standard from compact lattice.)
Usage: lattice-copy [options] lattice-rspecifier lattice-wspecifier
e.g.: lattice-copy --write-compact=false ark:1.lats ark,t:text.lats
lattice-to-fst.cc Turn lattices into normal FSTs, retaining only the word labels
By default, removes all weights and also epsilons (configure with
with --acoustic-scale, --lm-scale and --rm-eps)
Usage: lattice-to-fst [options] lattice-rspecifier fsts-wspecifier
e.g.: lattice-to-fst ark:1.lats ark:1.fsts
lattice-to-phone-lattice.cc Convert the words (or whatever other output labels are on the lattice)
into phones, worked out from the alignment (needs the transition model
to work out the phone sequence from the transition-ids)
Usage: lattice-to-phone-lattice [options] model lattice-rspecifier lattice-wspecifier
e.g.: lattice-to-phone-lattice 1.mdl ark:1.lats ark:phones.lats
lattice-interp.cc Takes two archives of lattices (indexed by utterances) and combines
the individual lattice pairs (one from each archive). Keeps the alignments
from the first lattice. Equivalent to
projecting the second archive on words (lattice-project), then composing
the pairs of lattices (lattice-compose), then scaling graph and acoustic
costs by 0.5 (lattice-scale). You can control the individual scales with
--alpha, which is the scale of the first lattices (the second is 1-alpha).
Usage: lattice-interp [options] lattice-rspecifier-a lattice-rspecifier-b lattice-wspecifier
e.g.: lattice-compose ark:1.lats ark:2.lats ark:composed.lats
lattice-project.cc Project lattices (in their transducer form); by default makes them
word->word transducers (set --project-output=false for tid->tid).
Usage: lattice-project [options] lattice-rspecifier lattice-wspecifier
e.g.: lattice-project ark:1.lats ark:word2word.lats
or: lattice-project --project-output=false ark:1.lats ark:tid2tid.lats
lattice-add-trans-probs.cc Add transition probabilities into graph part of lattice scores,
controlled by options --transition-scale and --self-loop-scale, which
for compatibility with the original graph, would normally be set to the same
values used in graph compilatoin

Usage: lattice-add-trans-probs [options] model lattice-rspecifier lattice-wspecifier
e.g.: lattice-add-trans-probs --transition-scale=1.0 --self-loop-scale=0.1 1.mdl ark:in.lats ark:out.lats
lattice-difference.cc Compute FST difference on lattices (remove sequences in first lattice
that appear in second lattice)
Useful for the denominator lattice for MCE.
Usage: lattice-difference [options] lattice1-rspecifier lattice2-rspecifier lattice-wspecifier
e.g.: lattice-difference ark:den.lats ark:num.lats ark:den_mce.lats
lattice-word-align.cc (note: from the s5 scripts onward, this is deprecated, see lattice-align-words)
Create word-aligned lattices (in which the arcs correspond with
word boundaries)
Usage: lattice-word-align [options] <model> <lattice-rspecifier> <lattice-wspecifier>
e.g.: lattice-word-align --silence-phones=1:2 --wbegin-phones=2:6:10:14 \
--wend-phones=3:7:11:15 --winternal-phones=4:8:12:16 --wbegin-and-end-phones=5:9:13:17 \
--silence-label=2 --partial-word-label=16342 \
final.mdl ark:1.lats ark:aligned.lats
nbest-to-linear.cc Takes as input lattices/n-bests which must be linear (single path);
convert from lattice to up to 4 archives containing transcriptions, alignments,
and acoustic and LM costs (note: use ark:/dev/null for unwanted outputs)
Usage: nbest-to-linear [options] <nbest-rspecifier> <transcriptions-wspecifier> [<alignments-wspecifier> [<lm-cost-wspecifier> [<ac-cost-wspecifier>]]]
e.g.: lattice-to-nbest --n=10 ark:1.lats ark:- | \
nbest-to-linear ark:1.lats ark,t:1.ali ark,t:1.tra
nbest-to-lattice.cc Read in a Table containing N-best entries from a lattices (i.e. individual
lattices with a linear structure, one for each N-best entry, indexed by
utt_id_a-1, utt_id_a-2, etc., and take the union of them for each utterance
id (e.g. utt_id_a), outputting a lattice for each.
Usage: nbest-to-lattice <nbest-rspecifier> <lattices-wspecifier>
e.g.: nbest-to-lattice ark:1.nbest ark:1.lats
latbin/lattice-1best.cc "lattice-1best.cc" Compute best path through latties and write out as FSTs
Note: differs from lattice-nbest with --n=1 because we won't
append -1 to the utterance-ids. Differs from lattice-best-path
because output is FST.

Usage: lattice-1best [options] lattice-rspecifier lattice-wspecifier
e.g.: lattice-1best --acoustic-scale=0.1 ark:1.lats ark:1best.lats
linear-to-nbest.cc This does the opposite of nbest-to-linear. It takes 4 archives,
containing alignments, word-sequences, and acoustic and LM costs,
and turns it into a single archive containing FSTs with a linear
structure. The program is called linear-to-nbest because very often
the archives concerned will represent N-best lists
Usage: linear-to-nbest [options] <alignments-rspecifier> <transcriptions-rspecifier> <lm-cost-rspecifier> <ac-cost-rspecifier> <nbest-wspecifier>
e.g.: linear-to-nbest ark:1.ali ark:1.tra ark:1.lmscore ark:1.acscore ark:1.nbest
lattice-mbr-decode.cc Do Minimum Bayes Risk decoding (decoding that aims to minimize the
expected word error rate). Possible outputs include the 1-best path
(i.e. the word-sequence, as a sequence of ints per utterance), the
computed Bayes Risk for each utterance, and the sausage stats as
(for each utterance) std::vector<std::vector<std::pair<int32, float> > >
for which we use the same I/O routines as for posteriors (type Posterior).
times-wspecifier writes pairs of (start-time, end-time) in frames, for
each sausage position, or for each one-best entry if --one-best-times=true.
Note: use ark:/dev/null or the empty string for unwanted outputs.
Note: times will only be very meaningful if you first use lattice-word-align.

Usage: lattice-mbr-decode [options] lattice-rspecifier transcriptions-wspecifier [ bayes-risk-wspecifier [ sausage-stats-wspecifier [ times-wspecifier] ] ]
e.g.: lattice-mbr-decode --acoustic-scale=0.1 ark:1.lats ark:1.tra ark:/dev/null ark:1.sau
lattice-align-words.cc Convert lattices so that the arcs in the CompactLattice format correspond with
words (i.e. aligned with word boundaries).
Usage: lattice-align-words [options] <word-boundary-file> <model> <lattice-rspecifier> <lattice-wspecifier>
e.g.: lattice-align-words --silence-label=4320 --partial-word-label=4324 \
data/lang/phones/word_boundary.int final.mdl ark:1.lats ark:aligned.lats
Note: word-boundary file has format (on each line):
<integer-phone-id> [begin|end|singleton|internal|nonword]
init-ubm.cc Cluster the Gaussians in a diagonal-GMM acoustic model
to a single full-covariance or diagonal-covariance GMM.
Usage: init-ubm [options] <model-file> <state-occs> <gmm-out>
sgmm-align-compiled.cc Align features given [SGMM-based] models.
Usage: sgmm-align-compiled [options] model-in graphs-rspecifier feature-rspecifier alignments-wspecifier
e.g.: sgmm-align-compiled 1.mdl ark:graphs.fsts scp:train.scp ark:1.ali
sgmm-acc-stats-ali.cc Accumulate stats for SGMM training.
Usage: sgmm-acc-stats-ali [options] <model-in> <feature-rspecifier> <alignments-rspecifier> <stats-out>
e.g.: sgmm-acc-stats-ali 1.mdl 1.ali scp:train.scp ark:1.ali 1.acc
sgmm-sum-accs.cc Sum multiple accumulated stats files for SGMM training.
Usage: sgmm-sum-accs [options] stats-out stats-in1 stats-in2 ...
sgmm-est.cc Estimate SGMM model parameters from accumulated stats.
Usage: sgmm-est [options] <model-in> <stats-in> <model-out>
sgmm-decode-faster.cc Decode features using SGMM-based model.
Usage: sgmm-decode-faster [options] <model-in> <fst-in> <features-rspecifier> <words-wspecifier> [alignments-wspecifier]
sgmm-init.cc Initialize an SGMM from a trained full-covariance UBM and a specified model topology.
Usage: sgmm-init [options] <topology> <tree> <init-model> <sgmm-out>
The <init-model> argument can be a UBM (the default case) or another
SGMM (if the --init-from-sgmm flag is used).
sgmm-gselect.cc Precompute Gaussian indices for SGMM training Usage: sgmm-gselect [options] <model-in> <feature-rspecifier> <gselect-wspecifier>
e.g.: sgmm-gselect 1.sgmm "ark:feature-command |" ark:1.gs
Note: you can do the same thing by combining the programs sgmm-write-ubm, fgmm-global-to-gmm,
gmm-gselect and fgmm-gselect
sgmm-est-fmllr.cc Estimate FMLLR transform for SGMMs, either per utterance or for the supplied set of speakers (with spk2utt option).
Reads state-level posteriors. Writes to a table of matrices.
Usage: sgmm-est-fmllr [options] <model-in> <feature-rspecifier> <post-rspecifier> <mats-wspecifier>
sgmm-acc-stats.cc Accumulate stats for SGMM training.
Usage: sgmm-acc-stats [options] <model-in> <feature-rspecifier> <posteriors-rspecifier> <stats-out>
e.g.: sgmm-acc-stats 1.mdl 1.ali scp:train.scp 'ark:ali-to-post 1.ali ark:-|' 1.acc
sgmm-est-spkvecs.cc Estimate SGMM speaker vectors, either per utterance or for the supplied set of speakers (with spk2utt option).
Reads Gaussian-level posteriors. Writes to a table of vectors.
Usage: sgmm-est-spkvecs [options] <model-in> <feature-rspecifier> <post-rspecifier> <vecs-wspecifier>
sgmm-post-to-gpost.cc Convert posteriors to Gaussian-level posteriors for SGMM training.
Usage: sgmm-post-to-gpost [options] <model-in> <feature-rspecifier> <posteriors-rspecifier> <gpost-wspecifier>
e.g.: sgmm-post-to-gpost 1.mdl 1.ali scp:train.scp 'ark:ali-to-post ark:1.ali ark:-|' ark:-
sgmm-acc-stats-gpost.cc Accumulate stats for SGMM training, given Gaussian-level posteriors
Usage: sgmm-acc-stats-gpost [options] <model-in> <feature-rspecifier> <gpost-rspecifier> <stats-out>
e.g.: sgmm-acc-stats-gpost 1.mdl 1.ali scp:train.scp ark, s, cs:- 1.acc
sgmm-est-spkvecs-gpost.cc Estimate SGMM speaker vectors, either per utterance or for the supplied set of speakers (with spk2utt option).
Reads Gaussian-level posteriors. Writes to a table of vectors.
Usage: sgmm-est-spkvecs-gpost [options] <model-in> <feature-rspecifier> <gpost-rspecifier> <vecs-wspecifier>
sgmm-comp-prexform.cc Compute "pre-transform" parameters required for estimating fMLLR with
SGMMs, and write to a model file, after the SGMM.
Usage: sgmm-comp-prexform [options] <sgmm-in> <occs-in> <sgmm-out>
sgmm-est-fmllr-gpost.cc Estimate FMLLR transform for SGMMs, either per utterance or for the supplied set of speakers (with spk2utt option).
Reads Gaussian-level posteriors. Writes to a table of matrices.
Usage: sgmm-est-fmllr-gpost [options] <model-in> <feature-rspecifier> <gpost-rspecifier> <mats-wspecifier>
sgmm-acc-fmllrbasis-ali.cc Accumulate stats for FMLLR bases training.
Usage: sgmm-acc-fmllrbasis-ali [options] <model-in> <feature-rspecifier> <alignments-rspecifier> <spk2utt-rspecifier> <stats-out>
e.g.: sgmm-acc-fmllrbasis-ali 1.mdl scp:train.scp ark:1.ali 1.acc
sgmm-est-fmllrbasis.cc Sum multiple accumulated stats files for SGMM training.
Usage: sgmm-est-fmllrbasis [options] <model-in> <model-out> <stats-in1> [stats-in2 ...]
sgmm-calc-distances.cc Compute matrix of approximated K-L divergences between states
Only works properly if a single substate per state.
Usage: sgmm-calc-distances [options] model-in occs-in distances-out
sgmm-normalize.cc Renormalize SGMM so that within certain subsets of UBM Gaussians (typically
corresponding to gender), probabilities sum to one; write it out, including
normalizers.Note: gaussians-rspecifier will normally be "ark:foo" where foo looks like
m 0 1 2 3 4 5
f 6 7 8 9 10
Usage: sgmm-normalize [options] <model-in> <gaussians-rspecifier> <model-out>
sgmm-latgen-simple.cc Decode features using SGMM-based model.
Usage: sgmm-latgen-simple [options] <model-in> <fst-in> <features-rspecifier> <lattices-wspecifier> [<words-wspecifier> [<alignments-wspecifier>] ]
sgmm-latgen-faster.cc Decode features using SGMM-based model.
Usage: sgmm-latgen-faster [options] <model-in> (<fst-in>|<fsts-rspecifier>) <features-rspecifier> <lattices-wspecifier> [<words-wspecifier> [<alignments-wspecifier>] ]
sgmm-rescore-lattice.cc Replace the acoustic scores on a lattice using a new model.
Usage: sgmm-rescore-lattice [options] <model-in> <lattice-rspecifier> <feature-rspecifier> <lattice-wspecifier>
e.g.: sgmm-rescore-lattice 1.mdl ark:1.lats scp:trn.scp ark:2.lats
sgmm-copy.cc Copy SGMM (possibly changing binary/text format)
Usage: sgmm-normalize [options] <model-in> <model-out>
e.g.: sgmm-normalize --binary=false 1.mdl 1_text.mdl
sgmm-write-ubm.cc Write out the full-covariance UBM of the SGMM
Usage: sgmm-write-ubm [options] <model-in> <ubm-out>
e.g.: sgmm-write-ubm 1.mdl 1.ubm
sgmm-mixup.cc Increase number of sub-states or dimensions in SGMM
Usage: sgmm-mixup [options] <model-in> <model-out>
E.g. of mixing up:
sgmm-mixup --read-occs=1.occs --num-substates=10000 1.mdl 2.mdl
E.g. of increasing phonetic dim:
sgmm-mixup --increase-phn-dim=50 1.mdl 2.mdl
E.g. of increasing speaker dim:
sgmm-mixup --increase-spk-dim=50 1.mdl 2.mdl
E.g. of removing speaker space:
sgmm-mixup --remove-speaker-space 1.mdl 2.mdl
These modes may be combined.
sgmm-info.cc Print various information about an SGMM.
Usage: sgmm-info [options] <model-in>
sgmm-acc-tree-stats.cc Accumulate statistics for decision tree training.
This version accumulates statistics in the form of state-specific SGMM stats; you need to use the program sgmm-build-tree to build the tree (and sgmm-sum-tree-accs to sum the stats).
Usage: sgmm-acc-tree-stats [options] sgmm-model-in features-rspecifier alignments-rspecifier [tree-accs-out]
e.g.: sgmm-acc-tree-stats --ci-phones=48:49 1.mdl scp:train.scp ark:1.ali 1.tacc
sgmm-sum-tree-stats.cc Sum SGMM-type statistics used for phonetic decision tree building.
Usage: sgmm-sum-tree-stats [options] tree-accs-out trea-accs-in1 tree-accs-in2 ...
e.g.: sgmm-sum-tree-stats treeacc 1.streeacc 2.streeacc 3.streeacc
sgmm-build-tree.cc Train decision tree
Usage: sgmm-build-tree [options] <old-sgmm-in> <tree-stats-in> <roots-file> <questions-file> <tree-out> [<sgmm-out>]
e.g.: sgmm-build-tree 0.sgmm streeacc roots.txt 1.qst tree
sgmm-cluster-phones.cc Cluster phones (or sets of phones) into sets for various purposes
Usage: sgmm-cluster-phones [options] <sgmm-in> <tree-stats-in> <phone-sets-in> <clustered-phones-out>
e.g.: sgmm-cluster-phones 0.sgmm 1.tacc phonesets.txt questions.txt
sgmm-init-from-tree-stats.cc Initialize an SGMM from a previously built SGMM, a tree,
and SGMM-type tree stats
Usage: sgmm-init-from-tree-stats [options] <old-sgmm> <tree> <sgmm-tree-stats> <sgmm-out>
tied-diag-gmm-init-mono.cc Initialize monophone GMM with tied mixtures.
Usage: tied-diag-gmm-init-mono <topology-in> <diag-codebook> <model-out> <tree-out>
e.g.:
tied-diag-gmm-init-mono topo cb.pdf mono.mdl mono.tree
tied-diag-gmm-acc-stats-ali.cc Accumulate stats for tied GMM training.
Usage: tied-diag-gmm-acc-stats-ali [options] <model-in> <feature-rspecifier> <alignments-rspecifier> <stats-out>
e.g.:
tied-diag-gmm-acc-stats-ali 1.mdl 1.ali scp:train.scp ark:1.ali 1.acc
tied-diag-gmm-est.cc Accumulate stats for GMM training.
Usage: tied-diag-gmm-est [options] <model-in> <stats-in> <model-out>
e.g.: tied-diag-gmm-est 1.mdl 1.acc 2.mdl
tied-diag-gmm-align-compiled.cc Align features given tied diagonal GMM-based models.
Usage: tied-diag-gmm-align-compiled [options] model-in graphs-rspecifier feature-rspecifier alignments-wspecifier
e.g.:
tied-diag-gmm-align-compiled 1.mdl ark:graphs.fsts scp:train.scp ark:1.ali
or:
compile-train-graphs tree 1.mdl lex.fst ark:train.tra b, ark:- | \
tied-diag-gmm-align-compiled 1.mdl ark:- scp:train.scp t, ark:1.ali
tied-diag-gmm-decode-simple.cc Decode features using tied diagonal GMM-based model.
Usage: tied-diag-gmm-decode-simple [options] model-in fst-in features-rspecifier words-wspecifier [alignments-wspecifier]
tied-diag-gmm-decode-faster.cc Decode features using GMM-based model.
Usage: gmm-decode-faster [options] model-in fst-in features-rspecifier words-wspecifier [alignments-wspecifier]
tied-diag-gmm-init-model.cc Initialize a tied mixture model with diagonal mixture codebooks. If
using more than one codebook, you need to specify a map file, mapping
the tree leaves to the codebook ids as a vector, e.g. "[ 0 0 1 1 "]
Usage: tied-diag-gmm-init-model [options] <tree> <topo> [<diag-ubm0> | <tree-map> <diag-ubm> ...] <model-out>
e.g.:
tied-diag-gmm-init-model tree topo tree.map diag0.ubm diag1.ubm 1.mdl
smooth-stats-diag.cc Smooth the sufficient statistics of tied models by propagating them up and
interpolating them down in the tree hierarchy (w.r.t. their codebook)
Usage: smooth-stats-diag [options] <tree> <tree.map> <acc-in> <acc-out>
e.g.:
smooth-stats-diag tree tree.map 12.acc 12.acc.s
tied-full-gmm-init-mono.cc Initialize monophone GMM with tied mixtures.
Usage: tied-full-gmm-init-mono <topology-in> <full-codebook> <model-out> <tree-out>
e.g.:
tied-full-gmm-init-mono topo cb.pdf mono.mdl mono.tree
tied-full-gmm-acc-stats-ali.cc Accumulate stats for tied GMM training.
Usage: tied-full-gmm-acc-stats-ali [options] <model-in> <feature-rspecifier> <alignments-rspecifier> <stats-out>
e.g.:
tied-full-gmm-acc-stats-ali 1.mdl 1.ali scp:train.scp ark:1.ali 1.acc
tied-full-gmm-est.cc Accumulate stats for GMM training.
Usage: tied-full-gmm-est [options] <model-in> <stats-in> <model-out>
e.g.: tied-full-gmm-est 1.mdl 1.acc 2.mdl
tied-full-gmm-align-compiled.cc Align features given tied fullonal GMM-based models.
Usage: tied-full-gmm-align-compiled [options] model-in graphs-rspecifier feature-rspecifier alignments-wspecifier
e.g.:
tied-full-gmm-align-compiled 1.mdl ark:graphs.fsts scp:train.scp ark:1.ali
or:
compile-train-graphs tree 1.mdl lex.fst ark:train.tra b, ark:- | \
tied-full-gmm-align-compiled 1.mdl ark:- scp:train.scp t, ark:1.ali
tied-full-gmm-decode-simple.cc Decode features using tied fullonal GMM-based model.
Usage: tied-full-gmm-decode-simple [options] model-in fst-in features-rspecifier words-wspecifier [alignments-wspecifier]
tied-full-gmm-decode-faster.cc Decode features using GMM-based model.
Usage: gmm-decode-faster [options] model-in fst-in features-rspecifier words-wspecifier [alignments-wspecifier]
tied-full-gmm-init-model.cc Initialize a tied mixture model with fullonal mixture codebooks. If
using more than one codebook, you need to specify a map file, mapping
the tree leaves to the codebook ids as a vector, e.g. "[ 0 0 1 1 "]
Usage: tied-full-gmm-init-model [options] <tree> <topo> [<diag-ubm0> | <tree-map> <diag-ubm> ...] <model-out>
e.g.:
tied-full-gmm-init-model tree topo tree.map full0.ubm full1.ubm 1.mdl
smooth-stats-full.cc Smooth the sufficient statistics of tied models by propagating them up and
interpolating them down in the tree hierarchy (w.r.t. their codebook)
Usage: smooth-stats-full [options] <tree> <tree.map> <acc-in> <acc-out>
e.g.:
smooth-stats-full tree tree.map 12.acc 12.acc.s
init-tied-codebooks.cc Generate codebooks for a tied mixture system based on the accumulated tree stats and optional two-level tree. Will write to <codebook-out>[.num]
Usage: init-tied-codebooks [options] <tree-in> <tree-stats-in> <codebook-out> [tree.map]
e.g.:
init-tied-codebooks tree tree.acc ubm-full tree.map
tied-lbg.cc Generate codebooks for a tied mixture system based on an existing
tree and alignment, and write them to codebook-out[.num]
If no tree.map is given, a single codebook generated.
Usage: tied-lbg [options] tree-old tree-tied topo features-rspecifier alignments-rspecifier codebook-out [tree.map]
e.g.:
tied-lbg tree-old tree-tied topo scp:train.scp ark:ali ubm-full tree.map
full-to-diag.cc

Convert a full covariance GMM into a diagonal one.
Usage: full-to-tied <full-gmm-in> <diag-gmm-out>

ToolDescription
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines