Sophie

Sophie

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

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

<p>(Sphinx 3.0 specific) multiple streams senones.  
<a href="#_details">More...</a></p>
<div class="textblock"><code>#include &lt;sphinxbase/err.h&gt;</code><br/>
<code>#include &lt;sphinxbase/ckd_alloc.h&gt;</code><br/>
<code>#include &lt;sphinxbase/cmd_ln.h&gt;</code><br/>
<code>#include &lt;sphinxbase/logmath.h&gt;</code><br/>
<code>#include &quot;<a class="el" href="ms__gauden_8h_source.html">ms_gauden.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="bin__mdef_8h_source.html">bin_mdef.h</a>&quot;</code><br/>
</div>
<p><a href="ms__senone_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="structsenone__t.html">senone_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">8-bit senone PDF structure.  <a href="structsenone__t.html#_details">More...</a><br/></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="af5f6b21f81649ae1d6ce57f5564d3be0"></a><!-- doxytag: member="ms_senone.h::senprob_t" ref="af5f6b21f81649ae1d6ce57f5564d3be0" args="" -->
typedef uint8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ms__senone_8h.html#af5f6b21f81649ae1d6ce57f5564d3be0">senprob_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Senone logs3-probs, truncated to 8 bits. <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="structsenone__t.html">senone_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ms__senone_8h.html#a757e0e72a8e5db3c69611f83143b8887">senone_init</a> (<a class="el" href="structgauden__t.html">gauden_t</a> *g, char const *mixwfile, char const *mgau_mapfile, float32 mixwfloor, logmath_t *lmath, <a class="el" href="structbin__mdef__s.html">bin_mdef_t</a> *mdef)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Load a set of senones (mixing weights and mixture gaussian codebook mappings) from the given files.  <a href="#a757e0e72a8e5db3c69611f83143b8887"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ms__senone_8h.html#a86881df5bbbd615e2cd8171e3b086fa6">senone_free</a> (<a class="el" href="structsenone__t.html">senone_t</a> *s)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Release memory allocated by senone_init.  <a href="#a86881df5bbbd615e2cd8171e3b086fa6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ms__senone_8h.html#a0ef3f343c1f7a9504a1ceda2d7383000">senone_eval</a> (<a class="el" href="structsenone__t.html">senone_t</a> *s, int id, <a class="el" href="structgauden__dist__t.html">gauden_dist_t</a> **dist, int n_top)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluate the score for the given senone wrt to the given top N gaussian codewords.  <a href="#a0ef3f343c1f7a9504a1ceda2d7383000"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>(Sphinx 3.0 specific) multiple streams senones. </p>
<p>used with <a class="el" href="ms__gauden_8h.html" title="(Sphinx 3.0 specific) Gaussian density module.">ms_gauden.h</a> In Sphinx 3.0 family of tools, ms_senone is used to combine the Gaussian scores. Its existence is crucial in Sphinx 3.0 because 3.0 supports both SCHMM and CDHMM. There are optimization scheme for SCHMM (e.g. compute the top-N Gaussian) that is applicable to SCHMM than CDHMM. This is wrapped in senone_eval_all. </p>

