Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > e9280da098bff237733732ce38a34d57 > files > 141

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/mdef.h File Reference</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('mdef_8h.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Defines</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<h1>src/libpocketsphinx/mdef.h File Reference</h1>  </div>
</div>
<div class="contents">

<p>Model definition.  
<a href="#_details">More...</a></p>
<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br/>
<code>#include &lt;sphinxbase/hash_table.h&gt;</code><br/>
</div>
<p><a href="mdef_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structciphone__t.html">ciphone_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">CI phone information.  <a href="structciphone__t.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structphone__t.html">phone_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Triphone information, including base phones as a subset.  <a href="structphone__t.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structph__rc__s.html">ph_rc_s</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structph__lc__s.html">ph_lc_s</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmdef__t.html">mdef_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The main model definition structure.  <a href="structmdef__t.html#_details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac271413770c3e95b993b856967b61487"></a><!-- doxytag: member="mdef.h::N_WORD_POSN" ref="ac271413770c3e95b993b856967b61487" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mdef_8h.html#ac271413770c3e95b993b856967b61487">N_WORD_POSN</a>&#160;&#160;&#160;4</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">total # of word positions (excluding undefined) <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a89ef0442ded2ff90176ba6d02563923d"></a><!-- doxytag: member="mdef.h::WPOS_NAME" ref="a89ef0442ded2ff90176ba6d02563923d" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mdef_8h.html#a89ef0442ded2ff90176ba6d02563923d">WPOS_NAME</a>&#160;&#160;&#160;&quot;ibesu&quot;</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Printable code for each word position above. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a87b279af2566a60666495e16d09a8aee"></a><!-- doxytag: member="mdef.h::S3_SILENCE_CIPHONE" ref="a87b279af2566a60666495e16d09a8aee" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mdef_8h.html#a87b279af2566a60666495e16d09a8aee">S3_SILENCE_CIPHONE</a>&#160;&#160;&#160;&quot;SIL&quot;</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Hard-coded silence CI phone name. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa75eb2e79e7b9a3c8f4ab3722b997b83"></a><!-- doxytag: member="mdef.h::mdef_is_fillerphone" ref="aa75eb2e79e7b9a3c8f4ab3722b997b83" args="(m, p)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mdef_8h.html#aa75eb2e79e7b9a3c8f4ab3722b997b83">mdef_is_fillerphone</a>(m, p)&#160;&#160;&#160;((m)-&gt;ciphone[p].filler)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Access macros; not meant for arbitrary use. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a93926cad5a753339ed8e3dd65be33ee7"></a><!-- doxytag: member="mdef.h::mdef_n_ciphone" ref="a93926cad5a753339ed8e3dd65be33ee7" args="(m)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>mdef_n_ciphone</b>(m)&#160;&#160;&#160;((m)-&gt;n_ciphone)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a39673ae552a7b3f777e7891b19eef91c"></a><!-- doxytag: member="mdef.h::mdef_n_phone" ref="a39673ae552a7b3f777e7891b19eef91c" args="(m)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>mdef_n_phone</b>(m)&#160;&#160;&#160;((m)-&gt;n_phone)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab0ff23744c11412bf5c8f392b1dd3ff3"></a><!-- doxytag: member="mdef.h::mdef_n_sseq" ref="ab0ff23744c11412bf5c8f392b1dd3ff3" args="(m)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>mdef_n_sseq</b>(m)&#160;&#160;&#160;((m)-&gt;n_sseq)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac333147a77ef083afe5db31af9c743ca"></a><!-- doxytag: member="mdef.h::mdef_n_emit_state" ref="ac333147a77ef083afe5db31af9c743ca" args="(m)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>mdef_n_emit_state</b>(m)&#160;&#160;&#160;((m)-&gt;n_emit_state)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6dc091ff16b4198af78583a243354c3d"></a><!-- doxytag: member="mdef.h::mdef_n_sen" ref="a6dc091ff16b4198af78583a243354c3d" args="(m)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>mdef_n_sen</b>(m)&#160;&#160;&#160;((m)-&gt;n_sen)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab9e86b3579c2d7ea0836e21afab519c4"></a><!-- doxytag: member="mdef.h::mdef_n_tmat" ref="ab9e86b3579c2d7ea0836e21afab519c4" args="(m)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>mdef_n_tmat</b>(m)&#160;&#160;&#160;((m)-&gt;n_tmat)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb0000ac304bec78f21cb64be7083530"></a><!-- doxytag: member="mdef.h::mdef_pid2ssid" ref="abb0000ac304bec78f21cb64be7083530" args="(m, p)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>mdef_pid2ssid</b>(m, p)&#160;&#160;&#160;((m)-&gt;phone[p].ssid)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aacb8b60ea0e4a8648be4cc3b196dff1c"></a><!-- doxytag: member="mdef.h::mdef_pid2tmatid" ref="aacb8b60ea0e4a8648be4cc3b196dff1c" args="(m, p)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>mdef_pid2tmatid</b>(m, p)&#160;&#160;&#160;((m)-&gt;phone[p].tmat)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a918da7f9bc2808c57ed5ed916a00e375"></a><!-- doxytag: member="mdef.h::mdef_silphone" ref="a918da7f9bc2808c57ed5ed916a00e375" args="(m)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>mdef_silphone</b>(m)&#160;&#160;&#160;((m)-&gt;sil)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeb116821c5048af4af53565252aa9e8f"></a><!-- doxytag: member="mdef.h::mdef_sen2cimap" ref="aeb116821c5048af4af53565252aa9e8f" args="(m)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>mdef_sen2cimap</b>(m)&#160;&#160;&#160;((m)-&gt;sen2cimap)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8f05f4b2bd264a9e3be296e6f3fa40df"></a><!-- doxytag: member="mdef.h::mdef_sseq2sen" ref="a8f05f4b2bd264a9e3be296e6f3fa40df" args="(m, ss, pos)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>mdef_sseq2sen</b>(m, ss, pos)&#160;&#160;&#160;((m)-&gt;sseq[ss][pos])</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4d873373adc8f8eac706eaa033d6fc0e"></a><!-- doxytag: member="mdef.h::mdef_pid2ci" ref="a4d873373adc8f8eac706eaa033d6fc0e" args="(m, p)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>mdef_pid2ci</b>(m, p)&#160;&#160;&#160;((m)-&gt;phone[p].ci)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8e2bac0eaa3e3a89c4482bf2332728e1"></a><!-- doxytag: member="mdef.h::mdef_cd2cisen" ref="a8e2bac0eaa3e3a89c4482bf2332728e1" args="(m)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>mdef_cd2cisen</b>(m)&#160;&#160;&#160;((m)-&gt;cd2cisen)</td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaed9796f885acce1a3f7b7fbb412fe0e"></a><!-- doxytag: member="mdef.h::ph_rc_t" ref="aaed9796f885acce1a3f7b7fbb412fe0e" args="" -->
typedef struct <a class="el" href="structph__rc__s.html">ph_rc_s</a>&#160;</td><td class="memItemRight" valign="bottom"><b>ph_rc_t</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aab5ed563060c703a3dec9349c6fb1b17"></a><!-- doxytag: member="mdef.h::ph_lc_t" ref="aab5ed563060c703a3dec9349c6fb1b17" args="" -->
typedef struct <a class="el" href="structph__lc__s.html">ph_lc_s</a>&#160;</td><td class="memItemRight" valign="bottom"><b>ph_lc_t</b></td></tr>
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mdef_8h.html#a71b2bcae7b6e79bad584cc5500b20e8f">word_posn_t</a> { <br/>
&#160;&#160;<a class="el" href="mdef_8h.html#a71b2bcae7b6e79bad584cc5500b20e8fa034bedf5019d94429746634bc0d37464">WORD_POSN_INTERNAL</a> =  0, 
<a class="el" href="mdef_8h.html#a71b2bcae7b6e79bad584cc5500b20e8fa8ca058a8d25d38d074e028460833c8a9">WORD_POSN_BEGIN</a> =  1, 
<a class="el" href="mdef_8h.html#a71b2bcae7b6e79bad584cc5500b20e8fa85b62e42f20399f933b33099290989c3">WORD_POSN_END</a> =  2, 
<a class="el" href="mdef_8h.html#a71b2bcae7b6e79bad584cc5500b20e8fa34f808e43d8f6e9312054f34a8bd74ac">WORD_POSN_SINGLE</a> =  3, 
<br/>
&#160;&#160;<a class="el" href="mdef_8h.html#a71b2bcae7b6e79bad584cc5500b20e8fa6b0544f6dcc29f8f4f46de22f28ff9b6">WORD_POSN_UNDEFINED</a> =  4
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>Union of different type of word position. </p>
 <a href="mdef_8h.html#a71b2bcae7b6e79bad584cc5500b20e8f">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmdef__t.html">mdef_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mdef_8h.html#a8f2fb119373324175bf82ad2c403e2be">mdef_init</a> (char *mdeffile, int breport)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the phone structure from the given model definition file.  <a href="#a8f2fb119373324175bf82ad2c403e2be"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mdef_8h.html#aa2c122222a6c9826f16df4644eb6cfd1">mdef_ciphone_id</a> (<a class="el" href="structmdef__t.html">mdef_t</a> *m, char *ciphone)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the ciphone id given a string name.  <a href="#aa2c122222a6c9826f16df4644eb6cfd1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mdef_8h.html#a445bee881e1af552b1bc33c3d4d3e6f3">mdef_ciphone_str</a> (<a class="el" href="structmdef__t.html">mdef_t</a> *m, int ci)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the phone string given the ci phone id.  <a href="#a445bee881e1af552b1bc33c3d4d3e6f3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mdef_8h.html#a9e3f89c3fe09a235beafe056be18c6ce">mdef_is_ciphone</a> (<a class="el" href="structmdef__t.html">mdef_t</a> *m, int p)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Decide whether the phone is ci phone.  <a href="#a9e3f89c3fe09a235beafe056be18c6ce"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mdef_8h.html#ab6d74ce89ba1f174789a8c5a4add9946">mdef_is_cisenone</a> (<a class="el" href="structmdef__t.html">mdef_t</a> *m, int s)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Decide whether the senone is a senone for a ci phone, or a ci senone.  <a href="#ab6d74ce89ba1f174789a8c5a4add9946"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mdef_8h.html#a34cafc86f7db4e18389556c8eaca5f02">mdef_phone_id</a> (<a class="el" href="structmdef__t.html">mdef_t</a> *m, int b, int l, int r, <a class="el" href="mdef_8h.html#a71b2bcae7b6e79bad584cc5500b20e8f">word_posn_t</a> pos)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Decide the phone id given the left, right and base phones.  <a href="#a34cafc86f7db4e18389556c8eaca5f02"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mdef_8h.html#a2e23174c9285fbb98f60670644c89712">mdef_phone_str</a> (<a class="el" href="structmdef__t.html">mdef_t</a> *m, int pid, char *buf)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a phone string for the given phone (base or triphone) id in the given buf.  <a href="#a2e23174c9285fbb98f60670644c89712"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mdef_8h.html#a49424df076ebbabc5c8e34bd9db54616">mdef_hmm_cmp</a> (<a class="el" href="structmdef__t.html">mdef_t</a> *m, int p1, int p2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare the underlying HMMs for two given phones (i.e., compare the two transition matrix IDs and the individual state(senone) IDs).  <a href="#a49424df076ebbabc5c8e34bd9db54616"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mdef_8h.html#ad6748527975b2653049b80dabfaa69f1">mdef_report</a> (<a class="el" href="structmdef__t.html">mdef_t</a> *m)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Report the model definition's parameters.  <a href="#ad6748527975b2653049b80dabfaa69f1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mdef_8h.html#a237854c5a842ee89a099209014a68eba">mdef_free_recursive_lc</a> (<a class="el" href="structph__lc__t.html">ph_lc_t</a> *lc)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">RAH, For freeing memory.  <a href="#a237854c5a842ee89a099209014a68eba"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mdef_8h.html#ab8db39894feff4c891bc062eae5ea6dd">mdef_free_recursive_rc</a> (<a class="el" href="structph__rc__t.html">ph_rc_t</a> *rc)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mdef_8h.html#a38d2a4b150ecb10a3c80f3504cfdc63d">mdef_free</a> (<a class="el" href="structmdef__t.html">mdef_t</a> *mdef)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Free an <a class="el" href="structmdef__t.html" title="The main model definition structure.">mdef_t</a>.  <a href="#a38d2a4b150ecb10a3c80f3504cfdc63d"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Model definition. </p>

<p>Definition in file <a class="el" href="mdef_8h_source.html">mdef.h</a>.</p>
</div><hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="a71b2bcae7b6e79bad584cc5500b20e8f"></a><!-- doxytag: member="mdef.h::word_posn_t" ref="a71b2bcae7b6e79bad584cc5500b20e8f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="mdef_8h.html#a71b2bcae7b6e79bad584cc5500b20e8f">word_posn_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Union of different type of word position. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a71b2bcae7b6e79bad584cc5500b20e8fa034bedf5019d94429746634bc0d37464"></a><!-- doxytag: member="WORD_POSN_INTERNAL" ref="a71b2bcae7b6e79bad584cc5500b20e8fa034bedf5019d94429746634bc0d37464" args="" -->WORD_POSN_INTERNAL</em>&nbsp;</td><td>
<p>Internal phone of word. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a71b2bcae7b6e79bad584cc5500b20e8fa8ca058a8d25d38d074e028460833c8a9"></a><!-- doxytag: member="WORD_POSN_BEGIN" ref="a71b2bcae7b6e79bad584cc5500b20e8fa8ca058a8d25d38d074e028460833c8a9" args="" -->WORD_POSN_BEGIN</em>&nbsp;</td><td>
<p>Beginning phone of word. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a71b2bcae7b6e79bad584cc5500b20e8fa85b62e42f20399f933b33099290989c3"></a><!-- doxytag: member="WORD_POSN_END" ref="a71b2bcae7b6e79bad584cc5500b20e8fa85b62e42f20399f933b33099290989c3" args="" -->WORD_POSN_END</em>&nbsp;</td><td>
<p>Ending phone of word. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a71b2bcae7b6e79bad584cc5500b20e8fa34f808e43d8f6e9312054f34a8bd74ac"></a><!-- doxytag: member="WORD_POSN_SINGLE" ref="a71b2bcae7b6e79bad584cc5500b20e8fa34f808e43d8f6e9312054f34a8bd74ac" args="" -->WORD_POSN_SINGLE</em>&nbsp;</td><td>
<p>Single phone word (i.e. </p>
<p>begin &amp; end) </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a71b2bcae7b6e79bad584cc5500b20e8fa6b0544f6dcc29f8f4f46de22f28ff9b6"></a><!-- doxytag: member="WORD_POSN_UNDEFINED" ref="a71b2bcae7b6e79bad584cc5500b20e8fa6b0544f6dcc29f8f4f46de22f28ff9b6" args="" -->WORD_POSN_UNDEFINED</em>&nbsp;</td><td>
<p>Undefined value, used for initial conditions, etc. </p>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="mdef_8h_source.html#l00075">75</a> of file <a class="el" href="mdef_8h_source.html">mdef.h</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="aa2c122222a6c9826f16df4644eb6cfd1"></a><!-- doxytag: member="mdef.h::mdef_ciphone_id" ref="aa2c122222a6c9826f16df4644eb6cfd1" args="(mdef_t *m, char *ciphone)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mdef_ciphone_id </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmdef__t.html">mdef_t</a> *&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>ciphone</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the ciphone id given a string name. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>ciphone id for the given ciphone string name </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">m</td><td>In: Model structure being queried </td></tr>
    <tr><td class="paramname">ciphone</td><td>In: ciphone for which id wanted </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="mdef_8c_source.html#l00176">176</a> of file <a class="el" href="mdef_8c_source.html">mdef.c</a>.</p>

<p>References <a class="el" href="mdef_8h_source.html#l00147">mdef_t::ciphone_ht</a>.</p>

</div>
</div>
<a class="anchor" id="a445bee881e1af552b1bc33c3d4d3e6f3"></a><!-- doxytag: member="mdef.h::mdef_ciphone_str" ref="a445bee881e1af552b1bc33c3d4d3e6f3" args="(mdef_t *m, int ci)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* mdef_ciphone_str </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmdef__t.html">mdef_t</a> *&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>ci</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the phone string given the ci phone id. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>: READ-ONLY ciphone string name for the given ciphone id </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">m</td><td>In: Model structure being queried </td></tr>
    <tr><td class="paramname">ci</td><td>In: ciphone id for which name wanted </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="mdef_8c_source.html#l00186">186</a> of file <a class="el" href="mdef_8c_source.html">mdef.c</a>.</p>

<p>References <a class="el" href="mdef_8h_source.html#l00148">mdef_t::ciphone</a>, and <a class="el" href="mdef_8h_source.html#l00091">ciphone_t::name</a>.</p>

</div>
</div>
<a class="anchor" id="a38d2a4b150ecb10a3c80f3504cfdc63d"></a><!-- doxytag: member="mdef.h::mdef_free" ref="a38d2a4b150ecb10a3c80f3504cfdc63d" args="(mdef_t *mdef)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mdef_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmdef__t.html">mdef_t</a> *&#160;</td>
          <td class="paramname"><em>mdef</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Free an <a class="el" href="structmdef__t.html" title="The main model definition structure.">mdef_t</a>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">mdef</td><td>In : The model definition </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="mdef_8c_source.html#l00745">745</a> of file <a class="el" href="mdef_8c_source.html">mdef.c</a>.</p>

<p>References <a class="el" href="mdef_8h_source.html#l00154">mdef_t::cd2cisen</a>, <a class="el" href="mdef_8h_source.html#l00148">mdef_t::ciphone</a>, <a class="el" href="mdef_8h_source.html#l00147">mdef_t::ciphone_ht</a>, <a class="el" href="mdef_8h_source.html#l00140">mdef_t::n_ciphone</a>, <a class="el" href="mdef_8h_source.html#l00082">N_WORD_POSN</a>, <a class="el" href="mdef_8h_source.html#l00091">ciphone_t::name</a>, <a class="el" href="mdef_8h_source.html#l00149">mdef_t::phone</a>, <a class="el" href="mdef_8h_source.html#l00157">mdef_t::sen2cimap</a>, <a class="el" href="mdef_8h_source.html#l00150">mdef_t::sseq</a>, <a class="el" href="mdef_8h_source.html#l00167">mdef_t::st2senmap</a>, and <a class="el" href="mdef_8h_source.html#l00161">mdef_t::wpos_ci_lclist</a>.</p>

</div>
</div>
<a class="anchor" id="a237854c5a842ee89a099209014a68eba"></a><!-- doxytag: member="mdef.h::mdef_free_recursive_lc" ref="a237854c5a842ee89a099209014a68eba" args="(ph_lc_t *lc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mdef_free_recursive_lc </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structph__lc__t.html">ph_lc_t</a> *&#160;</td>
          <td class="paramname"><em>lc</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>RAH, For freeing memory. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">lc</td><td>In: A list of left context </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="mdef_8c_source.html#l00713">713</a> of file <a class="el" href="mdef_8c_source.html">mdef.c</a>.</p>

</div>
</div>
<a class="anchor" id="ab8db39894feff4c891bc062eae5ea6dd"></a><!-- doxytag: member="mdef.h::mdef_free_recursive_rc" ref="ab8db39894feff4c891bc062eae5ea6dd" args="(ph_rc_t *rc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mdef_free_recursive_rc </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structph__rc__t.html">ph_rc_t</a> *&#160;</td>
          <td class="paramname"><em>rc</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">rc</td><td>In: A list of right context </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="mdef_8c_source.html#l00728">728</a> of file <a class="el" href="mdef_8c_source.html">mdef.c</a>.</p>

</div>
</div>
<a class="anchor" id="a49424df076ebbabc5c8e34bd9db54616"></a><!-- doxytag: member="mdef.h::mdef_hmm_cmp" ref="a49424df076ebbabc5c8e34bd9db54616" args="(mdef_t *m, int p1, int p2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mdef_hmm_cmp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmdef__t.html">mdef_t</a> *&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>p1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>p2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compare the underlying HMMs for two given phones (i.e., compare the two transition matrix IDs and the individual state(senone) IDs). </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 iff the HMMs are identical, -1 otherwise. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">m</td><td>In: Model being queried </td></tr>
    <tr><td class="paramname">p1</td><td>In: One of the two triphones being compared </td></tr>
    <tr><td class="paramname">p2</td><td>In: One of the two triphones being compared </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8f2fb119373324175bf82ad2c403e2be"></a><!-- doxytag: member="mdef.h::mdef_init" ref="a8f2fb119373324175bf82ad2c403e2be" args="(char *mdeffile, int breport)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmdef__t.html">mdef_t</a>* mdef_init </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>mdeffile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>breport</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initialize the phone structure from the given model definition file. </p>
<p>It should be treated as a READ-ONLY structure. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to the phone structure created. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">mdeffile</td><td>In: Model definition file </td></tr>
    <tr><td class="paramname">breport</td><td>In: whether to report the progress or not </td></tr>
  </table>
  </dd>
</dl>

<p>Referenced by <a class="el" href="bin__mdef_8c_source.html#l00066">bin_mdef_read_text()</a>.</p>

</div>
</div>
<a class="anchor" id="a9e3f89c3fe09a235beafe056be18c6ce"></a><!-- doxytag: member="mdef.h::mdef_is_ciphone" ref="a9e3f89c3fe09a235beafe056be18c6ce" args="(mdef_t *m, int p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mdef_is_ciphone </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmdef__t.html">mdef_t</a> *&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>p</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Decide whether the phone is ci phone. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>1 if given triphone argument is a ciphone, 0 if not, -1 if error </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">m</td><td>In: Model structure being queried </td></tr>
    <tr><td class="paramname">p</td><td>In: triphone id being queried </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="mdef_8c_source.html#l00251">251</a> of file <a class="el" href="mdef_8c_source.html">mdef.c</a>.</p>

</div>
</div>
<a class="anchor" id="ab6d74ce89ba1f174789a8c5a4add9946"></a><!-- doxytag: member="mdef.h::mdef_is_cisenone" ref="ab6d74ce89ba1f174789a8c5a4add9946" args="(mdef_t *m, int s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mdef_is_cisenone </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmdef__t.html">mdef_t</a> *&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>s</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Decide whether the senone is a senone for a ci phone, or a ci senone. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>1 if a given senone is a ci senone </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">m</td><td>In: Model structure being queried </td></tr>
    <tr><td class="paramname">s</td><td>In: senone id being queried </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="mdef_8c_source.html#l00260">260</a> of file <a class="el" href="mdef_8c_source.html">mdef.c</a>.</p>

<p>References <a class="el" href="mdef_8h_source.html#l00154">mdef_t::cd2cisen</a>, and <a class="el" href="mdef_8h_source.html#l00144">mdef_t::n_sen</a>.</p>

</div>
</div>
<a class="anchor" id="a34cafc86f7db4e18389556c8eaca5f02"></a><!-- doxytag: member="mdef.h::mdef_phone_id" ref="a34cafc86f7db4e18389556c8eaca5f02" args="(mdef_t *m, int b, int l, int r, word_posn_t pos)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mdef_phone_id </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmdef__t.html">mdef_t</a> *&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>l</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="mdef_8h.html#a71b2bcae7b6e79bad584cc5500b20e8f">word_posn_t</a>&#160;</td>
          <td class="paramname"><em>pos</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Decide the phone id given the left, right and base phones. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>: phone id for the given constituents if found, else BAD_S3PID </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">m</td><td>In: Model structure being queried </td></tr>
    <tr><td class="paramname">b</td><td>In: base ciphone id </td></tr>
    <tr><td class="paramname">l</td><td>In: left context ciphone id </td></tr>
    <tr><td class="paramname">r</td><td>In: right context ciphone id </td></tr>
    <tr><td class="paramname">pos</td><td>In: Word position </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="mdef_8c_source.html#l00219">219</a> of file <a class="el" href="mdef_8c_source.html">mdef.c</a>.</p>

<p>References <a class="el" href="mdef_8h_source.html#l00148">mdef_t::ciphone</a>, <a class="el" href="mdef_8h_source.html#l00092">ciphone_t::filler</a>, <a class="el" href="mdef_8h_source.html#l00082">N_WORD_POSN</a>, <a class="el" href="mdef_8h_source.html#l00159">mdef_t::sil</a>, and <a class="el" href="mdef_8h_source.html#l00161">mdef_t::wpos_ci_lclist</a>.</p>

</div>
</div>
<a class="anchor" id="a2e23174c9285fbb98f60670644c89712"></a><!-- doxytag: member="mdef.h::mdef_phone_str" ref="a2e23174c9285fbb98f60670644c89712" args="(mdef_t *m, int pid, char *buf)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mdef_phone_str </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmdef__t.html">mdef_t</a> *&#160;</td>
          <td class="paramname"><em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>pid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a phone string for the given phone (base or triphone) id in the given buf. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if successful, -1 if error. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">m</td><td>In: Model structure being queried </td></tr>
    <tr><td class="paramname">pid</td><td>In: phone id being queried </td></tr>
    <tr><td class="paramname">buf</td><td>Out: On return, buf has the string </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="mdef_8c_source.html#l00196">196</a> of file <a class="el" href="mdef_8c_source.html">mdef.c</a>.</p>

<p>References <a class="el" href="mdef_8h_source.html#l00149">mdef_t::phone</a>, <a class="el" href="mdef_8h_source.html#l00105">phone_t::rc</a>, <a class="el" href="mdef_8h_source.html#l00106">phone_t::wpos</a>, and <a class="el" href="mdef_8h_source.html#l00083">WPOS_NAME</a>.</p>

</div>
</div>
<a class="anchor" id="ad6748527975b2653049b80dabfaa69f1"></a><!-- doxytag: member="mdef.h::mdef_report" ref="ad6748527975b2653049b80dabfaa69f1" args="(mdef_t *m)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mdef_report </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmdef__t.html">mdef_t</a> *&#160;</td>
          <td class="paramname"><em>m</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Report the model definition's parameters. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">m</td><td>In: model definition structure </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="mdef_8c_source.html#l00690">690</a> of file <a class="el" href="mdef_8c_source.html">mdef.c</a>.</p>

<p>References <a class="el" href="mdef_8h_source.html#l00143">mdef_t::n_ci_sen</a>, <a class="el" href="mdef_8h_source.html#l00140">mdef_t::n_ciphone</a>, <a class="el" href="mdef_8h_source.html#l00142">mdef_t::n_emit_state</a>, <a class="el" href="mdef_8h_source.html#l00141">mdef_t::n_phone</a>, <a class="el" href="mdef_8h_source.html#l00144">mdef_t::n_sen</a>, and <a class="el" href="mdef_8h_source.html#l00152">mdef_t::n_sseq</a>.</p>

</div>
</div>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="mdef_8h.html">mdef.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>