⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m_options.c

📁 julius version 4.12.about sound recognition.
💻 C
📖 第 1 页 / 共 4 页
字号:
      GET_TMPARG;      jconf->amnow->gs_statenum = atoi(tmparg);      continue;    } else if (strmatch(argv[i],"-gshmm")) { /* same as "-hgs" */      if (!check_section(jconf, argv[i], JCONF_OPT_AM)) return FALSE;       FREE_MEMORY(jconf->amnow->hmm_gs_filename);      GET_TMPARG;      jconf->amnow->hmm_gs_filename = filepath(tmparg, cwd);      continue;    } else if (strmatch(argv[i],"-gsnum")) { /* same as "-booknum" */      if (!check_section(jconf, argv[i], JCONF_OPT_AM)) return FALSE;       GET_TMPARG;      jconf->amnow->gs_statenum = atoi(tmparg);      continue;    } else if (strmatch(argv[i],"-cmnload")) { /* load CMN parameter from file */      if (!check_section(jconf, argv[i], JCONF_OPT_AM)) return FALSE;       FREE_MEMORY(jconf->amnow->analysis.cmnload_filename);      GET_TMPARG;      jconf->amnow->analysis.cmnload_filename = filepath(tmparg, cwd);      continue;    } else if (strmatch(argv[i],"-cmnsave")) { /* save CMN parameter to file */      if (!check_section(jconf, argv[i], JCONF_OPT_AM)) return FALSE;       FREE_MEMORY(jconf->amnow->analysis.cmnsave_filename);      GET_TMPARG;      jconf->amnow->analysis.cmnsave_filename = filepath(tmparg, cwd);      continue;    } else if (strmatch(argv[i],"-cmnupdate")) { /* update CMN parameter */      if (!check_section(jconf, argv[i], JCONF_OPT_AM)) return FALSE;       jconf->amnow->analysis.cmn_update = TRUE;      continue;    } else if (strmatch(argv[i],"-cmnnoupdate")) { /* not update CMN parameter */      if (!check_section(jconf, argv[i], JCONF_OPT_AM)) return FALSE;       jconf->amnow->analysis.cmn_update = FALSE;      continue;    } else if (strmatch(argv[i],"-cmnmapweight")) { /* CMN weight for MAP */      if (!check_section(jconf, argv[i], JCONF_OPT_AM)) return FALSE;       GET_TMPARG;      jconf->amnow->analysis.cmn_map_weight = (float)atof(tmparg);      continue;    } else if (strmatch(argv[i],"-sscalc")) { /* do spectral subtraction (SS) for raw file input */      if (!check_section(jconf, argv[i], JCONF_OPT_AM)) return FALSE;       jconf->amnow->frontend.sscalc = TRUE;      FREE_MEMORY(jconf->amnow->frontend.ssload_filename);      continue;    } else if (strmatch(argv[i],"-sscalclen")) { /* head silence length used to compute SS (in msec) */      if (!check_section(jconf, argv[i], JCONF_OPT_AM)) return FALSE;       GET_TMPARG;      jconf->amnow->frontend.sscalc_len = atoi(tmparg);      continue;    } else if (strmatch(argv[i],"-ssload")) { /* load SS parameter from file */      if (!check_section(jconf, argv[i], JCONF_OPT_AM)) return FALSE;       FREE_MEMORY(jconf->amnow->frontend.ssload_filename);      GET_TMPARG;      jconf->amnow->frontend.ssload_filename = filepath(tmparg, cwd);      jconf->amnow->frontend.sscalc = FALSE;      continue;#ifdef CONFIDENCE_MEASURE    } else if (strmatch(argv[i],"-cmalpha")) { /* CM log score scaling factor */      if (!check_section(jconf, argv[i], JCONF_OPT_SR)) return FALSE; #ifdef CM_MULTIPLE_ALPHA      GET_TMPARG;      jconf->searchnow->annotate.cm_alpha_bgn = (LOGPROB)atof(tmparg);      GET_TMPARG;      jconf->searchnow->annotate.cm_alpha_end = (LOGPROB)atof(tmparg);      GET_TMPARG;      jconf->searchnow->annotate.cm_alpha_step = (LOGPROB)atof(tmparg);      jconf->searchnow->annotate.cm_alpha_num = (int)((jconf->searchnow->annotate.cm_alpha_end - jconf->searchnow->annotate.cm_alpha_bgn) / jconf->searchnow->annotate.cm_alpha_step) + 1;      if (jconf->searchnow->annotate.cm_alpha_num > 100) {	jlog("ERROR: m_option: cm_alpha step num exceeds limit (100)\n");	return FALSE;      }#else      GET_TMPARG;      jconf->searchnow->annotate.cm_alpha = (LOGPROB)atof(tmparg);#endif      continue;#ifdef CM_SEARCH_LIMIT    } else if (strmatch(argv[i],"-cmthres")) { /* CM cut threshold for CM decoding */      if (!check_section(jconf, argv[i], JCONF_OPT_SR)) return FALSE;       GET_TMPARG;      jconf->searchnow->annotate.cm_cut_thres = (LOGPROB)atof(tmparg);      continue;#endif#ifdef CM_SEARCH_LIMIT_POP    } else if (strmatch(argv[i],"-cmthres2")) { /* CM cut threshold for CM decoding */      if (!check_section(jconf, argv[i], JCONF_OPT_SR)) return FALSE;       GET_TMPARG;      jconf->searchnow->annotate.cm_cut_thres_pop = (LOGPROB)atof(tmparg);      continue;#endif#endif /* CONFIDENCE_MEASURE */    } else if (strmatch(argv[i],"-gmm")) { /* load SS parameter from file */      if (!check_section(jconf, argv[i], JCONF_OPT_GLOBAL)) return FALSE;       FREE_MEMORY(jconf->reject.gmm_filename);      GET_TMPARG;      jconf->reject.gmm_filename = filepath(tmparg, cwd);      continue;    } else if (strmatch(argv[i],"-gmmnum")) { /* num of Gaussian pruning for GMM */      if (!check_section(jconf, argv[i], JCONF_OPT_GLOBAL)) return FALSE;       GET_TMPARG;      jconf->reject.gmm_gprune_num = atoi(tmparg);      continue;    } else if (strmatch(argv[i],"-gmmreject")) {      if (!check_section(jconf, argv[i], JCONF_OPT_GLOBAL)) return FALSE;       GET_TMPARG;      FREE_MEMORY(jconf->reject.gmm_reject_cmn_string);      jconf->reject.gmm_reject_cmn_string = strcpy((char *)mymalloc(strlen(tmparg)+1), tmparg);      continue;#ifdef GMM_VAD    } else if (strmatch(argv[i],"-gmmmargin")) { /* backstep margin */      if (!check_section(jconf, argv[i], JCONF_OPT_GLOBAL)) return FALSE;       GET_TMPARG;      jconf->detect.gmm_margin = atoi(tmparg);      continue;    } else if (strmatch(argv[i],"-gmmup")) { /* uptrigger threshold */      if (!check_section(jconf, argv[i], JCONF_OPT_GLOBAL)) return FALSE;       GET_TMPARG;      jconf->detect.gmm_uptrigger_thres = atof(tmparg);      continue;    } else if (strmatch(argv[i],"-gmmdown")) { /* uptrigger threshold */      if (!check_section(jconf, argv[i], JCONF_OPT_GLOBAL)) return FALSE;       GET_TMPARG;      jconf->detect.gmm_downtrigger_thres = atof(tmparg);      continue;#endif    } else if (strmatch(argv[i],"-htkconf")) {      if (!check_section(jconf, argv[i], JCONF_OPT_AM)) return FALSE;       GET_TMPARG;      if (htk_config_file_parse(tmparg, &(jconf->amnow->analysis.para_htk)) == FALSE) {	jlog("ERROR: m_options: failed to read %s\n", tmparg);	return FALSE;      }      continue;    } else if (strmatch(argv[i], "-wlist")) {      if (!check_section(jconf, argv[i], JCONF_OPT_LM)) return FALSE;       GET_TMPARG;      tmparg = filepath(tmparg, cwd);      if (multigram_add_prefix_filelist(tmparg, jconf->lmnow, LM_DFA_WORD) == FALSE) {	jlog("ERROR: m_options: failed to read some word lists\n");	free(tmparg);	return FALSE;      }      free(tmparg);      continue;    } else if (strmatch(argv[i], "-wsil")) {      /*        * if (jconf->lmnow->lmvar != LM_UNDEF && jconf->lmnow->lmvar != LM_DFA_WORD) {       *   jlog("ERROR: \"-wsil\" only valid for isolated word recognition mode\n");       *   return FALSE;       * }       */      if (!check_section(jconf, argv[i], JCONF_OPT_LM)) return FALSE;       GET_TMPARG;      strncpy(jconf->lmnow->wordrecog_head_silence_model_name, tmparg, MAX_HMMNAME_LEN);      GET_TMPARG;      strncpy(jconf->lmnow->wordrecog_tail_silence_model_name, tmparg, MAX_HMMNAME_LEN);      GET_TMPARG;      if (strmatch(tmparg, "NULL")) {	jconf->lmnow->wordrecog_silence_context_name[0] = '\0';      } else {	strncpy(jconf->lmnow->wordrecog_silence_context_name, tmparg, MAX_HMMNAME_LEN);      }      continue;#ifdef DETERMINE    } else if (strmatch(argv[i], "-wed")) {      //if (jconf->lmnow->lmvar != LM_UNDEF && jconf->lmnow->lmvar != LM_DFA_WORD) {      //jlog("ERROR: \"-wed\" only valid for isolated word recognition mode\n");      //return FALSE;      //}      if (!check_section(jconf, argv[i], JCONF_OPT_SR)) return FALSE;       GET_TMPARG;      jconf->searchnow->pass1.determine_score_thres = atof(tmparg);      GET_TMPARG;      jconf->searchnow->pass1.determine_duration_thres = atoi(tmparg);      continue;#endif    } else if (strmatch(argv[i], "-inactive")) { /* start inactive */      if (!check_section(jconf, argv[i], JCONF_OPT_SR)) return FALSE;       jconf->searchnow->sw.start_inactive = TRUE;      continue;    } else if (strmatch(argv[i], "-active")) { /* start active (default) */      if (!check_section(jconf, argv[i], JCONF_OPT_SR)) return FALSE;       jconf->searchnow->sw.start_inactive = FALSE;      continue;    } else if (strmatch(argv[i],"-fallback1pass")) { /* use 1st pass result on search failure */      if (!check_section(jconf, argv[i], JCONF_OPT_SR)) return FALSE;       jconf->searchnow->sw.fallback_pass1_flag = TRUE;      continue;#ifdef ENABLE_PLUGIN    } else if (strmatch(argv[i],"-plugindir")) {      GET_TMPARG;      plugin_load_dirs(tmparg);      continue;#endif    }    if (argv[i][0] == '-' && strlen(argv[i]) == 2) {      /* 1-letter options */      switch(argv[i][1]) {      case 'h':			/* hmmdefs */	if (!check_section(jconf, argv[i], JCONF_OPT_AM)) return FALSE; 	FREE_MEMORY(jconf->amnow->hmmfilename);	GET_TMPARG;	jconf->amnow->hmmfilename = filepath(tmparg, cwd);	break;      case 'v':			/* dictionary */	if (!check_section(jconf, argv[i], JCONF_OPT_LM)) return FALSE; 	FREE_MEMORY(jconf->lmnow->dictfilename);	GET_TMPARG;	jconf->lmnow->dictfilename = filepath(tmparg, cwd);	break;      case 'w':			/* word list (isolated word recognition) */	if (!check_section(jconf, argv[i], JCONF_OPT_LM)) return FALSE; 	GET_TMPARG;	if (multigram_add_prefix_list(tmparg, cwd, jconf->lmnow, LM_DFA_WORD) == FALSE) {	  jlog("ERROR: m_options: failed to read some word list\n");	  return FALSE;	}	break;      case 'd':			/* binary N-gram */	/* lmvar should be overriden by the content of the binary N-gram */	if (!check_section(jconf, argv[i], JCONF_OPT_LM)) return FALSE; 	FREE_MEMORY(jconf->lmnow->ngram_filename);	FREE_MEMORY(jconf->lmnow->ngram_filename_lr_arpa);	FREE_MEMORY(jconf->lmnow->ngram_filename_rl_arpa);	GET_TMPARG;	jconf->lmnow->ngram_filename = filepath(tmparg, cwd);	break;      case 'b':			/* beam width in 1st pass */	if (!check_section(jconf, argv[i], JCONF_OPT_SR)) return FALSE; 	GET_TMPARG;	jconf->searchnow->pass1.specified_trellis_beam_width = atoi(tmparg);	break;      case 's':			/* stack size in 2nd pass */	if (!check_section(jconf, argv[i], JCONF_OPT_SR)) return FALSE; 	GET_TMPARG;	jconf->searchnow->pass2.stack_size = atoi(tmparg);	break;      case 'n':			/* N-best search */	if (!check_section(jconf, argv[i], JCONF_OPT_SR)) return FALSE; 	GET_TMPARG;	jconf->searchnow->pass2.nbest = atoi(tmparg);	break;      case 'm':			/* upper limit of hypothesis generation */	if (!check_section(jconf, argv[i], JCONF_OPT_SR)) return FALSE; 	GET_TMPARG;	jconf->searchnow->pass2.hypo_overflow = atoi(tmparg);	break;      default:	//jlog("ERROR: m_options: wrong argument: %s\n", argv[0], argv[i]);	//return FALSE;	unknown_opt = TRUE;      }    } else {			/* error */      //jlog("ERROR: m_options: wrong argument: %s\n", argv[0], argv[i]);      //return FALSE;      unknown_opt = TRUE;    }    if (unknown_opt) {      /* call user-side option processing */      switch(useropt_exec(jconf, argv, argc, &i)) {      case 0:			/* does not match user-side options */	jlog("ERROR: m_options: wrong argument: \"%s\"\n", argv[i]);	return FALSE;      case -1:			/* Error in user-side function */	jlog("ERROR: m_options: error in processing \"%s\"\n", argv[i]);	return FALSE;      }    }  }    /* set default values if not specified yet */  for(atmp=jconf->am_root;atmp;atmp=atmp->next) {    if (!atmp->spmodel_name) {      atmp->spmodel_name = strcpy((char*)mymalloc(strlen(SPMODEL_NAME_DEFAULT)+1),			  SPMODEL_NAME_DEFAULT);    }  }  for(ltmp=jconf->lm_root;ltmp;ltmp=ltmp->next) {    if (!ltmp->head_silname) {      ltmp->head_silname = strcpy((char*)mymalloc(strlen(BEGIN_WORD_DEFAULT)+1),				  BEGIN_WORD_DEFAULT);    }    if (!ltmp->tail_silname) {      ltmp->tail_silname = strcpy((char*)mymalloc(strlen(END_WORD_DEFAULT)+1),				  END_WORD_DEFAULT);    }    if (!ltmp->iwspentry) {      ltmp->iwspentry = strcpy((char*)mymalloc(strlen(IWSPENTRY_DEFAULT)+1),			       IWSPENTRY_DEFAULT);    }  }#ifdef USE_NETAUDIO  if (!jconf->input.netaudio_devname) {    jconf->input.netaudio_devname = strcpy((char*)mymalloc(strlen(NETAUDIO_DEVNAME)+1),			      NETAUDIO_DEVNAME);  }#endif	/* USE_NETAUDIO */  return TRUE;}/**  * <JA> * オプション簇息のメモリ挝拌を豺庶する.  * </JA> * <EN> * Free memories of variables allocated by option arguments. * </EN> * * @param jconf [i/o] jconf configuration data * * @callgraph * @callergraph */voidopt_release(Jconf *jconf){  JCONF_AM *am;  JCONF_LM *lm;  JCONF_SEARCH *s;  FREE_MEMORY(jconf->input.inputlist_filename);#ifdef USE_NETAUDIO  FREE_MEMORY(jconf->input.netaudio_devname);#endif	/* USE_NETAUDIO */  FREE_MEMORY(jconf->reject.gmm_filename);  FREE_MEMORY(jconf->reject.gmm_reject_cmn_string);  for(am=jconf->am_root;am;am=am->next) {    FREE_MEMORY(am->hmmfilename);    FREE_MEMORY(am->mapfilename);    FREE_MEMORY(am->spmodel_name);    FREE_MEMORY(am->hmm_gs_filename);    FREE_MEMORY(am->analysis.cmnload_filename);    FREE_MEMORY(am->analysis.cmnsave_filename);    FREE_MEMORY(am->frontend.ssload_filename);  }  for(lm=jconf->lm_root;lm;lm=lm->next) {    FREE_MEMORY(lm->ngram_filename);    FREE_MEMORY(lm->ngram_filename_lr_arpa);    FREE_MEMORY(lm->ngram_filename_rl_arpa);    FREE_MEMORY(lm->dfa_filename);    FREE_MEMORY(lm->head_silname);    FREE_MEMORY(lm->tail_silname);    FREE_MEMORY(lm->iwspentry);    FREE_MEMORY(lm->dictfilename);    multigram_remove_gramlist(lm);  }  for(s=jconf->search_root;s;s=s->next) {    FREE_MEMORY(s->successive.pausemodelname);  }}/* end of file */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -