Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 0b420d0fce195cf4115dc6a3be5c2da2 > files > 118

sphinxbase-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>SphinxBase: include/sphinxbase/feat.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">SphinxBase&#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="pages.html"><span>Related&#160;Pages</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('feat_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="#func-members">Functions</a>  </div>
  <div class="headertitle">
<h1>include/sphinxbase/feat.h File Reference</h1>  </div>
</div>
<div class="contents">

<p>compute the dynamic coefficients from the cepstral vector.  
<a href="#_details">More...</a></p>
<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br/>
<code>#include &lt;sphinxbase/sphinxbase_export.h&gt;</code><br/>
<code>#include &lt;sphinxbase/prim_type.h&gt;</code><br/>
<code>#include &lt;sphinxbase/fe.h&gt;</code><br/>
<code>#include &lt;sphinxbase/cmn.h&gt;</code><br/>
<code>#include &lt;sphinxbase/agc.h&gt;</code><br/>
</div>
<p><a href="feat_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="structfeat__s.html">feat_s</a></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="a0e0d4a6b5ad951229bec259ce9637325"></a><!-- doxytag: member="feat.h::LIVEBUFBLOCKSIZE" ref="a0e0d4a6b5ad951229bec259ce9637325" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LIVEBUFBLOCKSIZE</b>&#160;&#160;&#160;256</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7858f0e32903e11a6cb9d659ad4f6542"></a><!-- doxytag: member="feat.h::S3_MAX_FRAMES" ref="a7858f0e32903e11a6cb9d659ad4f6542" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>S3_MAX_FRAMES</b>&#160;&#160;&#160;15000</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ada461d1a4db89192fbd7d8a7e15ca22d"></a><!-- doxytag: member="feat.h::cepstral_to_feature_command_line_macro" ref="ada461d1a4db89192fbd7d8a7e15ca22d" args="()" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>cepstral_to_feature_command_line_macro</b>()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a196b41ab9dfffcea885ee1a9075ede9e"></a><!-- doxytag: member="feat.h::feat_name" ref="a196b41ab9dfffcea885ee1a9075ede9e" args="(f)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="feat_8h.html#a196b41ab9dfffcea885ee1a9075ede9e">feat_name</a>(f)&#160;&#160;&#160;((f)-&gt;name)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Name of feature type. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac691993ec890de3daefbcffe89788f5a"></a><!-- doxytag: member="feat.h::feat_cepsize" ref="ac691993ec890de3daefbcffe89788f5a" args="(f)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="feat_8h.html#ac691993ec890de3daefbcffe89788f5a">feat_cepsize</a>(f)&#160;&#160;&#160;((f)-&gt;cepsize)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Input dimensionality of feature. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69cdcd91578c26565c7653ad6f2eb510"></a><!-- doxytag: member="feat.h::feat_window_size" ref="a69cdcd91578c26565c7653ad6f2eb510" args="(f)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="feat_8h.html#a69cdcd91578c26565c7653ad6f2eb510">feat_window_size</a>(f)&#160;&#160;&#160;((f)-&gt;window_size)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of dynamic feature window. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="feat_8h.html#a1fe686c88d5b0598d7509af21acd9b76">feat_n_stream</a>(f)&#160;&#160;&#160;((f)-&gt;n_stream)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of feature streams.  <a href="#a1fe686c88d5b0598d7509af21acd9b76"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="feat_8h.html#a3d50283fc416fff87f3b907a12c2c11e">feat_stream_len</a>(f, i)&#160;&#160;&#160;((f)-&gt;stream_len[i])</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Length of feature stream i.  <a href="#a3d50283fc416fff87f3b907a12c2c11e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abadd19e2cc72df33e81e9d73a7ddffdb"></a><!-- doxytag: member="feat.h::feat_dimension1" ref="abadd19e2cc72df33e81e9d73a7ddffdb" args="(f)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="feat_8h.html#abadd19e2cc72df33e81e9d73a7ddffdb">feat_dimension1</a>(f)&#160;&#160;&#160;((f)-&gt;n_sv ? (f)-&gt;n_sv : f-&gt;n_stream)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of streams or subvectors in feature output. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5bd29a80c7f23f281d55555757f97f34"></a><!-- doxytag: member="feat.h::feat_dimension2" ref="a5bd29a80c7f23f281d55555757f97f34" args="(f, i)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="feat_8h.html#a5bd29a80c7f23f281d55555757f97f34">feat_dimension2</a>(f, i)&#160;&#160;&#160;((f)-&gt;sv_len ? (f)-&gt;sv_len[i] : f-&gt;stream_len[i])</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Dimensionality of stream/subvector i in feature output. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a66dc16aeea4307bf36ec4e08e05d0c7c"></a><!-- doxytag: member="feat.h::feat_dimension" ref="a66dc16aeea4307bf36ec4e08e05d0c7c" args="(f)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="feat_8h.html#a66dc16aeea4307bf36ec4e08e05d0c7c">feat_dimension</a>(f)&#160;&#160;&#160;((f)-&gt;out_dim)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Total dimensionality of feature output. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afc74f6114cc2151cef1c9e40bdd45e46"></a><!-- doxytag: member="feat.h::feat_stream_lengths" ref="afc74f6114cc2151cef1c9e40bdd45e46" args="(f)" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="feat_8h.html#afc74f6114cc2151cef1c9e40bdd45e46">feat_stream_lengths</a>(f)&#160;&#160;&#160;((f)-&gt;sv_len ? (f)-&gt;sv_len : f-&gt;stream_len)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Array with stream/subvector lengths. <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="acce3586bdd820afe9518147a6ada8bd9"></a><!-- doxytag: member="feat.h::feat_t" ref="acce3586bdd820afe9518147a6ada8bd9" args="" -->
typedef struct <a class="el" href="structfeat__s.html">feat_s</a>&#160;</td><td class="memItemRight" valign="bottom"><b>feat_t</b></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT int32 **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="feat_8h.html#a613aca09a7f45f5ddc550efe685cb83b">parse_subvecs</a> (char const *str)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse subvector specification string.  <a href="#a613aca09a7f45f5ddc550efe685cb83b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad209a1028b315a96a3a2447eccdb8605"></a><!-- doxytag: member="feat.h::subvecs_free" ref="ad209a1028b315a96a3a2447eccdb8605" args="(int32 **subvecs)" -->
SPHINXBASE_EXPORT void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="feat_8h.html#ad209a1028b315a96a3a2447eccdb8605">subvecs_free</a> (int32 **subvecs)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Free array of subvector specs. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT mfcc_t ***&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="feat_8h.html#a03071d6d5c6b233117871f583c258b1e">feat_array_alloc</a> (<a class="el" href="structfeat__t.html">feat_t</a> *fcb, int32 nfr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate an array to hold several frames worth of feature vectors.  <a href="#a03071d6d5c6b233117871f583c258b1e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad5c87f80af670b7a949af65bc3ba82a8"></a><!-- doxytag: member="feat.h::feat_array_free" ref="ad5c87f80af670b7a949af65bc3ba82a8" args="(mfcc_t ***feat)" -->
SPHINXBASE_EXPORT void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="feat_8h.html#ad5c87f80af670b7a949af65bc3ba82a8">feat_array_free</a> (mfcc_t ***feat)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Free a buffer allocated with <a class="el" href="feat_8h.html#a03071d6d5c6b233117871f583c258b1e" title="Allocate an array to hold several frames worth of feature vectors.">feat_array_alloc()</a> <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT <a class="el" href="structfeat__t.html">feat_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="feat_8h.html#a7a5e2e02e99e368e1e9e3b1ded35e3dc">feat_init</a> (char const *type, <a class="el" href="cmn_8h.html#a9384c411b10e9db9745cfb550a5c7652">cmn_type_t</a> cmn, int32 varnorm, <a class="el" href="agc_8h.html#a5524df49e0425cc6b1c002bc704a8103">agc_type_t</a> agc, int32 breport, int32 cepsize)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize feature module to use the selected type of feature stream.  <a href="#a7a5e2e02e99e368e1e9e3b1ded35e3dc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="feat_8h.html#a7639fbc34e3328d7e3259e61372c64b8">feat_read_lda</a> (<a class="el" href="structfeat__t.html">feat_t</a> *feat, const char *ldafile, int32 dim)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an LDA transformation to the feature module from a file.  <a href="#a7639fbc34e3328d7e3259e61372c64b8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="feat_8h.html#a7452702cb435ea9244c7e1f61bbf5da1">feat_lda_transform</a> (<a class="el" href="structfeat__t.html">feat_t</a> *fcb, mfcc_t ***inout_feat, uint32 nfr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Transform a block of features using the feature module's LDA transform.  <a href="#a7452702cb435ea9244c7e1f61bbf5da1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="feat_8h.html#a9a79c7278d484fa8178cd7c06156b794">feat_set_subvecs</a> (<a class="el" href="structfeat__t.html">feat_t</a> *fcb, int32 **subvecs)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a subvector specification to the feature module.  <a href="#a9a79c7278d484fa8178cd7c06156b794"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="feat_8h.html#afeaef030a5ec32c2164b5bd55e912714">feat_print</a> (<a class="el" href="structfeat__t.html">feat_t</a> *fcb, mfcc_t ***feat, int32 nfr, FILE *fp)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Print the given block of feature vectors to the given FILE.  <a href="#afeaef030a5ec32c2164b5bd55e912714"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="feat_8h.html#a918e21c2b28a6951a83c64f7023126a7">feat_s2mfc2feat</a> (<a class="el" href="structfeat__t.html">feat_t</a> *fcb, const char *file, const char *dir, const char *cepext, int32 sf, int32 ef, mfcc_t ***feat, int32 maxfr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a specified MFC file (or given segment within it), perform CMN/AGC as indicated by <code>fcb</code>, and compute feature vectors.  <a href="#a918e21c2b28a6951a83c64f7023126a7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="feat_8h.html#a68bf7d2c15e3f76b08833449eb254aed">feat_s2mfc2feat_live</a> (<a class="el" href="structfeat__t.html">feat_t</a> *fcb, mfcc_t **uttcep, int32 *inout_ncep, int32 beginutt, int32 endutt, mfcc_t ***ofeat)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Feature computation routine for live mode decoder.  <a href="#a68bf7d2c15e3f76b08833449eb254aed"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT <a class="el" href="structfeat__t.html">feat_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="feat_8h.html#a80d6eabf01ff119d324a07c1de8fda80">feat_retain</a> (<a class="el" href="structfeat__t.html">feat_t</a> *f)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Retain ownership of <a class="el" href="structfeat__t.html" title="Structure for describing a speech feature type Structure for describing a speech feature type (no...">feat_t</a>.  <a href="#a80d6eabf01ff119d324a07c1de8fda80"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="feat_8h.html#a98463b4ab5fe4265fc817523b0e25ee9">feat_free</a> (<a class="el" href="structfeat__t.html">feat_t</a> *f)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Release resource associated with <a class="el" href="structfeat__t.html" title="Structure for describing a speech feature type Structure for describing a speech feature type (no...">feat_t</a>.  <a href="#a98463b4ab5fe4265fc817523b0e25ee9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="feat_8h.html#ae3e67bd629f9756ddb6c5a599d223f6e">feat_report</a> (<a class="el" href="structfeat__t.html">feat_t</a> *f)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Report the <a class="el" href="structfeat__t.html" title="Structure for describing a speech feature type Structure for describing a speech feature type (no...">feat_t</a> data structure.  <a href="#ae3e67bd629f9756ddb6c5a599d223f6e"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>compute the dynamic coefficients from the cepstral vector. </p>

<p>Definition in file <a class="el" href="feat_8h_source.html">feat.h</a>.</p>
</div><hr/><h2>Define Documentation</h2>
<a class="anchor" id="a1fe686c88d5b0598d7509af21acd9b76"></a><!-- doxytag: member="feat.h::feat_n_stream" ref="a1fe686c88d5b0598d7509af21acd9b76" args="(f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define feat_n_stream</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">f</td><td>)</td>
          <td>&#160;&#160;&#160;((f)-&gt;n_stream)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Number of feature streams. </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000027">Deprecated:</a></b></dt><dd>Do not use this, use <a class="el" href="feat_8h.html#abadd19e2cc72df33e81e9d73a7ddffdb" title="Number of streams or subvectors in feature output.">feat_dimension1()</a> instead. </dd></dl>

