Sophie

Sophie

distrib > Fedora > 14 > i386 > by-pkgid > e9280da098bff237733732ce38a34d57 > files > 177

pocketsphinx-devel-0.7-1.fc14.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>PocketSphinx: src/libpocketsphinx/pocketsphinx_internal.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.3 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">PocketSphinx&#160;<span id="projectnumber">0.6</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('pocketsphinx__internal_8h.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<h1>src/libpocketsphinx/pocketsphinx_internal.h</h1>  </div>
</div>
<div class="contents">
<a href="pocketsphinx__internal_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4; indent-tabs-mode: nil -*- */</span>
<a name="l00002"></a>00002 <span class="comment">/* ====================================================================</span>
<a name="l00003"></a>00003 <span class="comment"> * Copyright (c) 2008 Carnegie Mellon University.  All rights</span>
<a name="l00004"></a>00004 <span class="comment"> * reserved.</span>
<a name="l00005"></a>00005 <span class="comment"> *</span>
<a name="l00006"></a>00006 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
<a name="l00007"></a>00007 <span class="comment"> * modification, are permitted provided that the following conditions</span>
<a name="l00008"></a>00008 <span class="comment"> * are met:</span>
<a name="l00009"></a>00009 <span class="comment"> *</span>
<a name="l00010"></a>00010 <span class="comment"> * 1. Redistributions of source code must retain the above copyright</span>
<a name="l00011"></a>00011 <span class="comment"> *    notice, this list of conditions and the following disclaimer. </span>
<a name="l00012"></a>00012 <span class="comment"> *</span>
<a name="l00013"></a>00013 <span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span>
<a name="l00014"></a>00014 <span class="comment"> *    notice, this list of conditions and the following disclaimer in</span>
<a name="l00015"></a>00015 <span class="comment"> *    the documentation and/or other materials provided with the</span>
<a name="l00016"></a>00016 <span class="comment"> *    distribution.</span>
<a name="l00017"></a>00017 <span class="comment"> *</span>
<a name="l00018"></a>00018 <span class="comment"> * This work was supported in part by funding from the Defense Advanced </span>
<a name="l00019"></a>00019 <span class="comment"> * Research Projects Agency and the National Science Foundation of the </span>
<a name="l00020"></a>00020 <span class="comment"> * United States of America, and the CMU Sphinx Speech Consortium.</span>
<a name="l00021"></a>00021 <span class="comment"> *</span>
<a name="l00022"></a>00022 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY CARNEGIE MELLON UNIVERSITY ``AS IS&#39;&#39; AND </span>
<a name="l00023"></a>00023 <span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, </span>
<a name="l00024"></a>00024 <span class="comment"> * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR</span>
<a name="l00025"></a>00025 <span class="comment"> * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY</span>
<a name="l00026"></a>00026 <span class="comment"> * NOR ITS EMPLOYEES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
<a name="l00027"></a>00027 <span class="comment"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT </span>
<a name="l00028"></a>00028 <span class="comment"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, </span>
<a name="l00029"></a>00029 <span class="comment"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY </span>
<a name="l00030"></a>00030 <span class="comment"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT </span>
<a name="l00031"></a>00031 <span class="comment"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE </span>
<a name="l00032"></a>00032 <span class="comment"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
<a name="l00033"></a>00033 <span class="comment"> *</span>
<a name="l00034"></a>00034 <span class="comment"> * ====================================================================</span>
<a name="l00035"></a>00035 <span class="comment"> *</span>
<a name="l00036"></a>00036 <span class="comment"> */</span>
<a name="l00037"></a>00037 
<a name="l00044"></a>00044 <span class="preprocessor">#ifndef __POCKETSPHINX_INTERNAL_H__</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#define __POCKETSPHINX_INTERNAL_H__</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span>
<a name="l00047"></a>00047 <span class="comment">/* SphinxBase headers. */</span>
<a name="l00048"></a>00048 <span class="preprocessor">#include &lt;sphinxbase/cmd_ln.h&gt;</span>
<a name="l00049"></a>00049 <span class="preprocessor">#include &lt;sphinxbase/logmath.h&gt;</span>
<a name="l00050"></a>00050 <span class="preprocessor">#include &lt;sphinxbase/fe.h&gt;</span>
<a name="l00051"></a>00051 <span class="preprocessor">#include &lt;sphinxbase/feat.h&gt;</span>
<a name="l00052"></a>00052 <span class="preprocessor">#include &lt;sphinxbase/profile.h&gt;</span>
<a name="l00053"></a>00053 
<a name="l00054"></a>00054 <span class="comment">/* Local headers. */</span>
<a name="l00055"></a>00055 <span class="preprocessor">#include &quot;pocketsphinx.h&quot;</span>
<a name="l00056"></a>00056 <span class="preprocessor">#include &quot;<a class="code" href="acmod_8h.html" title="Acoustic model structures for PocketSphinx.">acmod.h</a>&quot;</span>
<a name="l00057"></a>00057 <span class="preprocessor">#include &quot;<a class="code" href="dict_8h.html" title="Operations on dictionary.">dict.h</a>&quot;</span>
<a name="l00058"></a>00058 <span class="preprocessor">#include &quot;<a class="code" href="dict2pid_8h.html" title="Building triphones for a dictionary.">dict2pid.h</a>&quot;</span>
<a name="l00059"></a>00059 
<a name="l00063"></a><a class="code" href="pocketsphinx__internal_8h.html#adc3de4d62e46c5e6cb93d09fb61be8ee">00063</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structps__search__s.html" title="Base structure for search module.">ps_search_s</a> <a class="code" href="structps__search__s.html" title="Base structure for search module.">ps_search_t</a>;
<a name="l00064"></a>00064 
<a name="l00068"></a><a class="code" href="structps__searchfuncs__s.html">00068</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structps__searchfuncs__s.html" title="V-table for search algorithm.">ps_searchfuncs_s</a> {
<a name="l00069"></a>00069     <span class="keywordtype">char</span> <span class="keyword">const</span> *name;
<a name="l00070"></a>00070 
<a name="l00071"></a>00071     int (*start)(<a class="code" href="structps__search__s.html" title="Base structure for search module.">ps_search_t</a> *search);
<a name="l00072"></a>00072     int (*step)(<a class="code" href="structps__search__s.html" title="Base structure for search module.">ps_search_t</a> *search, <span class="keywordtype">int</span> frame_idx);
<a name="l00073"></a>00073     int (*finish)(<a class="code" href="structps__search__s.html" title="Base structure for search module.">ps_search_t</a> *search);
<a name="l00074"></a>00074     int (*reinit)(<a class="code" href="structps__search__s.html" title="Base structure for search module.">ps_search_t</a> *search, <a class="code" href="structdict__t.html" title="a structure for a dictionary.">dict_t</a> *dict, <a class="code" href="structdict2pid__t.html" title="Building composite triphone (as well as word internal triphones) with the dictionary.">dict2pid_t</a> *d2p);
<a name="l00075"></a>00075     void (*free)(<a class="code" href="structps__search__s.html" title="Base structure for search module.">ps_search_t</a> *search);
<a name="l00076"></a>00076 
<a name="l00077"></a>00077     <a class="code" href="structps__lattice__s.html" title="Word graph structure used in bestpath/nbest search.">ps_lattice_t</a> *(*lattice)(<a class="code" href="structps__search__s.html" title="Base structure for search module.">ps_search_t</a> *search);
<a name="l00078"></a>00078     <span class="keywordtype">char</span> <span class="keyword">const</span> *(*hyp)(<a class="code" href="structps__search__s.html" title="Base structure for search module.">ps_search_t</a> *search, int32 *out_score);
<a name="l00079"></a>00079     int32 (*prob)(<a class="code" href="structps__search__s.html" title="Base structure for search module.">ps_search_t</a> *search);
<a name="l00080"></a>00080     <a class="code" href="structps__seg__s.html" title="Base structure for hypothesis segmentation iterator.">ps_seg_t</a> *(*seg_iter)(<a class="code" href="structps__search__s.html" title="Base structure for search module.">ps_search_t</a> *search, int32 *out_score);
<a name="l00081"></a>00081 } <a class="code" href="pocketsphinx__internal_8h.html#a0eae078e32bd5f339792884c68aad8b3" title="V-table for search algorithm.">ps_searchfuncs_t</a>;
<a name="l00082"></a>00082 
<a name="l00086"></a><a class="code" href="structps__search__s.html">00086</a> <span class="keyword">struct </span><a class="code" href="structps__search__s.html" title="Base structure for search module.">ps_search_s</a> {
<a name="l00087"></a><a class="code" href="structps__search__s.html#aa51e88956bbe9c05359d32526180809b">00087</a>     <a class="code" href="structps__searchfuncs__s.html" title="V-table for search algorithm.">ps_searchfuncs_t</a> *<a class="code" href="structps__search__s.html#aa51e88956bbe9c05359d32526180809b" title="V-table of search methods.">vt</a>;  
<a name="l00088"></a><a class="code" href="structps__search__s.html#a2a33b7698fb237b42e007788f65cd46c">00088</a>     <a class="code" href="structps__search__s.html" title="Base structure for search module.">ps_search_t</a> *<a class="code" href="structps__search__s.html#a2a33b7698fb237b42e007788f65cd46c" title="Phoneme loop for lookahead.">pls</a>;      
<a name="l00089"></a><a class="code" href="structps__search__s.html#aa6e3e18165bbc70084a06575d5703042">00089</a>     cmd_ln_t *<a class="code" href="structps__search__s.html#aa6e3e18165bbc70084a06575d5703042" title="Configuration.">config</a>;      
<a name="l00090"></a><a class="code" href="structps__search__s.html#a0fdf6fe8c4d9c28f10c48c09517c6b91">00090</a>     <a class="code" href="structacmod__s.html" title="Acoustic model structure.">acmod_t</a> *<a class="code" href="structps__search__s.html#a0fdf6fe8c4d9c28f10c48c09517c6b91" title="Acoustic model.">acmod</a>;        
<a name="l00091"></a><a class="code" href="structps__search__s.html#a918f243fa966e72c47f697fb9e60089d">00091</a>     <a class="code" href="structdict__t.html" title="a structure for a dictionary.">dict_t</a> *<a class="code" href="structps__search__s.html#a918f243fa966e72c47f697fb9e60089d" title="Pronunciation dictionary.">dict</a>;        
<a name="l00092"></a><a class="code" href="structps__search__s.html#a81b461e7ef3a080d046039e186134a15">00092</a>     <a class="code" href="structdict2pid__t.html" title="Building composite triphone (as well as word internal triphones) with the dictionary.">dict2pid_t</a> *<a class="code" href="structps__search__s.html#a81b461e7ef3a080d046039e186134a15" title="Dictionary to senone mappings.">d2p</a>;       
<a name="l00093"></a><a class="code" href="structps__search__s.html#aa398c736a887af97e42b2a562359adc3">00093</a>     <span class="keywordtype">char</span> *<a class="code" href="structps__search__s.html#aa398c736a887af97e42b2a562359adc3" title="Current hypothesis string.">hyp_str</a>;         
<a name="l00094"></a><a class="code" href="structps__search__s.html#a897f46c55d17e817ff1364f555b31463">00094</a>     <a class="code" href="structps__lattice__s.html" title="Word graph structure used in bestpath/nbest search.">ps_lattice_t</a> *<a class="code" href="structps__search__s.html#a897f46c55d17e817ff1364f555b31463" title="Current hypothesis word graph.">dag</a>;     
<a name="l00095"></a><a class="code" href="structps__search__s.html#aa3020ef7bd4e56713dfe2fbad52e6e4f">00095</a>     <a class="code" href="structps__latlink__s.html" title="Links between DAG nodes.">ps_latlink_t</a> *<a class="code" href="structps__search__s.html#aa3020ef7bd4e56713dfe2fbad52e6e4f" title="Final link in best path.">last_link</a>; 
<a name="l00096"></a><a class="code" href="structps__search__s.html#a721a656d0e34f7604ea8c52a1bdf14ff">00096</a>     int32 <a class="code" href="structps__search__s.html#a721a656d0e34f7604ea8c52a1bdf14ff" title="Utterance posterior probability.">post</a>;            
<a name="l00097"></a><a class="code" href="structps__search__s.html#ad4d98deb905bd664ec44313ea0065b1a">00097</a>     int32 <a class="code" href="structps__search__s.html#ad4d98deb905bd664ec44313ea0065b1a" title="Number of words known to search (may be less than in the dictionary)">n_words</a>;         
<a name="l00100"></a>00100     <span class="comment">/* Magical word IDs that must exist in the dictionary: */</span>
<a name="l00101"></a><a class="code" href="structps__search__s.html#ae1a9fa33bfc851ec91ce96870714b3cc">00101</a>     int32 <a class="code" href="structps__search__s.html#ae1a9fa33bfc851ec91ce96870714b3cc" title="Start word ID.">start_wid</a>;       
<a name="l00102"></a><a class="code" href="structps__search__s.html#ab6851b4675f38ab6b3683d75521f000b">00102</a>     int32 <a class="code" href="structps__search__s.html#ab6851b4675f38ab6b3683d75521f000b" title="Silence word ID.">silence_wid</a>;     
<a name="l00103"></a><a class="code" href="structps__search__s.html#a0fb4d79f1084bdbbc0a808513f7c1ca7">00103</a>     int32 <a class="code" href="structps__search__s.html#a0fb4d79f1084bdbbc0a808513f7c1ca7" title="Finish word ID.">finish_wid</a>;      
<a name="l00104"></a>00104 };
<a name="l00105"></a>00105 
<a name="l00106"></a>00106 <span class="preprocessor">#define ps_search_base(s) ((ps_search_t *)s)</span>
<a name="l00107"></a>00107 <span class="preprocessor"></span><span class="preprocessor">#define ps_search_config(s) ps_search_base(s)-&gt;config</span>
<a name="l00108"></a>00108 <span class="preprocessor"></span><span class="preprocessor">#define ps_search_acmod(s) ps_search_base(s)-&gt;acmod</span>
<a name="l00109"></a>00109 <span class="preprocessor"></span><span class="preprocessor">#define ps_search_dict(s) ps_search_base(s)-&gt;dict</span>
<a name="l00110"></a>00110 <span class="preprocessor"></span><span class="preprocessor">#define ps_search_dict2pid(s) ps_search_base(s)-&gt;d2p</span>
<a name="l00111"></a>00111 <span class="preprocessor"></span><span class="preprocessor">#define ps_search_dag(s) ps_search_base(s)-&gt;dag</span>
<a name="l00112"></a>00112 <span class="preprocessor"></span><span class="preprocessor">#define ps_search_last_link(s) ps_search_base(s)-&gt;last_link</span>
<a name="l00113"></a>00113 <span class="preprocessor"></span><span class="preprocessor">#define ps_search_post(s) ps_search_base(s)-&gt;post</span>
<a name="l00114"></a>00114 <span class="preprocessor"></span><span class="preprocessor">#define ps_search_lookahead(s) ps_search_base(s)-&gt;pls</span>
<a name="l00115"></a>00115 <span class="preprocessor"></span><span class="preprocessor">#define ps_search_n_words(s) ps_search_base(s)-&gt;n_words</span>
<a name="l00116"></a>00116 <span class="preprocessor"></span>
<a name="l00117"></a>00117 <span class="preprocessor">#define ps_search_name(s) ps_search_base(s)-&gt;vt-&gt;name</span>
<a name="l00118"></a>00118 <span class="preprocessor"></span><span class="preprocessor">#define ps_search_start(s) (*(ps_search_base(s)-&gt;vt-&gt;start))(s)</span>
<a name="l00119"></a>00119 <span class="preprocessor"></span><span class="preprocessor">#define ps_search_step(s,i) (*(ps_search_base(s)-&gt;vt-&gt;step))(s,i)</span>
<a name="l00120"></a>00120 <span class="preprocessor"></span><span class="preprocessor">#define ps_search_finish(s) (*(ps_search_base(s)-&gt;vt-&gt;finish))(s)</span>
<a name="l00121"></a>00121 <span class="preprocessor"></span><span class="preprocessor">#define ps_search_reinit(s,d,d2p) (*(ps_search_base(s)-&gt;vt-&gt;reinit))(s,d,d2p)</span>
<a name="l00122"></a>00122 <span class="preprocessor"></span><span class="preprocessor">#define ps_search_free(s) (*(ps_search_base(s)-&gt;vt-&gt;free))(s)</span>
<a name="l00123"></a>00123 <span class="preprocessor"></span><span class="preprocessor">#define ps_search_lattice(s) (*(ps_search_base(s)-&gt;vt-&gt;lattice))(s)</span>
<a name="l00124"></a>00124 <span class="preprocessor"></span><span class="preprocessor">#define ps_search_hyp(s,sc) (*(ps_search_base(s)-&gt;vt-&gt;hyp))(s,sc)</span>
<a name="l00125"></a>00125 <span class="preprocessor"></span><span class="preprocessor">#define ps_search_prob(s) (*(ps_search_base(s)-&gt;vt-&gt;prob))(s)</span>
<a name="l00126"></a>00126 <span class="preprocessor"></span><span class="preprocessor">#define ps_search_seg_iter(s,sc) (*(ps_search_base(s)-&gt;vt-&gt;seg_iter))(s,sc)</span>
<a name="l00127"></a>00127 <span class="preprocessor"></span>
<a name="l00128"></a>00128 <span class="comment">/* For convenience... */</span>
<a name="l00129"></a>00129 <span class="preprocessor">#define ps_search_silence_wid(s) ps_search_base(s)-&gt;silence_wid</span>
<a name="l00130"></a>00130 <span class="preprocessor"></span><span class="preprocessor">#define ps_search_start_wid(s) ps_search_base(s)-&gt;start_wid</span>
<a name="l00131"></a>00131 <span class="preprocessor"></span><span class="preprocessor">#define ps_search_finish_wid(s) ps_search_base(s)-&gt;finish_wid</span>
<a name="l00132"></a>00132 <span class="preprocessor"></span>
<a name="l00136"></a>00136 <span class="keywordtype">void</span> ps_search_init(<a class="code" href="structps__search__s.html" title="Base structure for search module.">ps_search_t</a> *search, <a class="code" href="structps__searchfuncs__s.html" title="V-table for search algorithm.">ps_searchfuncs_t</a> *vt,
<a name="l00137"></a>00137                     cmd_ln_t *config, <a class="code" href="structacmod__s.html" title="Acoustic model structure.">acmod_t</a> *acmod, <a class="code" href="structdict__t.html" title="a structure for a dictionary.">dict_t</a> *dict,
<a name="l00138"></a>00138                     <a class="code" href="structdict2pid__t.html" title="Building composite triphone (as well as word internal triphones) with the dictionary.">dict2pid_t</a> *d2p);
<a name="l00139"></a>00139 
<a name="l00143"></a>00143 <span class="keywordtype">void</span> ps_search_base_reinit(<a class="code" href="structps__search__s.html" title="Base structure for search module.">ps_search_t</a> *search, <a class="code" href="structdict__t.html" title="a structure for a dictionary.">dict_t</a> *dict,
<a name="l00144"></a>00144                            <a class="code" href="structdict2pid__t.html" title="Building composite triphone (as well as word internal triphones) with the dictionary.">dict2pid_t</a> *d2p);
<a name="l00145"></a>00145 
<a name="l00149"></a>00149 <span class="keywordtype">void</span> ps_search_deinit(<a class="code" href="structps__search__s.html" title="Base structure for search module.">ps_search_t</a> *search);
<a name="l00150"></a>00150 
<a name="l00151"></a><a class="code" href="structps__segfuncs__s.html">00151</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structps__segfuncs__s.html">ps_segfuncs_s</a> {
<a name="l00152"></a>00152     <a class="code" href="structps__seg__s.html" title="Base structure for hypothesis segmentation iterator.">ps_seg_t</a> *(*seg_next)(<a class="code" href="structps__seg__s.html" title="Base structure for hypothesis segmentation iterator.">ps_seg_t</a> *seg);
<a name="l00153"></a>00153     void (*seg_free)(<a class="code" href="structps__seg__s.html" title="Base structure for hypothesis segmentation iterator.">ps_seg_t</a> *seg);
<a name="l00154"></a>00154 } <a class="code" href="structps__segfuncs__s.html">ps_segfuncs_t</a>;
<a name="l00155"></a>00155 
<a name="l00159"></a><a class="code" href="structps__seg__s.html">00159</a> <span class="keyword">struct </span><a class="code" href="structps__seg__s.html" title="Base structure for hypothesis segmentation iterator.">ps_seg_s</a> {
<a name="l00160"></a><a class="code" href="structps__seg__s.html#a510362a2281e374c839397c3e5488515">00160</a>     <a class="code" href="structps__segfuncs__s.html">ps_segfuncs_t</a> *<a class="code" href="structps__seg__s.html#a510362a2281e374c839397c3e5488515" title="V-table of seg methods.">vt</a>;     
<a name="l00161"></a><a class="code" href="structps__seg__s.html#a14168ddcb60e094dad36c7c920a79bb3">00161</a>     <a class="code" href="structps__search__s.html" title="Base structure for search module.">ps_search_t</a> *<a class="code" href="structps__seg__s.html#a14168ddcb60e094dad36c7c920a79bb3" title="Search object from whence this came.">search</a>;   
<a name="l00162"></a><a class="code" href="structps__seg__s.html#a97a0dc7db931c7e3f98d23d21ce27f04">00162</a>     <span class="keywordtype">char</span> <span class="keyword">const</span> *<a class="code" href="structps__seg__s.html#a97a0dc7db931c7e3f98d23d21ce27f04" title="Word string (pointer into dictionary hash)">word</a>;      
<a name="l00163"></a><a class="code" href="structps__seg__s.html#ac292e31304906addf3d49f1473df8ead">00163</a>     int16 <a class="code" href="structps__seg__s.html#ac292e31304906addf3d49f1473df8ead" title="Start frame.">sf</a>;                
<a name="l00164"></a><a class="code" href="structps__seg__s.html#a2043ca87b07df0cd80d0fb65c3521c04">00164</a>     int16 <a class="code" href="structps__seg__s.html#a2043ca87b07df0cd80d0fb65c3521c04" title="End frame.">ef</a>;                
<a name="l00165"></a><a class="code" href="structps__seg__s.html#a6f7706ec4c0d0ec8ecafaf0f29f41f4b">00165</a>     int32 <a class="code" href="structps__seg__s.html#a6f7706ec4c0d0ec8ecafaf0f29f41f4b" title="Acoustic score.">ascr</a>;            
<a name="l00166"></a><a class="code" href="structps__seg__s.html#a69e605f422eeed1a9c67437e8ddd8b08">00166</a>     int32 <a class="code" href="structps__seg__s.html#a69e605f422eeed1a9c67437e8ddd8b08" title="Language model score.">lscr</a>;            
<a name="l00167"></a><a class="code" href="structps__seg__s.html#ae683244d90d0a5339930b47757778432">00167</a>     int32 <a class="code" href="structps__seg__s.html#ae683244d90d0a5339930b47757778432" title="Log posterior probability.">prob</a>;            
<a name="l00168"></a>00168     <span class="comment">/* This doesn&#39;t need to be 32 bits, so once the scores above are</span>
<a name="l00169"></a>00169 <span class="comment">     * reduced to 16 bits (or less!), this will be too. */</span>
<a name="l00170"></a><a class="code" href="structps__seg__s.html#a4d86c21f1ed2dc3eb3b1b1b37ce9bb48">00170</a>     int32 <a class="code" href="structps__seg__s.html#a4d86c21f1ed2dc3eb3b1b1b37ce9bb48" title="Language model backoff.">lback</a>;           
<a name="l00171"></a>00171     <span class="comment">/* Not sure if this should be here at all. */</span>
<a name="l00172"></a><a class="code" href="structps__seg__s.html#a2249c012b83c902f4f8ed8d98ded7d20">00172</a>     float32 <a class="code" href="structps__seg__s.html#a2249c012b83c902f4f8ed8d98ded7d20" title="Language weight factor (for second-pass searches)">lwf</a>;           
<a name="l00173"></a>00173 };
<a name="l00174"></a>00174 
<a name="l00175"></a>00175 <span class="preprocessor">#define ps_search_seg_next(seg) (*(seg-&gt;vt-&gt;seg_next))(seg)</span>
<a name="l00176"></a>00176 <span class="preprocessor"></span><span class="preprocessor">#define ps_search_seg_free(s) (*(seg-&gt;vt-&gt;seg_free))(seg)</span>
<a name="l00177"></a>00177 <span class="preprocessor"></span>
<a name="l00178"></a>00178 
<a name="l00182"></a><a class="code" href="structps__decoder__s.html">00182</a> <span class="keyword">struct </span><a class="code" href="structps__decoder__s.html" title="Decoder object.">ps_decoder_s</a> {
<a name="l00183"></a>00183     <span class="comment">/* Model parameters and such. */</span>
<a name="l00184"></a><a class="code" href="structps__decoder__s.html#a0565ed97b32408bd05c8104f020cef05">00184</a>     cmd_ln_t *<a class="code" href="structps__decoder__s.html#a0565ed97b32408bd05c8104f020cef05" title="Configuration.">config</a>;  
<a name="l00185"></a><a class="code" href="structps__decoder__s.html#aa5ab90180288b6c9039eb86b496f76aa">00185</a>     <span class="keywordtype">int</span> <a class="code" href="structps__decoder__s.html#aa5ab90180288b6c9039eb86b496f76aa" title="Reference count.">refcount</a>;      
<a name="l00187"></a>00187     <span class="comment">/* Basic units of computation. */</span>
<a name="l00188"></a><a class="code" href="structps__decoder__s.html#af834d2bc1d44c1d9ef607b025413a0b8">00188</a>     <a class="code" href="structacmod__s.html" title="Acoustic model structure.">acmod_t</a> *<a class="code" href="structps__decoder__s.html#af834d2bc1d44c1d9ef607b025413a0b8" title="Acoustic model.">acmod</a>;    
<a name="l00189"></a><a class="code" href="structps__decoder__s.html#aef6228c17907cc1d0cef835b238b5d91">00189</a>     <a class="code" href="structdict__t.html" title="a structure for a dictionary.">dict_t</a> *<a class="code" href="structps__decoder__s.html#aef6228c17907cc1d0cef835b238b5d91" title="Pronunciation dictionary.">dict</a>;    
<a name="l00190"></a><a class="code" href="structps__decoder__s.html#ae6515cbc261686f3f3bbd95719f79793">00190</a>     <a class="code" href="structdict2pid__t.html" title="Building composite triphone (as well as word internal triphones) with the dictionary.">dict2pid_t</a> *<a class="code" href="structps__decoder__s.html#ae6515cbc261686f3f3bbd95719f79793" title="Dictionary to senone mapping.">d2p</a>;   
<a name="l00191"></a><a class="code" href="structps__decoder__s.html#abd17fe329f2fb219c5a534f3217c5b95">00191</a>     logmath_t *<a class="code" href="structps__decoder__s.html#abd17fe329f2fb219c5a534f3217c5b95" title="Log math computation.">lmath</a>;  
<a name="l00193"></a>00193     <span class="comment">/* Search modules. */</span>
<a name="l00194"></a><a class="code" href="structps__decoder__s.html#aa04a75334c8bc39c6e1dc4b1de1d760f">00194</a>     glist_t <a class="code" href="structps__decoder__s.html#aa04a75334c8bc39c6e1dc4b1de1d760f" title="List of search modules.">searches</a>;        
<a name="l00195"></a>00195     <span class="comment">/* TODO: Convert this to a stack of searches each with their own</span>
<a name="l00196"></a>00196 <span class="comment">     * lookahead value. */</span>
<a name="l00197"></a><a class="code" href="structps__decoder__s.html#ad337270efc93613cf8dd7594f6515799">00197</a>     <a class="code" href="structps__search__s.html" title="Base structure for search module.">ps_search_t</a> *<a class="code" href="structps__decoder__s.html#ad337270efc93613cf8dd7594f6515799" title="Currently active search module.">search</a>;     
<a name="l00198"></a><a class="code" href="structps__decoder__s.html#a0c6d141d7a71a1287be00a1ebcc7643d">00198</a>     <a class="code" href="structps__search__s.html" title="Base structure for search module.">ps_search_t</a> *<a class="code" href="structps__decoder__s.html#a0c6d141d7a71a1287be00a1ebcc7643d" title="Phone loop search for lookahead.">phone_loop</a>; 
<a name="l00199"></a><a class="code" href="structps__decoder__s.html#a0f0a6681ffd98af789f6bed556c814e4">00199</a>     <span class="keywordtype">int</span> <a class="code" href="structps__decoder__s.html#a0f0a6681ffd98af789f6bed556c814e4" title="Window size for phoneme lookahead.">pl_window</a>;           
<a name="l00201"></a>00201     <span class="comment">/* Utterance-processing related stuff. */</span>
<a name="l00202"></a><a class="code" href="structps__decoder__s.html#a0f597370dd162c2799efe216c9b991fc">00202</a>     uint32 <a class="code" href="structps__decoder__s.html#a0f597370dd162c2799efe216c9b991fc" title="Utterance counter.">uttno</a>;       
<a name="l00203"></a><a class="code" href="structps__decoder__s.html#a0c21a99a0cb1e71cf7811f99cc17c105">00203</a>     <span class="keywordtype">char</span> *<a class="code" href="structps__decoder__s.html#a0c21a99a0cb1e71cf7811f99cc17c105" title="Utterance ID for current utterance.">uttid</a>;        
<a name="l00204"></a><a class="code" href="structps__decoder__s.html#ab42d1d1e300d2a6df5dd3cd796a27d43">00204</a>     ptmr_t <a class="code" href="structps__decoder__s.html#ab42d1d1e300d2a6df5dd3cd796a27d43" title="Performance counter for all of decoding.">perf</a>;        
<a name="l00205"></a><a class="code" href="structps__decoder__s.html#a2886b321c576c7def449ebb2f37899fd">00205</a>     uint32 <a class="code" href="structps__decoder__s.html#a2886b321c576c7def449ebb2f37899fd" title="Total number of frames processed.">n_frame</a>;     
<a name="l00206"></a><a class="code" href="structps__decoder__s.html#a8bb5ef8791798b8dd9bc82b1ec016663">00206</a>     <span class="keywordtype">char</span> <span class="keyword">const</span> *<a class="code" href="structps__decoder__s.html#a8bb5ef8791798b8dd9bc82b1ec016663" title="Log directory for MFCC files.">mfclogdir</a>; 
<a name="l00207"></a><a class="code" href="structps__decoder__s.html#aa2610c52a9267ee18ca095169bf34bfd">00207</a>     <span class="keywordtype">char</span> <span class="keyword">const</span> *<a class="code" href="structps__decoder__s.html#aa2610c52a9267ee18ca095169bf34bfd" title="Log directory for audio files.">rawlogdir</a>; 
<a name="l00208"></a><a class="code" href="structps__decoder__s.html#a0ed3476113fe3d63b13ac5e8da3f3b4f">00208</a>     <span class="keywordtype">char</span> <span class="keyword">const</span> *<a class="code" href="structps__decoder__s.html#a0ed3476113fe3d63b13ac5e8da3f3b4f" title="Log directory for senone score files.">senlogdir</a>; 
<a name="l00209"></a>00209 };
<a name="l00210"></a>00210 
<a name="l00211"></a>00211 <span class="preprocessor">#endif </span><span class="comment">/* __POCKETSPHINX_INTERNAL_H__ */</span>
</pre></div></div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="pocketsphinx__internal_8h.html">pocketsphinx_internal.h</a>      </li>
      <li class="footer">Generated on Wed Apr 20 2011 for PocketSphinx by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </li>
    </ul>
  </div>

</body>
</html>