<p>Definition in file <a class="el" href="ms__senone_8h_source.html">ms_senone.h</a>.</p>
</div><hr/><h2>Function Documentation</h2>
<a class="anchor" id="a0ef3f343c1f7a9504a1ceda2d7383000"></a><!-- doxytag: member="ms_senone.h::senone_eval" ref="a0ef3f343c1f7a9504a1ceda2d7383000" args="(senone_t *s, int id, gauden_dist_t **dist, int n_top)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32 senone_eval </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structsenone__t.html">senone_t</a> *&#160;</td>
          <td class="paramname"><em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structgauden__dist__t.html">gauden_dist_t</a> **&#160;</td>
          <td class="paramname"><em>dist</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n_top</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Evaluate the score for the given senone wrt to the given top N gaussian codewords. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>senone score (in logs3 domain). </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">id</td><td>In: senone for which score desired </td></tr>
    <tr><td class="paramname">dist</td><td>In: top N codewords and densities for all features, to be combined into senone score. IE, dist[f][i] = i-th best &lt;codeword,density&gt; for feaure f </td></tr>
    <tr><td class="paramname">n_top</td><td>In: Length of dist[f], for each f </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a86881df5bbbd615e2cd8171e3b086fa6"></a><!-- doxytag: member="ms_senone.h::senone_free" ref="a86881df5bbbd615e2cd8171e3b086fa6" args="(senone_t *s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void senone_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structsenone__t.html">senone_t</a> *&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Release memory allocated by senone_init. </p>
<p>In: The <a class="el" href="structsenone__t.html" title="8-bit senone PDF structure.">senone_t</a> to free </p>

<p>Definition at line <a class="el" href="ms__senone_8c_source.html#l00352">352</a> of file <a class="el" href="ms__senone_8c_source.html">ms_senone.c</a>.</p>

<p>References <a class="el" href="ms__senone_8h_source.html#l00162">senone_t::featscr</a>, <a class="el" href="ms__senone_8h_source.html#l00155">senone_t::lmath</a>, <a class="el" href="ms__senone_8h_source.html#l00161">senone_t::mgau</a>, and <a class="el" href="ms__senone_8h_source.html#l00148">senone_t::pdf</a>.</p>

</div>
</div>
<a class="anchor" id="a757e0e72a8e5db3c69611f83143b8887"></a><!-- doxytag: member="ms_senone.h::senone_init" ref="a757e0e72a8e5db3c69611f83143b8887" args="(gauden_t *g, char const *mixwfile, char const *mgau_mapfile, float32 mixwfloor, logmath_t *lmath, bin_mdef_t *mdef)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structsenone__t.html">senone_t</a>* senone_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structgauden__t.html">gauden_t</a> *&#160;</td>
          <td class="paramname"><em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char const *&#160;</td>
          <td class="paramname"><em>mixwfile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char const *&#160;</td>
          <td class="paramname"><em>mgau_mapfile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float32&#160;</td>
          <td class="paramname"><em>mixwfloor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">logmath_t *&#160;</td>
          <td class="paramname"><em>lmath</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structbin__mdef__s.html">bin_mdef_t</a> *&#160;</td>
          <td class="paramname"><em>mdef</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Load a set of senones (mixing weights and mixture gaussian codebook mappings) from the given files. </p>
<p>Normalize weights for each codebook, apply the given floor, convert PDF values to logs3 domain and quantize to 8-bits. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to senone structure created. Caller MUST NOT change its contents. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">g</td><td>In: codebooks </td></tr>
    <tr><td class="paramname">mixwfile</td><td>In: mixing weights file </td></tr>
    <tr><td class="paramname">mgau_mapfile</td><td>In: file specifying mapping from each senone to mixture gaussian codebook. If NULL all senones map to codebook 0 </td></tr>
    <tr><td class="paramname">mixwfloor</td><td>In: Floor value for senone weights </td></tr>
    <tr><td class="paramname">lmath</td><td>In: log math computation </td></tr>
    <tr><td class="paramname">mdef</td><td>In: model definition </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="ms__senone_8c_source.html#l00286">286</a> of file <a class="el" href="ms__senone_8c_source.html">ms_senone.c</a>.</p>

<p>References <a class="el" href="ms__senone_8h_source.html#l00162">senone_t::featscr</a>, <a class="el" href="ms__senone_8h_source.html#l00155">senone_t::lmath</a>, <a class="el" href="ms__senone_8h_source.html#l00161">senone_t::mgau</a>, <a class="el" href="ms__senone_8h_source.html#l00160">senone_t::mixwfloor</a>, <a class="el" href="ms__senone_8h_source.html#l00159">senone_t::n_gauden</a>, <a class="el" href="ms__gauden_8h_source.html#l00091">gauden_t::n_mgau</a>, <a class="el" href="ms__senone_8h_source.html#l00156">senone_t::n_sen</a>, and <a class="el" href="hmm_8h_source.html#l00063">SENSCR_SHIFT</a>.</p>

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