julius/extern.h

Go to the documentation of this file.
00001 
00017 /*
00018  * Copyright (c) 1991-2006 Kawahara Lab., Kyoto University
00019  * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
00020  * Copyright (c) 2005-2006 Julius project team, Nagoya Institute of Technology
00021  * All rights reserved
00022  */
00023 
00024 /* should be included after all include files */
00025 
00026 /* backtrellis.c */
00027 void bt_init(BACKTRELLIS *bt);
00028 void bt_prepare(BACKTRELLIS *bt);
00029 void bt_store(BACKTRELLIS *bt, TRELLIS_ATOM *aotm);
00030 void bt_relocate_rw(BACKTRELLIS *bt);
00031 #ifdef SP_BREAK_CURRENT_FRAME
00032 void set_terminal_words(BACKTRELLIS *bt);
00033 #endif
00034 void bt_discount_pescore(WCHMM_INFO *wchmm, BACKTRELLIS *bt, HTK_Param *param);
00035 void bt_sort_rw(BACKTRELLIS *bt);
00036 TRELLIS_ATOM *bt_binsearch_atom(BACKTRELLIS *bt, int time, WORD_ID wkey);
00037 
00038 /* factoring_sub.c */
00039 void make_iwcache_index(WCHMM_INFO *wchmm);
00040 #ifndef CATEGORY_TREE
00041 # ifdef MULTIPATH_VERSION
00042 void adjust_sc_index(WCHMM_INFO *wchmm);
00043 # endif
00044 #endif
00045 void make_successor_list(WCHMM_INFO *wchmm);
00046 #ifdef USE_NGRAM
00047 void max_successor_cache_init(WCHMM_INFO *wchmm);
00048 void max_successor_cache_free(void);
00049 LOGPROB max_successor_prob(WCHMM_INFO *wchmm, WORD_ID lastword, int node);
00050 LOGPROB *max_successor_prob_iw(WCHMM_INFO *wchmm, WORD_ID lastword);
00051 void  calc_all_unigram_factoring_values(WCHMM_INFO *wchmm);
00052 #else  /* USE_DFA */
00053 boolean can_succeed(WCHMM_INFO *wchmm, WORD_ID lastword, int node);
00054 #endif
00055 
00056 /* beam.c */
00057 void get_back_trellis_init(HTK_Param *param, WCHMM_INFO *wchmm, BACKTRELLIS *backtrellis);
00058 boolean get_back_trellis_proceed(int t, HTK_Param *param, WCHMM_INFO *wchmm, BACKTRELLIS *backtrellis
00059 #ifdef MULTIPATH_VERSION
00060                                  , boolean final
00061 #endif
00062                                  );
00063 void get_back_trellis_end(HTK_Param *param, WCHMM_INFO *wchmm, BACKTRELLIS *backtrellis);
00064 void get_back_trellis(HTK_Param *param, WCHMM_INFO *wchmm, BACKTRELLIS *backtrellis, LOGPROB *backmax);
00065 LOGPROB finalize_1st_pass(BACKTRELLIS *backtrellis, WORD_INFO *winfo, int len);
00066 #ifdef SP_BREAK_CURRENT_FRAME
00067 boolean is_sil(WORD_ID w, WORD_INFO *winfo, HTK_HMM_INFO *hmm);
00068 void finalize_segment(BACKTRELLIS *backtrellis, HTK_Param *param, int len);
00069 #endif
00070 
00071 /* outprob_style.c */
00072 #ifdef PASS1_IWCD
00073 void outprob_style_cache_init(WCHMM_INFO *wchmm);
00074 #ifdef CATEGORY_TREE
00075 CD_Set *lcdset_lookup_with_category(WCHMM_INFO *wchmm, HMM_Logical *hmm, WORD_ID category);
00076 void lcdset_register_with_category_all(WCHMM_INFO *wchmm, HTK_HMM_INFO *hmminfo, WORD_INFO *winfo, DFA_INFO *dfa);
00077 void lcdset_remove_with_category_all(WCHMM_INFO *wchmm);
00078 #endif
00079 #endif
00080 LOGPROB outprob_style(WCHMM_INFO *wchmm, int node, int last_wid, int t, HTK_Param *param);
00081 void error_missing_right_triphone(HMM_Logical *base, char *rc_name);
00082 void error_missing_left_triphone(HMM_Logical *base, char *lc_name);
00083 
00084 /* ngram_decode.c */
00085 #include "search.h"
00086 #ifdef USE_NGRAM
00087 int ngram_firstwords(NEXTWORD **nw, int peseqlen, int maxnw, WORD_INFO *winfo, BACKTRELLIS *bt);
00088 int ngram_nextwords(NODE *hypo, NEXTWORD **nw, int maxnw, NGRAM_INFO *ngram, WORD_INFO *winfo, BACKTRELLIS *bt);
00089 boolean ngram_acceptable(NODE *hypo, WORD_INFO *winfo);
00090 #else  /* USE_DFA */
00091 int dfa_firstwords(NEXTWORD **nw, int peseqlen, int maxnw, DFA_INFO *dfa);
00092 int dfa_nextwords(NODE *hypo, NEXTWORD **nw, int maxnw, DFA_INFO *dfa);
00093 boolean dfa_acceptable(NODE *hypo, DFA_INFO *dfa);
00094 boolean dfa_look_around(NEXTWORD *nword, NODE *hypo, BACKTRELLIS *bt);
00095 #endif
00096 
00097 /* search_bestfirst_main.c */
00098 void putsentence(NODE *hypo, int num);
00099 void wchmm_fbs(HTK_Param *param, BACKTRELLIS *backtrellis, LOGPROB backmax, int stacksize, int ncan, int maxhypo, int cate_bgn, int cate_num);
00100 
00101 /* search_bestfirst_v?.c */
00102 void clear_stocker();
00103 void free_node(NODE *node);
00104 NODE *cpy_node(NODE *dst, NODE *src);
00105 NODE *newnode();
00106 void malloc_wordtrellis();
00107 void free_wordtrellis();
00108 void scan_word(NODE *now, HTK_Param *param);
00109 void next_word(NODE *now, NODE *new, NEXTWORD *nword, HTK_Param *param, BACKTRELLIS *backtrellis);
00110 void start_word(NODE *new, NEXTWORD *nword, HTK_Param *param, BACKTRELLIS *backtrellis);
00111 void last_next_word(NODE *now, NODE *new, HTK_Param *param);
00112 
00113 /* wav2mfcc.c */
00114 HTK_Param *new_wav2mfcc(SP16 speech[], int speechlen);
00115 
00116 /* version.c */
00117 void put_header(FILE *stream);
00118 void put_version(FILE *stream);
00119 void put_compile_defs(FILE *stream);
00120 void put_library_defs(FILE *stream);
00121 
00122 /* wchmm.c */
00123 WCHMM_INFO *wchmm_new();
00124 void wchmm_free(WCHMM_INFO *w);
00125 void print_wchmm_info(WCHMM_INFO *wchmm);
00126 #ifdef CATEGORY_TREE
00127 void build_wchmm(WCHMM_INFO *wchmm);
00128 #endif
00129 void build_wchmm2(WCHMM_INFO *wchmm);
00130 
00131 /* wchmm_check.c */
00132 void wchmm_check_interactive(WCHMM_INFO *wchmm);
00133 void check_wchmm(WCHMM_INFO *wchmm);
00134 
00135 /* realtime.c --- callback for adin_cut() */
00136 void RealTimeInit();
00137 void RealTimePipeLinePrepare();
00138 int RealTimePipeLine(SP16 *Speech, int len);
00139 int RealTimeResume();
00140 HTK_Param *RealTimeParam(LOGPROB *backmax);
00141 void RealTimeCMNUpdate(HTK_Param *param);
00142 void RealTimeTerminate();
00143 
00144 /* word_align.c */
00145 void word_align(WORD_ID *words, short wnum, HTK_Param *param);
00146 void phoneme_align(WORD_ID *words, short wnum, HTK_Param *param);
00147 void state_align(WORD_ID *words, short wnum, HTK_Param *param);
00148 void word_rev_align(WORD_ID *revwords, short wnum, HTK_Param *param);
00149 void phoneme_rev_align(WORD_ID *revwords, short wnum, HTK_Param *param);
00150 void state_rev_align(WORD_ID *revwords, short wnum, HTK_Param *param);
00151 
00152 /* main.c */
00153 void check_specs();     /* check needed parameter */
00154 void print_setting();           /* output current setting */
00155 void print_info();              /* output current gammar info */
00156 int adin_cut_callback_store_buffer(SP16 *now, int len);
00157 /* m_usage.c */
00158 void opt_terminate();
00159 void usage();
00160 void detailed_help();
00161 /* m_options.c */
00162 char *filepath(char *filename, char *dirname);
00163 void opt_parse(int argc, char *argv[], char *cwd);
00164 void opt_release();
00165 /* m_jconf.c */
00166 void get_dirname(char *path);
00167 void config_file_parse(char *conffile);
00168 /* m_chkparam.c */
00169 void checkpath(char *filename);
00170 void check_specs();
00171 int set_beam_width(WCHMM_INFO *wchmm, int specified);
00172 void set_lm_weight();
00173 void set_lm_weight2();
00174 /* m_info.c */
00175 void print_setting();
00176 void print_info();
00177 /* m_bootup.c */
00178 void system_bootup();
00179 /* m_adin.c */
00180 void adin_initialize();
00181 /* m_fusion.c */
00182 void final_fusion();
00183 /* result_tty.c */
00184 void setup_result_tty();
00185 void ttyout_status_recready();
00186 void ttyout_status_recstart();
00187 void ttyout_status_recend();
00188 void ttyout_status_param(HTK_Param *p);
00189 /* result_msock.c */
00190 void setup_result_msock();
00191 void decode_output_selection(char *str);
00192 void msock_status_recready();
00193 void msock_status_recstart();
00194 void msock_status_recend();
00195 void msock_status_param(HTK_Param *p);
00196 
00197 /* hmm_check.c */
00198 void hmm_check(HTK_HMM_INFO *hmminfo, WORD_INFO *winfo);
00199 
00200 /* record.c */
00201 void record_sample_open();
00202 void record_sample_write(SP16 *speech, int samplenum);
00203 void record_sample_close();
00204 
00205 /* visual.c */
00206 void visual_init();
00207 void visual_show(BACKTRELLIS *bt);
00208 void visual2_init(int maxhypo);
00209 void visual2_popped(NODE *n, int popctr);
00210 void visual2_next_word(NODE *next, NODE *prev, int popctr);
00211 void visual2_best(NODE *now, WORD_INFO *winfo);
00212 
00213 /* gmm.c */
00214 void gmm_init(HTK_HMM_INFO *gmm, int prune_num);
00215 void gmm_prepare(HTK_HMM_INFO *gmm);
00216 void gmm_proceed(HTK_HMM_INFO *gmm, HTK_Param *param, int t);
00217 void gmm_end(HTK_HMM_INFO *gmm);
00218 void msock_gmm();
00219 void ttyout_gmm();
00220 boolean gmm_valid_input();
00221 
00222 /* graphout.c */
00223 #ifdef GRAPHOUT
00224 void wordgraph_free(WordGraph *wg);
00225 void put_wordgraph(WordGraph *wg);
00226 void wordgraph_dump(WordGraph *root);
00227 WordGraph *wordgraph_assign(WORD_ID wid, WORD_ID wid_left, WORD_ID wid_right, int leftframe, int rightframe, LOGPROB fscore_head, LOGPROB fscore_tail, LOGPROB gscore_head, LOGPROB gscore_tail, LOGPROB lscore, LOGPROB cmscore);
00228 boolean wordgraph_check_and_add_rightword(WordGraph *wg, WordGraph *right);
00229 boolean wordgraph_check_and_add_leftword(WordGraph *wg, WordGraph *left);
00230 void wordgraph_save(WordGraph *wg, WordGraph *right, WordGraph **root);
00231 WordGraph *wordgraph_check_merge(WordGraph *now, WordGraph **root, WORD_ID next_wid, boolean *merged_p);
00232 WordGraph *wordgraph_dup(WordGraph *wg, WordGraph **root);
00233 void wordgraph_purge_leaf_nodes(WordGraph **rootp);
00234 void wordgraph_depth_cut(WordGraph **rootp);
00235 void wordgraph_adjust_boundary(WordGraph **rootp);
00236 void wordgraph_clean(WordGraph **rootp);
00237 void wordgraph_compaction_thesame(WordGraph **rootp);
00238 void wordgraph_compaction_exacttime(WordGraph **rootp);
00239 void wordgraph_compaction_neighbor(WordGraph **rootp);
00240 void wordgraph_sort_and_annotate_id(WordGraph **rootp);
00241 void wordgraph_check_coherence(WordGraph *rootp);
00242 #endif /* GRAPHOUT */
00243 
00244 /* main.c */
00245 void main_recognition_loop();

Generated on Tue Dec 26 16:16:32 2006 for Julius by  doxygen 1.5.0