29 int main(
int argc, 
char *argv[]) {
    30   using namespace kaldi;
    34         "Apply weight to silences in posts\n"    35         "Usage:  weight-silence-post [options] <silence-weight> <silence-phones> "    36         "<model> <posteriors-rspecifier> <posteriors-wspecifier>\n"    38         " weight-silence-post 0.0 1:2:3 1.mdl ark:1.post ark:nosil.post\n";
    42     bool distribute = 
false;
    44     po.
Register(
"distribute", &distribute, 
"If true, rather than weighting the "    45                 "individual posteriors, apply the weighting to the whole frame: "    46                 "i.e. on time t, scale all posterior entries by "    47                 "p(sil)*silence-weight + p(non-sil)*1.0");
    57     std::string silence_weight_str = po.
GetArg(1),
    58         silence_phones_str = po.
GetArg(2),
    59         model_rxfilename = po.
GetArg(3),
    60         posteriors_rspecifier = po.
GetArg(4),
    61         posteriors_wspecifier = po.
GetArg(5);
    65       KALDI_ERR << 
"Invalid silence-weight parameter: expected float, got \""    66                  << silence_weight_str << 
'"';
    67     std::vector<int32> silence_phones;
    69       KALDI_ERR << 
"Invalid silence-phones string " << silence_phones_str;
    70     if (silence_phones.empty())
    71       KALDI_WARN <<
"No silence phones, this will have no effect";
    77     int32 num_posteriors = 0;
    81     for (; !posterior_reader.
Done(); posterior_reader.
Next()) {
    88                                      silence_weight, &post);
    91                           silence_weight, &post);
    93       posterior_writer.
Write(posterior_reader.
Key(), post);
    95     KALDI_LOG << 
"Done " << num_posteriors << 
" posteriors.";
    96     return (num_posteriors != 0 ? 0 : 1);
    97   } 
catch(
const std::exception &e) {
    98     std::cerr << e.what();
 
This code computes Goodness of Pronunciation (GOP) and extracts phone-level pronunciation feature for...
 
bool SplitStringToIntegers(const std::string &full, const char *delim, bool omit_empty_strings, std::vector< I > *out)
Split a string (e.g. 
 
void PrintUsage(bool print_command_line=false)
Prints the usage documentation [provided in the constructor]. 
 
int main(int argc, char *argv[])
 
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)
 
void ReadKaldiObject(const std::string &filename, Matrix< float > *m)
 
void WeightSilencePost(const TransitionModel &trans_model, const ConstIntegerSet< int32 > &silence_set, BaseFloat silence_scale, Posterior *post)
Weight any silence phones in the posterior (i.e. 
 
std::vector< std::vector< std::pair< int32, BaseFloat > > > Posterior
Posterior is a typedef for storing acoustic-state (actually, transition-id) posteriors over an uttera...
 
The class ParseOptions is for parsing command-line options; see Parsing command-line options for more...
 
void WeightSilencePostDistributed(const TransitionModel &trans_model, const ConstIntegerSet< int32 > &silence_set, BaseFloat silence_scale, Posterior *post)
This is similar to WeightSilencePost, except that on each frame it works out the amount by which the ...
 
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. 
 
bool ConvertStringToReal(const std::string &str, T *out)
ConvertStringToReal converts a string into either float or double and returns false if there was any ...
 
std::string GetArg(int param) const
Returns one of the positional parameters; 1-based indexing for argc/argv compatibility. 
 
int NumArgs() const
Number of positional parameters (c.f. argc-1).