30 int main(
int argc,
char *argv[]) {
32 using namespace kaldi;
34 typedef kaldi::int64 int64;
35 using fst::SymbolTable;
40 "Minimize lattices, in CompactLattice format. Should be applied to\n" 41 "determinized lattices (e.g. produced with --determinize-lattice=true)\n" 42 "Note: by default this program\n" 43 "pushes the strings and weights prior to minimization." 44 "Usage: lattice-minimize [options] lattice-rspecifier lattice-wspecifier\n" 45 " e.g.: lattice-minimize ark:1.lats ark:2.lats\n";
49 bool push_strings =
true;
50 bool push_weights =
true;
52 po.
Register(
"push-strings", &push_strings,
"If true, push the strings in the " 53 "lattice to the start.");
54 po.
Register(
"push-weights", &push_weights,
"If true, push the weights in the " 55 "lattice to the start.");
64 std::string lats_rspecifier = po.
GetArg(1),
65 lats_wspecifier = po.
GetArg(2);
71 int32 n_done = 0, n_err = 0;
74 for (; !clat_reader.
Done(); clat_reader.
Next()) {
75 std::string key = clat_reader.
Key();
77 KALDI_VLOG(1) <<
"Processing lattice for utterance " << key;
79 KALDI_WARN <<
"Failure in pushing lattice strings (bad lattice?), " 85 KALDI_WARN <<
"Failure in pushing lattice weights (bad lattice?)," 86 <<
"for key " << key ;
91 KALDI_WARN <<
"Failure in minimizing lattice (bad lattice?)," 92 <<
"for key " << key ;
96 if (clat.NumStates() == 0) {
101 clat_writer.
Write(key, clat);
104 KALDI_LOG <<
"Minimized " << n_done <<
" lattices, errors on " << n_err;
105 return (n_done != 0 ? 0 : 1);
106 }
catch(
const std::exception &e) {
107 std::cerr << e.what();
This code computes Goodness of Pronunciation (GOP) and extracts phone-level pronunciation feature for...
void PrintUsage(bool print_command_line=false)
Prints the usage documentation [provided in the constructor].
bool PushCompactLatticeStrings(MutableFst< ArcTpl< CompactLatticeWeightTpl< Weight, IntType > > > *clat)
This function pushes the transition-ids as far towards the start as they will go. ...
A templated class for writing objects to an archive or script file; see The Table concept...
void Write(const std::string &key, const T &value) const
void Register(const std::string &name, bool *ptr, const std::string &doc)
bool PushCompactLatticeWeights(MutableFst< ArcTpl< CompactLatticeWeightTpl< Weight, IntType > > > *clat)
This function pushes the weights in the CompactLattice so that all states except possibly the start s...
The class ParseOptions is for parsing command-line options; see Parsing command-line options for more...
bool MinimizeCompactLattice(MutableFst< ArcTpl< CompactLatticeWeightTpl< Weight, IntType > > > *clat, float delta)
This function minimizes the compact lattice.
A templated class for reading objects sequentially from an archive or script file; see The Table conc...
int Read(int argc, const char *const *argv)
Parses the command line options and fills the ParseOptions-registered variables.
std::string GetArg(int param) const
Returns one of the positional parameters; 1-based indexing for argc/argv compatibility.
fst::VectorFst< CompactLatticeArc > CompactLattice
int NumArgs() const
Number of positional parameters (c.f. argc-1).
int main(int argc, char *argv[])