<p>Definition at line <a class="el" href="feat_8h_source.html#l00219">219</a> of file <a class="el" href="feat_8h_source.html">feat.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3d50283fc416fff87f3b907a12c2c11e"></a><!-- doxytag: member="feat.h::feat_stream_len" ref="a3d50283fc416fff87f3b907a12c2c11e" args="(f, i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define feat_stream_len</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">f, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">i&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;((f)-&gt;stream_len[i])</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Length of feature stream i. </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000028">Deprecated:</a></b></dt><dd>Do not use this, use <a class="el" href="feat_8h.html#a5bd29a80c7f23f281d55555757f97f34" title="Dimensionality of stream/subvector i in feature output.">feat_dimension2()</a> instead. </dd></dl>

<p>Definition at line <a class="el" href="feat_8h_source.html#l00225">225</a> of file <a class="el" href="feat_8h_source.html">feat.h</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a03071d6d5c6b233117871f583c258b1e"></a><!-- doxytag: member="feat.h::feat_array_alloc" ref="a03071d6d5c6b233117871f583c258b1e" args="(feat_t *fcb, int32 nfr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT mfcc_t*** feat_array_alloc </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structfeat__t.html">feat_t</a> *&#160;</td>
          <td class="paramname"><em>fcb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>nfr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Allocate an array to hold several frames worth of feature vectors. </p>
<p>The returned value is the mfcc_t ***data array, organized as follows:</p>
<ul>
<li>data[0][0] = frame 0 stream 0 vector, data[0][1] = frame 0 stream 1 vector, ...</li>
<li>data[1][0] = frame 1 stream 0 vector, data[0][1] = frame 1 stream 1 vector, ...</li>
<li>data[2][0] = frame 2 stream 0 vector, data[0][1] = frame 2 stream 1 vector, ...</li>
<li>...</li>
</ul>
<p>NOTE: For I/O convenience, the entire data area is allocated as one contiguous block. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to the allocated space if successful, NULL if any error. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">fcb</td><td>In: Descriptor from <a class="el" href="feat_8h.html#a7a5e2e02e99e368e1e9e3b1ded35e3dc" title="Initialize feature module to use the selected type of feature stream.">feat_init()</a>, used to obtain number of streams and stream sizes </td></tr>
    <tr><td class="paramname">nfr</td><td>In: Number of frames for which to allocate </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="feat_8c_source.html#l00356">356</a> of file <a class="el" href="feat_8c_source.html">feat.c</a>.</p>

<p>References <a class="el" href="ckd__alloc_8h_source.html#l00248">ckd_calloc</a>, <a class="el" href="ckd__alloc_8h_source.html#l00270">ckd_calloc_2d</a>, <a class="el" href="feat_8c_source.html#l00356">feat_array_alloc()</a>, <a class="el" href="feat_8h_source.html#l00237">feat_dimension</a>, <a class="el" href="feat_8h_source.html#l00229">feat_dimension1</a>, and <a class="el" href="feat_8h_source.html#l00233">feat_dimension2</a>.</p>

<p>Referenced by <a class="el" href="feat_8c_source.html#l00356">feat_array_alloc()</a>.</p>

</div>
</div>
<a class="anchor" id="a98463b4ab5fe4265fc817523b0e25ee9"></a><!-- doxytag: member="feat.h::feat_free" ref="a98463b4ab5fe4265fc817523b0e25ee9" args="(feat_t *f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT int feat_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structfeat__t.html">feat_t</a> *&#160;</td>
          <td class="paramname"><em>f</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Release resource associated with <a class="el" href="structfeat__t.html" title="Structure for describing a speech feature type Structure for describing a speech feature type (no...">feat_t</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>new reference count (0 if freed) </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">f</td><td>In: <a class="el" href="structfeat__t.html" title="Structure for describing a speech feature type Structure for describing a speech feature type (no...">feat_t</a> </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="feat_8c_source.html#l01414">1414</a> of file <a class="el" href="feat_8c_source.html">feat.c</a>.</p>

<p>References <a class="el" href="agc_8c_source.html#l00100">agc_free()</a>, <a class="el" href="ckd__alloc_8c_source.html#l00241">ckd_free()</a>, <a class="el" href="ckd__alloc_8c_source.html#l00252">ckd_free_2d()</a>, <a class="el" href="ckd__alloc_8c_source.html#l00294">ckd_free_3d()</a>, <a class="el" href="feat_8c_source.html#l01414">feat_free()</a>, and <a class="el" href="feat_8c_source.html#l00267">subvecs_free()</a>.</p>

<p>Referenced by <a class="el" href="feat_8c_source.html#l01414">feat_free()</a>.</p>

</div>
</div>
<a class="anchor" id="a7a5e2e02e99e368e1e9e3b1ded35e3dc"></a><!-- doxytag: member="feat.h::feat_init" ref="a7a5e2e02e99e368e1e9e3b1ded35e3dc" args="(char const *type, cmn_type_t cmn, int32 varnorm, agc_type_t agc, int32 breport, int32 cepsize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT <a class="el" href="structfeat__t.html">feat_t</a>* feat_init </td>
          <td>(</td>
          <td class="paramtype">char const *&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="cmn_8h.html#a9384c411b10e9db9745cfb550a5c7652">cmn_type_t</a>&#160;</td>
          <td class="paramname"><em>cmn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>varnorm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="agc_8h.html#a5524df49e0425cc6b1c002bc704a8103">agc_type_t</a>&#160;</td>
          <td class="paramname"><em>agc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>breport</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>cepsize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initialize feature module to use the selected type of feature stream. </p>
<p>One-time only initialization at the beginning of the program. Input type is a string defining the kind of input-&gt;feature conversion desired:</p>
<ul>
<li>"s2_4x": s2mfc-&gt;Sphinx-II 4-feature stream,</li>
<li>"1s_c_d_dd": s2mfc-&gt;Sphinx 3.x single feature stream,</li>
<li>"s3_1x39": s2mfc-&gt;Sphinx 3.0 single feature stream,</li>
<li>"n1,n2,n3,...": Explicit feature vector layout spec. with comma-separated feature stream lengths. In this case, the input data is already in the feature format and there is no conversion necessary.</li>
</ul>
<dl class="return"><dt><b>Returns:</b></dt><dd>(<a class="el" href="structfeat__t.html" title="Structure for describing a speech feature type Structure for describing a speech feature type (no...">feat_t</a> *) descriptor if successful, NULL if error. Caller must not directly modify the contents of the returned value. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">type</td><td>In: Type of feature stream </td></tr>
    <tr><td class="paramname">cmn</td><td>In: Type of cepstram mean normalization to be done before feature computation; can be CMN_NONE (for none) </td></tr>
    <tr><td class="paramname">varnorm</td><td>In: (boolean) Whether variance normalization done on each utt; only applicable if CMN also done </td></tr>
    <tr><td class="paramname">agc</td><td>In: Type of automatic gain control to be done before feature computation </td></tr>
    <tr><td class="paramname">breport</td><td>In: Whether to show a report for <a class="el" href="structfeat__t.html" title="Structure for describing a speech feature type Structure for describing a speech feature type (no...">feat_t</a> </td></tr>
    <tr><td class="paramname">cepsize</td><td>Number of components in the input vector (or 0 for the default for this feature type, which is usually 13) </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="feat_8c_source.html#l00689">689</a> of file <a class="el" href="feat_8c_source.html">feat.c</a>.</p>

<p>References <a class="el" href="agc_8c_source.html#l00129">agc_emax_set()</a>, <a class="el" href="agc_8c_source.html#l00091">agc_init()</a>, <a class="el" href="agc_8c_source.html#l00070">agc_type_str</a>, <a class="el" href="ckd__alloc_8h_source.html#l00248">ckd_calloc</a>, <a class="el" href="ckd__alloc_8h_source.html#l00270">ckd_calloc_2d</a>, <a class="el" href="ckd__alloc_8c_source.html#l00241">ckd_free()</a>, <a class="el" href="ckd__alloc_8h_source.html#l00264">ckd_salloc</a>, <a class="el" href="cmn_8c_source.html#l00110">cmn_type_str</a>, <a class="el" href="err_8h_source.html#l00169">E_ERROR</a>, <a class="el" href="err_8h_source.html#l00127">E_FATAL</a>, <a class="el" href="err_8h_source.html#l00147">E_INFO</a>, <a class="el" href="feat_8h_source.html#l00209">feat_cepsize</a>, <a class="el" href="feat_8c_source.html#l00689">feat_init()</a>, and <a class="el" href="feat_8h_source.html#l00213">feat_window_size</a>.</p>

<p>Referenced by <a class="el" href="feat_8c_source.html#l00689">feat_init()</a>.</p>

</div>
</div>
<a class="anchor" id="a7452702cb435ea9244c7e1f61bbf5da1"></a><!-- doxytag: member="feat.h::feat_lda_transform" ref="a7452702cb435ea9244c7e1f61bbf5da1" args="(feat_t *fcb, mfcc_t ***inout_feat, uint32 nfr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT void feat_lda_transform </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structfeat__t.html">feat_t</a> *&#160;</td>
          <td class="paramname"><em>fcb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">mfcc_t ***&#160;</td>
          <td class="paramname"><em>inout_feat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32&#160;</td>
          <td class="paramname"><em>nfr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Transform a block of features using the feature module's LDA transform. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">fcb</td><td>In: Descriptor from <a class="el" href="feat_8h.html#a7a5e2e02e99e368e1e9e3b1ded35e3dc" title="Initialize feature module to use the selected type of feature stream.">feat_init()</a> </td></tr>
    <tr><td class="paramname">inout_feat</td><td>Feature block to transform. </td></tr>
    <tr><td class="paramname">nfr</td><td>In: Number of frames in inout_feat. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="lda_8c_source.html#l00143">143</a> of file <a class="el" href="lda_8c_source.html">lda.c</a>.</p>

<p>References <a class="el" href="ckd__alloc_8h_source.html#l00248">ckd_calloc</a>, <a class="el" href="ckd__alloc_8c_source.html#l00241">ckd_free()</a>, <a class="el" href="feat_8h_source.html#l00237">feat_dimension</a>, and <a class="el" href="lda_8c_source.html#l00143">feat_lda_transform()</a>.</p>

<p>Referenced by <a class="el" href="lda_8c_source.html#l00143">feat_lda_transform()</a>, and <a class="el" href="feat_8c_source.html#l01291">feat_s2mfc2feat_live()</a>.</p>

</div>
</div>
<a class="anchor" id="afeaef030a5ec32c2164b5bd55e912714"></a><!-- doxytag: member="feat.h::feat_print" ref="afeaef030a5ec32c2164b5bd55e912714" args="(feat_t *fcb, mfcc_t ***feat, int32 nfr, FILE *fp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT void feat_print </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structfeat__t.html">feat_t</a> *&#160;</td>
          <td class="paramname"><em>fcb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">mfcc_t ***&#160;</td>
          <td class="paramname"><em>feat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>nfr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>fp</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Print the given block of feature vectors to the given FILE. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">fcb</td><td>In: Descriptor from <a class="el" href="feat_8h.html#a7a5e2e02e99e368e1e9e3b1ded35e3dc" title="Initialize feature module to use the selected type of feature stream.">feat_init()</a> </td></tr>
    <tr><td class="paramname">feat</td><td>In: Feature data to be printed </td></tr>
    <tr><td class="paramname">nfr</td><td>In: Number of frames of feature data above </td></tr>
    <tr><td class="paramname">fp</td><td>In: Output file pointer </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="feat_8c_source.html#l00879">879</a> of file <a class="el" href="feat_8c_source.html">feat.c</a>.</p>

<p>References <a class="el" href="feat_8h_source.html#l00229">feat_dimension1</a>, <a class="el" href="feat_8h_source.html#l00233">feat_dimension2</a>, and <a class="el" href="feat_8c_source.html#l00879">feat_print()</a>.</p>

<p>Referenced by <a class="el" href="feat_8c_source.html#l00879">feat_print()</a>.</p>

</div>
</div>
<a class="anchor" id="a7639fbc34e3328d7e3259e61372c64b8"></a><!-- doxytag: member="feat.h::feat_read_lda" ref="a7639fbc34e3328d7e3259e61372c64b8" args="(feat_t *feat, const char *ldafile, int32 dim)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT int32 feat_read_lda </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structfeat__t.html">feat_t</a> *&#160;</td>
          <td class="paramname"><em>feat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>ldafile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>dim</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add an LDA transformation to the feature module from a file. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 for success or -1 if reading the LDA file failed. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">feat</td><td>In: Descriptor from <a class="el" href="feat_8h.html#a7a5e2e02e99e368e1e9e3b1ded35e3dc" title="Initialize feature module to use the selected type of feature stream.">feat_init()</a> </td></tr>
    <tr><td class="paramname">ldafile</td><td>In: File to read the LDA matrix from. </td></tr>
    <tr><td class="paramname">dim</td><td>In: Dimensionality of LDA output. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="lda_8c_source.html#l00061">61</a> of file <a class="el" href="lda_8c_source.html">lda.c</a>.</p>

<p>References <a class="el" href="bio_8c_source.html#l00430">bio_fread_3d()</a>, <a class="el" href="bio_8c_source.html#l00121">bio_hdrarg_free()</a>, <a class="el" href="bio_8c_source.html#l00187">bio_readhdr()</a>, <a class="el" href="ckd__alloc_8c_source.html#l00294">ckd_free_3d()</a>, <a class="el" href="err_8h_source.html#l00169">E_ERROR</a>, <a class="el" href="err_8h_source.html#l00142">E_ERROR_SYSTEM</a>, <a class="el" href="err_8h_source.html#l00127">E_FATAL</a>, <a class="el" href="err_8h_source.html#l00164">E_WARN</a>, and <a class="el" href="lda_8c_source.html#l00061">feat_read_lda()</a>.</p>

<p>Referenced by <a class="el" href="lda_8c_source.html#l00061">feat_read_lda()</a>.</p>

</div>
</div>
<a class="anchor" id="ae3e67bd629f9756ddb6c5a599d223f6e"></a><!-- doxytag: member="feat.h::feat_report" ref="ae3e67bd629f9756ddb6c5a599d223f6e" args="(feat_t *f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT void feat_report </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structfeat__t.html">feat_t</a> *&#160;</td>
          <td class="paramname"><em>f</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Report the <a class="el" href="structfeat__t.html" title="Structure for describing a speech feature type Structure for describing a speech feature type (no...">feat_t</a> data structure. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">f</td><td>In: <a class="el" href="structfeat__t.html" title="Structure for describing a speech feature type Structure for describing a speech feature type (no...">feat_t</a> </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="feat_8c_source.html#l01445">1445</a> of file <a class="el" href="feat_8c_source.html">feat.c</a>.</p>

<p>References <a class="el" href="err_8h_source.html#l00158">E_INFO_NOFN</a>, <a class="el" href="err_8h_source.html#l00153">E_INFOCONT</a>, and <a class="el" href="feat_8c_source.html#l01445">feat_report()</a>.</p>

<p>Referenced by <a class="el" href="feat_8c_source.html#l01445">feat_report()</a>.</p>

</div>
</div>
<a class="anchor" id="a80d6eabf01ff119d324a07c1de8fda80"></a><!-- doxytag: member="feat.h::feat_retain" ref="a80d6eabf01ff119d324a07c1de8fda80" args="(feat_t *f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT <a class="el" href="structfeat__t.html">feat_t</a>* feat_retain </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structfeat__t.html">feat_t</a> *&#160;</td>
          <td class="paramname"><em>f</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retain ownership of <a class="el" href="structfeat__t.html" title="Structure for describing a speech feature type Structure for describing a speech feature type (no...">feat_t</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to retained <a class="el" href="structfeat__t.html" title="Structure for describing a speech feature type Structure for describing a speech feature type (no...">feat_t</a>. </dd></dl>

<p>Definition at line <a class="el" href="feat_8c_source.html#l01407">1407</a> of file <a class="el" href="feat_8c_source.html">feat.c</a>.</p>

<p>References <a class="el" href="feat_8c_source.html#l01407">feat_retain()</a>.</p>

<p>Referenced by <a class="el" href="feat_8c_source.html#l01407">feat_retain()</a>.</p>

</div>
</div>
<a class="anchor" id="a918e21c2b28a6951a83c64f7023126a7"></a><!-- doxytag: member="feat.h::feat_s2mfc2feat" ref="a918e21c2b28a6951a83c64f7023126a7" args="(feat_t *fcb, const char *file, const char *dir, const char *cepext, int32 sf, int32 ef, mfcc_t ***feat, int32 maxfr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT int32 feat_s2mfc2feat </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structfeat__t.html">feat_t</a> *&#160;</td>
          <td class="paramname"><em>fcb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>dir</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>cepext</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>sf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>ef</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">mfcc_t ***&#160;</td>
          <td class="paramname"><em>feat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>maxfr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Read a specified MFC file (or given segment within it), perform CMN/AGC as indicated by <code>fcb</code>, and compute feature vectors. </p>
<p>Feature vectors are computed for the entire segment specified, by including additional surrounding or padding frames to accommodate the feature windows.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Number of frames of feature vectors computed if successful; -1 if any error. <code>If</code> feat is NULL, then no actual computation will be done, and the number of frames which must be allocated will be returned.</dd></dl>
<p>A note on how the file path is constructed: If the control file already specifies extension or absolute path, then these are not applied. The default extension is defined by the application. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">fcb</td><td>In: Descriptor from <a class="el" href="feat_8h.html#a7a5e2e02e99e368e1e9e3b1ded35e3dc" title="Initialize feature module to use the selected type of feature stream.">feat_init()</a> </td></tr>
    <tr><td class="paramname">file</td><td>In: File to be read </td></tr>
    <tr><td class="paramname">dir</td><td>In: Directory prefix for file, if needed; can be NULL </td></tr>
    <tr><td class="paramname">cepext</td><td>In: Extension of the cepstrum file.It cannot be NULL </td></tr>
    <tr><td class="paramname">feat</td><td>Out: Computed feature vectors; caller must allocate this space </td></tr>
    <tr><td class="paramname">maxfr</td><td>In: Available space (number of frames) in above feat array; it must be sufficient to hold the result. Pass -1 for no limit. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="feat_8c_source.html#l01153">1153</a> of file <a class="el" href="feat_8c_source.html">feat.c</a>.</p>

<p>References <a class="el" href="ckd__alloc_8h_source.html#l00248">ckd_calloc</a>, <a class="el" href="ckd__alloc_8c_source.html#l00241">ckd_free()</a>, <a class="el" href="ckd__alloc_8c_source.html#l00252">ckd_free_2d()</a>, <a class="el" href="ckd__alloc_8h_source.html#l00258">ckd_realloc</a>, <a class="el" href="err_8h_source.html#l00169">E_ERROR</a>, <a class="el" href="err_8h_source.html#l00147">E_INFO</a>, <a class="el" href="feat_8c_source.html#l01153">feat_s2mfc2feat()</a>, and <a class="el" href="feat_8h_source.html#l00213">feat_window_size</a>.</p>

<p>Referenced by <a class="el" href="feat_8c_source.html#l01153">feat_s2mfc2feat()</a>.</p>

</div>
</div>
<a class="anchor" id="a68bf7d2c15e3f76b08833449eb254aed"></a><!-- doxytag: member="feat.h::feat_s2mfc2feat_live" ref="a68bf7d2c15e3f76b08833449eb254aed" args="(feat_t *fcb, mfcc_t **uttcep, int32 *inout_ncep, int32 beginutt, int32 endutt, mfcc_t ***ofeat)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT int32 feat_s2mfc2feat_live </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structfeat__t.html">feat_t</a> *&#160;</td>
          <td class="paramname"><em>fcb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">mfcc_t **&#160;</td>
          <td class="paramname"><em>uttcep</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32 *&#160;</td>
          <td class="paramname"><em>inout_ncep</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>beginutt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>endutt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">mfcc_t ***&#160;</td>
          <td class="paramname"><em>ofeat</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Feature computation routine for live mode decoder. </p>
<p>This function computes features for blocks of incoming data. It retains an internal buffer for computing deltas, which means that the number of output frames will not necessarily equal the number of input frames.</p>
<p><b>It is very important</b> to realize that the number of output frames can be <b>greater than</b> the number of input frames, specifically when <code>endutt</code> is true. It is guaranteed to never exceed <code>*inout_ncep + <a class="el" href="feat_8h.html#a69cdcd91578c26565c7653ad6f2eb510" title="Size of dynamic feature window.">feat_window_size(fcb)</a></code>. You <b>MUST</b> have allocated at least that many frames in <code>ofeat</code>, or you will experience a buffer overflow.</p>
<p>If beginutt and endutt are both true, CMN_CURRENT and AGC_MAX will be done. Otherwise only CMN_PRIOR and AGC_EMAX will be done.</p>
<p>If beginutt is false, endutt is true, and the number of input frames exceeds the input size, then end-of-utterance processing won't actually be done. This condition can easily be checked, because <code>*inout_ncep</code> will equal the return value on exit, and will also be smaller than the value of <code>*inout_ncep</code> on entry.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of output frames actually computed. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">fcb</td><td>In: Descriptor from <a class="el" href="feat_8h.html#a7a5e2e02e99e368e1e9e3b1ded35e3dc" title="Initialize feature module to use the selected type of feature stream.">feat_init()</a> </td></tr>
    <tr><td class="paramname">uttcep</td><td>In: Incoming cepstral buffer </td></tr>
    <tr><td class="paramname">inout_ncep</td><td>In: Size of incoming buffer. Out: Number of incoming frames consumed. </td></tr>
    <tr><td class="paramname">beginutt</td><td>In: Begining of utterance flag </td></tr>
    <tr><td class="paramname">endutt</td><td>In: End of utterance flag </td></tr>
    <tr><td class="paramname">ofeat</td><td>In: Output feature buffer. See <b>VERY IMPORTANT</b> note about the size of this buffer above. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="feat_8c_source.html#l01291">1291</a> of file <a class="el" href="feat_8c_source.html">feat.c</a>.</p>

<p>References <a class="el" href="feat_8h_source.html#l00209">feat_cepsize</a>, <a class="el" href="lda_8c_source.html#l00143">feat_lda_transform()</a>, <a class="el" href="feat_8c_source.html#l01291">feat_s2mfc2feat_live()</a>, and <a class="el" href="feat_8h_source.html#l00213">feat_window_size</a>.</p>

<p>Referenced by <a class="el" href="feat_8c_source.html#l01291">feat_s2mfc2feat_live()</a>.</p>

</div>
</div>
<a class="anchor" id="a9a79c7278d484fa8178cd7c06156b794"></a><!-- doxytag: member="feat.h::feat_set_subvecs" ref="a9a79c7278d484fa8178cd7c06156b794" args="(feat_t *fcb, int32 **subvecs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT int feat_set_subvecs </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structfeat__t.html">feat_t</a> *&#160;</td>
          <td class="paramname"><em>fcb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32 **&#160;</td>
          <td class="paramname"><em>subvecs</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a subvector specification to the feature module. </p>
<p>The subvector splitting will be performed after dynamic feature computation, CMN, AGC, and any LDA transformation. The number of streams in the dynamic feature type must be one, as with LDA.</p>
<p>After adding a subvector specification, the output of feature computation will be split into multiple subvectors, and <a class="el" href="feat_8h.html#a03071d6d5c6b233117871f583c258b1e" title="Allocate an array to hold several frames worth of feature vectors.">feat_array_alloc()</a> will allocate pointers accordingly. The number of <em>streams</em> will remain the</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">fcb</td><td>the feature descriptor. </td></tr>
    <tr><td class="paramname">subvecs</td><td>subvector specification. This pointer is retained by the <a class="el" href="structfeat__t.html" title="Structure for describing a speech feature type Structure for describing a speech feature type (no...">feat_t</a> and should not be freed manually. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 for success or -1 if the subvector specification was invalid. </dd></dl>

<p>Definition at line <a class="el" href="feat_8c_source.html#l00277">277</a> of file <a class="el" href="feat_8c_source.html">feat.c</a>.</p>

<p>References <a class="el" href="ckd__alloc_8h_source.html#l00248">ckd_calloc</a>, <a class="el" href="ckd__alloc_8c_source.html#l00241">ckd_free()</a>, <a class="el" href="err_8h_source.html#l00169">E_ERROR</a>, <a class="el" href="feat_8h_source.html#l00237">feat_dimension</a>, <a class="el" href="feat_8c_source.html#l00277">feat_set_subvecs()</a>, and <a class="el" href="feat_8c_source.html#l00267">subvecs_free()</a>.</p>

<p>Referenced by <a class="el" href="feat_8c_source.html#l00277">feat_set_subvecs()</a>.</p>

</div>
</div>
<a class="anchor" id="a613aca09a7f45f5ddc550efe685cb83b"></a><!-- doxytag: member="feat.h::parse_subvecs" ref="a613aca09a7f45f5ddc550efe685cb83b" args="(char const *str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT int32** parse_subvecs </td>
          <td>(</td>
          <td class="paramtype">char const *&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Parse subvector specification string. </p>
<p>Format of specification: </p>
<ul>
<li>'/' separated list of subvectors </li>
<li>each subvector is a ',' separated list of subranges </li>
<li>each subrange is a single <div class="fragment"><pre class="fragment">&lt;number&gt; </pre></div> or <div class="fragment"><pre class="fragment">&lt;number&gt;-&lt;number&gt; </pre></div> (inclusive), where <div class="fragment"><pre class="fragment">&lt;number&gt; </pre></div> is a feature vector dimension specifier.</li>
</ul>
<p>E.g., "24,0-11/25,12-23/26,27-38" has: </p>
<ul>
<li>3 subvectors </li>
<li>the 1st subvector has feature dims: 24, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, and 11. </li>
<li>etc.</li>
</ul>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">str</td><td>subvector specification string. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>allocated 2-D array of subvector specs (free with <a class="el" href="feat_8h.html#ad209a1028b315a96a3a2447eccdb8605" title="Free array of subvector specs.">subvecs_free()</a>). If there are N subvectors specified, subvec[N] = NULL; and each subvec[0]..subvec[N-1] is -1 terminated vector of feature dims. </dd></dl>

<p>Definition at line <a class="el" href="feat_8c_source.html#l00169">169</a> of file <a class="el" href="feat_8c_source.html">feat.c</a>.</p>

<p>References <a class="el" href="ckd__alloc_8h_source.html#l00248">ckd_calloc</a>, <a class="el" href="err_8h_source.html#l00127">E_FATAL</a>, <a class="el" href="glist_8c_source.html#l00086">glist_add_int32()</a>, <a class="el" href="glist_8c_source.html#l00074">glist_add_ptr()</a>, <a class="el" href="glist_8c_source.html#l00145">glist_count()</a>, <a class="el" href="glist_8c_source.html#l00133">glist_free()</a>, <a class="el" href="glist_8h_source.html#l00109">gnode_ptr</a>, and <a class="el" href="feat_8c_source.html#l00169">parse_subvecs()</a>.</p>

<p>Referenced by <a class="el" href="feat_8c_source.html#l00169">parse_subvecs()</a>.</p>

</div>
</div>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="feat_8h.html">feat.h</a>      </li>
      <li class="footer">Generated on Tue Apr 19 2011 for SphinxBase 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>