int parse_cmd_ln(int argc, char *argv[]) { uint32 isHelp; uint32 isExample; #include "cmd_ln_defn.h" cmd_ln_define(defn); if (argc == 1) { cmd_ln_print_definitions(); exit(1); } cmd_ln_parse(argc, argv); isHelp = *(uint32 *) cmd_ln_access("-help"); isExample = *(uint32 *) cmd_ln_access("-example"); if(isHelp){ printf("%s\n\n",helpstr); } if(isExample){ printf("%s\n\n",examplestr); } if(isHelp || isExample){ E_INFO("User asked for help or example.\n"); exit(1); } if(!isHelp && !isExample){ if (cmd_ln_validate() == FALSE) { E_FATAL("Unable to validate command line arguments\n"); } cmd_ln_print_configuration(); } return 0; }
int32 parse_cmd_ln(int argc, char *argv[]) { uint32 isHelp; uint32 isExample; const char helpstr[]= "Description: \n\ Convert s3 model definition file and s3 mixture weight file to a s2 senddump file."; const char examplestr[]= "Example: \n\ \n\ mk_s2sendump -moddeffn s3mdef -mixwfn s3mixw -sendumpfn s2dir/sendump\n"; static arg_def_t defn[] = { { "-help", CMD_LN_BOOLEAN, CMD_LN_NO_VALIDATION, "no", "Shows the usage of the tool"}, { "-example", CMD_LN_BOOLEAN, CMD_LN_NO_VALIDATION, "no", "Shows example of how to use the tool"}, { "-moddeffn", CMD_LN_STRING, CMD_LN_NO_VALIDATION, CMD_LN_NO_DEFAULT, "The model definition file for the model inventory to train" }, { "-mixwfn", CMD_LN_STRING, CMD_LN_NO_VALIDATION, CMD_LN_NO_DEFAULT, "The mixture weight parameter file name"}, { "-sendumpfn", CMD_LN_STRING, CMD_LN_NO_VALIDATION, CMD_LN_NO_DEFAULT, "Output sendump file name"}, { "-pocketsphinx", CMD_LN_BOOLEAN, CMD_LN_NO_VALIDATION, "no", "Write a PocketSphinx-format senone dump file"}, { "-mwfloor", CMD_LN_FLOAT32, CMD_LN_NO_VALIDATION, "0.00001", "Mixing weight smoothing floor" }, { NULL, CMD_LN_UNDEF, CMD_LN_NO_VALIDATION, CMD_LN_NO_DEFAULT, NULL } }; cmd_ln_define(defn); if (argc == 1) { cmd_ln_print_definitions(); exit(1); } cmd_ln_parse(argc, argv); isHelp = *(uint32 *) cmd_ln_access("-help"); isExample = *(uint32 *) cmd_ln_access("-example"); if(isHelp){ printf("%s\n\n",helpstr); } if(isExample){ printf("%s\n\n",examplestr); } if(isHelp || isExample){ E_INFO("User asked for help or example.\n"); exit(1); } if(!isHelp && !isExample){ cmd_ln_print_configuration(); } return 0; }
int parse_cmd_ln(int argc, char *argv[]) { uint32 isHelp; uint32 isExample; const char helpstr[]= "Description : \n\ Create a model definition file with tied state from model definition file without tied states. "; const char examplestr[]= "Example: \n\ tiestate -imoddeffn imdef -omoddeffn omdef -treedir trees -psetfn questions \n\ \n\ This is an example of the input and output format, Find more details at, \n\ http://www.speech.cs.cmu.edu/sphinxman"; static arg_def_t defn[] = { { "-help", CMD_LN_BOOLEAN, CMD_LN_NO_VALIDATION, "no", "Shows the usage of the tool"}, { "-example", CMD_LN_BOOLEAN, CMD_LN_NO_VALIDATION, "no", "Shows example of how to use the tool"}, { "-imoddeffn", CMD_LN_STRING, CMD_LN_NO_VALIDATION, CMD_LN_NO_DEFAULT, "Untied-state model definition file"}, { "-omoddeffn", CMD_LN_STRING, CMD_LN_NO_VALIDATION, CMD_LN_NO_DEFAULT, "Tied-state model definition file"}, { "-treedir", CMD_LN_STRING, CMD_LN_NO_VALIDATION, CMD_LN_NO_DEFAULT, "SPHINX-III tree directory containing pruned trees"}, { "-psetfn", CMD_LN_STRING, CMD_LN_NO_VALIDATION, CMD_LN_NO_DEFAULT, "Phone set definiton file" }, { "-allphones", CMD_LN_BOOLEAN, CMD_LN_NO_VALIDATION, "no", "Use a single tree for each state of all phones"}, { NULL, CMD_LN_UNDEF, CMD_LN_NO_VALIDATION, CMD_LN_NO_DEFAULT, NULL } }; cmd_ln_define(defn); if (argc == 1) { cmd_ln_print_definitions(); exit(1); } cmd_ln_parse(argc, argv); if (cmd_ln_validate() == FALSE) { E_FATAL("Unable to validate command line arguments\n"); } isHelp = *(uint32 *) cmd_ln_access("-help"); isExample = *(uint32 *) cmd_ln_access("-example"); if(isHelp){ printf("%s\n\n",helpstr); } if(isExample){ printf("%s\n\n",examplestr); } if(isHelp || isExample){ E_INFO("User asked for help or example.\n"); exit(1); } if(!isHelp && !isExample){ cmd_ln_print_configuration(); } return 0; }
main (int32 argc, char *argv[]) { char *str; #if 0 ckd_debug(100000); #endif E_INFO("%s COMPILED ON: %s, AT: %s\n\n", argv[0], __DATE__, __TIME__); /* Digest command line argument definitions */ cmd_ln_define (defn); if ((argc == 2) && (strcmp (argv[1], "help") == 0)) { cmd_ln_print_definitions(); exit(1); } /* Look for default or specified arguments file */ str = NULL; if ((argc == 2) && (argv[1][0] != '-')) str = argv[1]; else if (argc == 1) { str = "s3align.arg"; E_INFO("Looking for default argument file: %s\n", str); } if (str) { /* Build command line argument list from file */ if ((argc = load_argfile (str, argv[0], &argv)) < 0) { fprintf (stderr, "Usage:\n"); fprintf (stderr, "\t%s argument-list, or\n", argv[0]); fprintf (stderr, "\t%s [argument-file] (default file: s3align.arg)\n\n", argv[0]); cmd_ln_print_definitions(); exit(1); } } cmdline_parse (argc, argv); if ((cmd_ln_access("-mdeffn") == NULL) || (cmd_ln_access("-meanfn") == NULL) || (cmd_ln_access("-varfn") == NULL) || (cmd_ln_access("-mixwfn") == NULL) || (cmd_ln_access("-tmatfn") == NULL) || (cmd_ln_access("-dictfn") == NULL)) E_FATAL("Missing -mdeffn, -meanfn, -varfn, -mixwfn, -tmatfn, or -dictfn argument\n"); if ((cmd_ln_access("-ctlfn") == NULL) || (cmd_ln_access("-insentfn") == NULL)) E_FATAL("Missing -ctlfn or -insentfn argument\n"); if ((cmd_ln_access ("-s2stsegdir") == NULL) && (cmd_ln_access ("-stsegdir") == NULL) && (cmd_ln_access ("-phsegdir") == NULL) && (cmd_ln_access ("-wdsegdir") == NULL) && (cmd_ln_access ("-outsentfn") == NULL)) E_FATAL("Missing output file/directory argument(s)\n"); tm_utt = timing_new (); /* * Initialize log(S3-base). All scores (probs...) computed in log domain to avoid * underflow. At the same time, log base = 1.0001 (1+epsilon) to allow log values * to be maintained in int32 variables without significant loss of precision. */ if (cmd_ln_access("-logbase") == NULL) logs3_init (1.0001); else { float32 logbase; logbase = *((float32 *) cmd_ln_access("-logbase")); if (logbase <= 1.0) E_FATAL("Illegal log-base: %e; must be > 1.0\n", logbase); if (logbase > 1.1) E_WARN("Logbase %e perhaps too large??\n", logbase); logs3_init ((float64) logbase); } /* Initialize feature stream type */ feat_init ((char *) cmd_ln_access ("-feat")); /* BHIKSHA: PASS CEPSIZE TO FEAT_CEPSIZE, 6 Jan 98 */ cepsize = *((int32 *) cmd_ln_access("-ceplen")); cepsize = feat_cepsize (cepsize); /* END CHANGES BY BHIKSHA */ /* Read in input databases */ models_init (); senscale = (int32 *) ckd_calloc (S3_MAX_FRAMES, sizeof(int32)); tmr_utt = cyctimer_new ("U"); tmr_gauden = cyctimer_new ("G"); tmr_senone = cyctimer_new ("S"); tmr_align = cyctimer_new ("A"); /* Initialize align module */ align_init (); printf ("\n"); tot_nfr = 0; process_ctlfile (); if (tot_nfr > 0) { printf ("\n"); printf("TOTAL FRAMES: %8d\n", tot_nfr); printf("TOTAL CPU TIME: %11.2f sec, %7.2f xRT\n", tm_utt->t_tot_cpu, tm_utt->t_tot_cpu/(tot_nfr*0.01)); printf("TOTAL ELAPSED TIME: %11.2f sec, %7.2f xRT\n", tm_utt->t_tot_elapsed, tm_utt->t_tot_elapsed/(tot_nfr*0.01)); } #if (! WIN32) system ("ps aguxwww | grep s3align"); #endif /* Hack!! To avoid hanging problem under Linux */ if (logfp) { fclose (logfp); *stdout = orig_stdout; *stderr = orig_stderr; } exit(0); }
main (int32 argc, char *argv[]) { char *str; #if 0 ckd_debug(100000); #endif /* Digest command line argument definitions */ cmd_ln_define (defn); if ((argc == 2) && (strcmp (argv[1], "help") == 0)) { cmd_ln_print_definitions(); exit(1); } /* Look for default or specified arguments file */ str = NULL; if ((argc == 2) && (argv[1][0] != '-')) str = argv[1]; else if (argc == 1) { str = "s3decode.arg"; E_INFO("Looking for default argument file: %s\n", str); } if (str) { /* Build command line argument list from file */ if ((argc = load_argfile (str, argv[0], &argv)) < 0) { fprintf (stderr, "Usage:\n"); fprintf (stderr, "\t%s argument-list, or\n", argv[0]); fprintf (stderr, "\t%s [argument-file] (default file: s3decode.arg)\n\n", argv[0]); cmd_ln_print_definitions(); exit(1); } } cmdline_parse (argc, argv); /* Remove memory allocation restrictions */ unlimit (); #if (! WIN32) { char buf[1024]; gethostname (buf, 1024); buf[1023] = '\0'; E_INFO ("Executing on: %s\n", buf); } #endif E_INFO("%s COMPILED ON: %s, AT: %s\n\n", argv[0], __DATE__, __TIME__); if ((cmd_ln_access("-mdeffn") == NULL) || (cmd_ln_access("-dictfn") == NULL) || (cmd_ln_access("-lmfn") == NULL)) E_FATAL("Missing -mdeffn, -dictfn, or -lmfn argument\n"); /* * Initialize log(S3-base). All scores (probs...) computed in log domain to avoid * underflow. At the same time, log base = 1.0001 (1+epsilon) to allow log values * to be maintained in int32 variables without significant loss of precision. */ if (cmd_ln_access("-logbase") == NULL) logs3_init (1.0001); else { float32 logbase; logbase = *((float32 *) cmd_ln_access("-logbase")); if (logbase <= 1.0) E_FATAL("Illegal log-base: %e; must be > 1.0\n", logbase); if (logbase > 1.1) E_WARN("Logbase %e perhaps too large??\n", logbase); logs3_init ((float64) logbase); } /* Read in input databases */ models_init (); /* Allocate timing object */ tm_utt = timing_new (); tot_nfr = 0; /* Initialize forward Viterbi search module */ dag_init (); printf ("\n"); process_ctlfile (); printf ("\n"); printf("TOTAL FRAMES: %8d\n", tot_nfr); if (tot_nfr > 0) { printf("TOTAL CPU TIME: %11.2f sec, %7.2f xRT\n", tm_utt->t_tot_cpu, tm_utt->t_tot_cpu/(tot_nfr*0.01)); printf("TOTAL ELAPSED TIME: %11.2f sec, %7.2f xRT\n", tm_utt->t_tot_elapsed, tm_utt->t_tot_elapsed/(tot_nfr*0.01)); } fflush (stdout); #if (! WIN32) system ("ps auxwww | grep s3dag"); #endif /* Hack!! To avoid hanging problem under Linux */ if (logfp) { fclose (logfp); *stdout = orig_stdout; *stderr = orig_stderr; } exit(0); }
int parse_cmd_ln(int argc, char *argv[]) { uint32 isHelp; uint32 isExample; const char helpstr[] = "Description: \nThis program computes a mixture gaussian distribution for a set of \nspeech cepstral files for use with CDCN. The first mode is computed on only\nthe silence portions of the speech to comply with the requirements of the \nalgorithm."; const char examplestr[]= "Example: \n\ \n\ cdcn_stats -cepext mfc \n\ -ctlfn stuff.ctl \n\ -outfn output.cdcn.dist \n\ -nmodes 32 \n\ -noisewidth 1.5 \n\ -tmpfn CDCN.tmp \n\ -ceplen 13 \n\ -stride 10 "; static arg_def_t defn[] = { { "-help", CMD_LN_BOOLEAN, CMD_LN_NO_VALIDATION, "no", "Shows the usage of the tool" }, { "-example", CMD_LN_BOOLEAN, CMD_LN_NO_VALIDATION, "no", "Shows example of how to use the tool" }, { "-ctlfn", CMD_LN_STRING, CMD_LN_NO_VALIDATION, CMD_LN_NO_DEFAULT, "The control file name (enumerates utts in corpus)" }, { "-outfn", CMD_LN_STRING, CMD_LN_NO_VALIDATION, CMD_LN_NO_DEFAULT, "The output distribution file name" }, { "-cepdir", CMD_LN_STRING, CMD_LN_NO_VALIDATION, CMD_LN_NO_DEFAULT, "Root directory of the cepstrum files" }, { "-cepext", CMD_LN_STRING, CMD_LN_NO_VALIDATION, "mfc", "Extension of the cepstrum files" }, { "-maxframes", CMD_LN_INT32, CMD_LN_NO_VALIDATION, "-1", "Maximum number of frames to read (or -1 for unlimited)" }, { "-cbfn", CMD_LN_STRING, CMD_LN_NO_VALIDATION, CMD_LN_NO_DEFAULT, "A previous codebook to restart EM training from" }, { "-nmodes", CMD_LN_INT32, CMD_LN_NO_VALIDATION, "32", "# of Gaussians to train" }, { "-noisewidth", CMD_LN_FLOAT32, CMD_LN_NO_VALIDATION, "1.5", "Width of noise band" }, { "-ceplen", CMD_LN_INT32, CMD_LN_NO_VALIDATION, "13", "# of coefficients per cepstrum frame" }, { "-stride", CMD_LN_INT32, CMD_LN_NO_VALIDATION, "1", "Take every -stride'th frame when computing distribution" }, { "-vqiter", CMD_LN_INT32, CMD_LN_NO_VALIDATION, "5", "Max # of interations of VQ to get initial codebook" }, { "-vqthresh", CMD_LN_FLOAT32, CMD_LN_NO_VALIDATION, "1e-6", "Convergence ratio for VQ" }, { "-emiter", CMD_LN_INT32, CMD_LN_NO_VALIDATION, "10", "# of interations of EM to estimate distributions" }, { "-emthresh", CMD_LN_FLOAT32, CMD_LN_NO_VALIDATION, "1e-6", "Convergence ratio for EM" }, { "-tmpfn", CMD_LN_STRING, CMD_LN_NO_VALIDATION, "CDCN.DIST.TEMP", "The temporary file name" }, { NULL, CMD_LN_UNDEF, CMD_LN_NO_VALIDATION, CMD_LN_NO_DEFAULT, NULL } }; cmd_ln_define(defn); if (argc == 1) { cmd_ln_print_definitions(); exit(1); } cmd_ln_parse(argc, argv); if (cmd_ln_validate() == FALSE) { E_FATAL("Unable to validate command line arguments\n"); } isHelp = *(uint32 *) cmd_ln_access("-help"); isExample = *(uint32 *) cmd_ln_access("-example"); if(isHelp) { printf("%s\n\n",helpstr); } if(isExample) { printf("%s\n\n",examplestr); } if(isHelp || isExample) { E_INFO("User asked for help or example.\n"); exit(1); } if(!isHelp && !isExample) { cmd_ln_print_configuration(); } return 0; }