Sophie

Sophie

distrib > Mageia > 5 > x86_64 > media > core-release > by-pkgid > b56c9eed3fa0f00740b6f09a2460a97f > files > 100

lib64sphinxbase-devel-0.8-7.mga5.x86_64.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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>SphinxBase: include/sphinxbase/cont_ad.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<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>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
  <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><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('cont__ad_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">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">cont_ad.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Continuous A/D listening and silence filtering module.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;sphinxbase/sphinxbase_export.h&gt;</code><br />
<code>#include &lt;<a class="el" href="prim__type_8h_source.html">sphinxbase/prim_type.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="ad_8h_source.html">sphinxbase/ad.h</a>&gt;</code><br />
<code>#include &lt;stdio.h&gt;</code><br />
</div>
<p><a href="cont__ad_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structspseg__s.html">spseg_s</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcont__ad__t.html">cont_ad_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Continuous listening module or object Continuous listening module or object.  <a href="structcont__ad__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a2b7422b8273b64e5c9909f0d4ed2a109"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2b7422b8273b64e5c9909f0d4ed2a109"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CONT_AD_STATE_SIL</b>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a2b7422b8273b64e5c9909f0d4ed2a109"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9664991fbf6001a8ee29e9be7dd667c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa9664991fbf6001a8ee29e9be7dd667c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CONT_AD_STATE_SPEECH</b>&#160;&#160;&#160;1</td></tr>
<tr class="separator:aa9664991fbf6001a8ee29e9be7dd667c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a5153bcdd6b0bb75c8c37482a3c312c3d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5153bcdd6b0bb75c8c37482a3c312c3d"></a>
typedef struct <a class="el" href="structspseg__s.html">spseg_s</a>&#160;</td><td class="memItemRight" valign="bottom"><b>spseg_t</b></td></tr>
<tr class="separator:a5153bcdd6b0bb75c8c37482a3c312c3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:af28bf56f17d5cfebf4d960ebed44ca64"><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT <a class="el" href="structcont__ad__t.html">cont_ad_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cont__ad_8h.html#af28bf56f17d5cfebf4d960ebed44ca64">cont_ad_init</a> (<a class="el" href="structad__rec__t.html">ad_rec_t</a> *ad, int32(*adfunc)(<a class="el" href="structad__rec__t.html">ad_rec_t</a> *ad, int16 *buf, int32 max))</td></tr>
<tr class="memdesc:af28bf56f17d5cfebf4d960ebed44ca64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize a continuous listening/silence filtering object.  <a href="#af28bf56f17d5cfebf4d960ebed44ca64">More...</a><br /></td></tr>
<tr class="separator:af28bf56f17d5cfebf4d960ebed44ca64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a9bbf961917827f5d03adcd409dda35"><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT <a class="el" href="structcont__ad__t.html">cont_ad_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cont__ad_8h.html#a1a9bbf961917827f5d03adcd409dda35">cont_ad_init_rawmode</a> (<a class="el" href="structad__rec__t.html">ad_rec_t</a> *ad, int32(*adfunc)(<a class="el" href="structad__rec__t.html">ad_rec_t</a> *ad, int16 *buf, int32 max))</td></tr>
<tr class="memdesc:a1a9bbf961917827f5d03adcd409dda35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a continuous listening object which simply passes data through (!)  <a href="#a1a9bbf961917827f5d03adcd409dda35">More...</a><br /></td></tr>
<tr class="separator:a1a9bbf961917827f5d03adcd409dda35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae664132adc514db01a1d5c1209ded4ba"><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cont__ad_8h.html#ae664132adc514db01a1d5c1209ded4ba">cont_ad_read</a> (<a class="el" href="structcont__ad__t.html">cont_ad_t</a> *r, int16 *buf, int32 max)</td></tr>
<tr class="memdesc:ae664132adc514db01a1d5c1209ded4ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read raw audio data into the silence filter.  <a href="#ae664132adc514db01a1d5c1209ded4ba">More...</a><br /></td></tr>
<tr class="separator:ae664132adc514db01a1d5c1209ded4ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a680721acc14ac191bbae3a4940ed357d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a680721acc14ac191bbae3a4940ed357d"></a>
SPHINXBASE_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cont__ad_8h.html#a680721acc14ac191bbae3a4940ed357d">cont_ad_buffer_space</a> (<a class="el" href="structcont__ad__t.html">cont_ad_t</a> *r)</td></tr>
<tr class="memdesc:a680721acc14ac191bbae3a4940ed357d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the maximum number of samples which can be passed into <a class="el" href="cont__ad_8h.html#ae664132adc514db01a1d5c1209ded4ba" title="Read raw audio data into the silence filter. ">cont_ad_read()</a>. <br /></td></tr>
<tr class="separator:a680721acc14ac191bbae3a4940ed357d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a1d0eaf8292a4549b00a97163999321"><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cont__ad_8h.html#a7a1d0eaf8292a4549b00a97163999321">cont_ad_calib</a> (<a class="el" href="structcont__ad__t.html">cont_ad_t</a> *cont)</td></tr>
<tr class="memdesc:a7a1d0eaf8292a4549b00a97163999321"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calibrate the silence filter.  <a href="#a7a1d0eaf8292a4549b00a97163999321">More...</a><br /></td></tr>
<tr class="separator:a7a1d0eaf8292a4549b00a97163999321"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a575044cf22d96a5ec8fb20410b0065"><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cont__ad_8h.html#a8a575044cf22d96a5ec8fb20410b0065">cont_ad_calib_loop</a> (<a class="el" href="structcont__ad__t.html">cont_ad_t</a> *r, int16 *buf, int32 max)</td></tr>
<tr class="memdesc:a8a575044cf22d96a5ec8fb20410b0065"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calibrate the silence filter without an audio device.  <a href="#a8a575044cf22d96a5ec8fb20410b0065">More...</a><br /></td></tr>
<tr class="separator:a8a575044cf22d96a5ec8fb20410b0065"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a86e16fb673748be753e2a281ce837a"><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cont__ad_8h.html#a6a86e16fb673748be753e2a281ce837a">cont_ad_calib_size</a> (<a class="el" href="structcont__ad__t.html">cont_ad_t</a> *r)</td></tr>
<tr class="memdesc:a6a86e16fb673748be753e2a281ce837a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of samples required to calibrate the silence filter.  <a href="#a6a86e16fb673748be753e2a281ce837a">More...</a><br /></td></tr>
<tr class="separator:a6a86e16fb673748be753e2a281ce837a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9a8f9f66bbfd1ce48fe9366fafcc40d"><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cont__ad_8h.html#af9a8f9f66bbfd1ce48fe9366fafcc40d">cont_ad_set_thresh</a> (<a class="el" href="structcont__ad__t.html">cont_ad_t</a> *cont, int32 sil, int32 sp)</td></tr>
<tr class="memdesc:af9a8f9f66bbfd1ce48fe9366fafcc40d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set silence and speech threshold parameters.  <a href="#af9a8f9f66bbfd1ce48fe9366fafcc40d">More...</a><br /></td></tr>
<tr class="separator:af9a8f9f66bbfd1ce48fe9366fafcc40d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa402397c575922ea352afe5e66c02a34"><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cont__ad_8h.html#aa402397c575922ea352afe5e66c02a34">cont_ad_set_params</a> (<a class="el" href="structcont__ad__t.html">cont_ad_t</a> *r, int32 delta_sil, int32 delta_speech, int32 min_noise, int32 max_noise, int32 winsize, int32 speech_onset, int32 sil_onset, int32 leader, int32 trailer, float32 adapt_rate)</td></tr>
<tr class="memdesc:aa402397c575922ea352afe5e66c02a34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the changable parameters.  <a href="#aa402397c575922ea352afe5e66c02a34">More...</a><br /></td></tr>
<tr class="separator:aa402397c575922ea352afe5e66c02a34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedd013bc2c6aca14fba02049ed7645d7"><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cont__ad_8h.html#aedd013bc2c6aca14fba02049ed7645d7">cont_ad_get_params</a> (<a class="el" href="structcont__ad__t.html">cont_ad_t</a> *r, int32 *delta_sil, int32 *delta_speech, int32 *min_noise, int32 *max_noise, int32 *winsize, int32 *speech_onset, int32 *sil_onset, int32 *leader, int32 *trailer, float32 *adapt_rate)</td></tr>
<tr class="memdesc:aedd013bc2c6aca14fba02049ed7645d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">PWP 1/14/98 &ndash; get the changable params.  <a href="#aedd013bc2c6aca14fba02049ed7645d7">More...</a><br /></td></tr>
<tr class="separator:aedd013bc2c6aca14fba02049ed7645d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12a017ea8a96dc54445e937bb9de24ae"><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cont__ad_8h.html#a12a017ea8a96dc54445e937bb9de24ae">cont_ad_reset</a> (<a class="el" href="structcont__ad__t.html">cont_ad_t</a> *cont)</td></tr>
<tr class="memdesc:a12a017ea8a96dc54445e937bb9de24ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset, discarding any accumulated speech segments.  <a href="#a12a017ea8a96dc54445e937bb9de24ae">More...</a><br /></td></tr>
<tr class="separator:a12a017ea8a96dc54445e937bb9de24ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a381c3df971d43a20e8e8b8da43d2872d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a381c3df971d43a20e8e8b8da43d2872d"></a>
SPHINXBASE_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cont__ad_8h.html#a381c3df971d43a20e8e8b8da43d2872d">cont_ad_close</a> (<a class="el" href="structcont__ad__t.html">cont_ad_t</a> *cont)</td></tr>
<tr class="memdesc:a381c3df971d43a20e8e8b8da43d2872d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close the continuous listening object. <br /></td></tr>
<tr class="separator:a381c3df971d43a20e8e8b8da43d2872d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a288394cd94a4992bec9d3911cc875767"><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cont__ad_8h.html#a288394cd94a4992bec9d3911cc875767">cont_ad_powhist_dump</a> (FILE *fp, <a class="el" href="structcont__ad__t.html">cont_ad_t</a> *cont)</td></tr>
<tr class="memdesc:a288394cd94a4992bec9d3911cc875767"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dump the power histogram.  <a href="#a288394cd94a4992bec9d3911cc875767">More...</a><br /></td></tr>
<tr class="separator:a288394cd94a4992bec9d3911cc875767"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f8284f329d1c0e04856ec9d13020dc4"><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cont__ad_8h.html#a8f8284f329d1c0e04856ec9d13020dc4">cont_ad_detach</a> (<a class="el" href="structcont__ad__t.html">cont_ad_t</a> *c)</td></tr>
<tr class="memdesc:a8f8284f329d1c0e04856ec9d13020dc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Detach the given continuous listening module from the associated audio device.  <a href="#a8f8284f329d1c0e04856ec9d13020dc4">More...</a><br /></td></tr>
<tr class="separator:a8f8284f329d1c0e04856ec9d13020dc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41e7f8c5925dba26dd51e8f7a3d16404"><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cont__ad_8h.html#a41e7f8c5925dba26dd51e8f7a3d16404">cont_ad_attach</a> (<a class="el" href="structcont__ad__t.html">cont_ad_t</a> *c, <a class="el" href="structad__rec__t.html">ad_rec_t</a> *a, int32(*func)(<a class="el" href="structad__rec__t.html">ad_rec_t</a> *, int16 *, int32))</td></tr>
<tr class="memdesc:a41e7f8c5925dba26dd51e8f7a3d16404"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attach the continuous listening module to the given audio device/function.  <a href="#a41e7f8c5925dba26dd51e8f7a3d16404">More...</a><br /></td></tr>
<tr class="separator:a41e7f8c5925dba26dd51e8f7a3d16404"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a662ed7c409479060e3b5ac8eb7bd1865"><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cont__ad_8h.html#a662ed7c409479060e3b5ac8eb7bd1865">cont_ad_set_rawfp</a> (<a class="el" href="structcont__ad__t.html">cont_ad_t</a> *c, FILE *fp)</td></tr>
<tr class="memdesc:a662ed7c409479060e3b5ac8eb7bd1865"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a file for dumping raw audio input.  <a href="#a662ed7c409479060e3b5ac8eb7bd1865">More...</a><br /></td></tr>
<tr class="separator:a662ed7c409479060e3b5ac8eb7bd1865"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16c5810eb19ed89522ef4c3394bbfe83"><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cont__ad_8h.html#a16c5810eb19ed89522ef4c3394bbfe83">cont_ad_set_logfp</a> (<a class="el" href="structcont__ad__t.html">cont_ad_t</a> *c, FILE *fp)</td></tr>
<tr class="memdesc:a16c5810eb19ed89522ef4c3394bbfe83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the file to which cont_ad logs its progress.  <a href="#a16c5810eb19ed89522ef4c3394bbfe83">More...</a><br /></td></tr>
<tr class="separator:a16c5810eb19ed89522ef4c3394bbfe83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a382fe6375eae57a532c524d68bc3dd24"><td class="memItemLeft" align="right" valign="top">SPHINXBASE_EXPORT int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cont__ad_8h.html#a382fe6375eae57a532c524d68bc3dd24">cont_set_thresh</a> (<a class="el" href="structcont__ad__t.html">cont_ad_t</a> *r, int32 silence, int32 speech)</td></tr>
<tr class="memdesc:a382fe6375eae57a532c524d68bc3dd24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the silence and speech thresholds.  <a href="#a382fe6375eae57a532c524d68bc3dd24">More...</a><br /></td></tr>
<tr class="separator:a382fe6375eae57a532c524d68bc3dd24"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Continuous A/D listening and silence filtering module. </p>
<p>This module is intended to be interposed as a filter between any raw A/D source and the application to remove silence regions. Its main purpose is to remove regions of silence from the raw input speech. It is initialized with a raw A/D source function (during the cont_ad_init call). The application is responsible for setting up the A/D source, turning recording on and off as it desires. Filtered A/D data can be read by the application using the cont_ad_read function.</p>
<p>In other words, the application calls cont_ad_read instead of the raw A/D source function (e.g., ad_read in libad) to obtain filtered A/D data with silence regions removed. This module itself does not enforce any other structural changes to the application.</p>
<p>The cont_ad_read function also updates an "absolute" timestamp (see <a class="el" href="structcont__ad__t.html#a7b71e87abfcb3ca4ae73af34c86f955e" title="Absolute timestamp (total no. ">cont_ad_t.read_ts</a>) at the end of each invocation. The timestamp indicates the total number of samples of A/D data read until this point, including data discarded as silence frames. The application is responsible for using this timestamp to make any policy decisions regarding utterance boundaries or whatever. </p>

<p>Definition in file <a class="el" href="cont__ad_8h_source.html">cont_ad.h</a>.</p>
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a41e7f8c5925dba26dd51e8f7a3d16404"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT int32 cont_ad_attach </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structcont__ad__t.html">cont_ad_t</a> *&#160;</td>
          <td class="paramname"><em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structad__rec__t.html">ad_rec_t</a> *&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32(*)(<a class="el" href="structad__rec__t.html">ad_rec_t</a> *, int16 *, int32)&#160;</td>
          <td class="paramname"><em>func</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Attach the continuous listening module to the given audio device/function. </p>
<p>(Like cont_ad_init, but without the calibration.) </p><dl class="section return"><dt>Returns</dt><dd>0 if successful, -1 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="cont__ad__base_8c_source.html#l01293">1293</a> of file <a class="el" href="cont__ad__base_8c_source.html">cont_ad_base.c</a>.</p>

<p>References <a class="el" href="cont__ad_8h_source.html#l00154">cont_ad_t::ad</a>, and <a class="el" href="cont__ad_8h_source.html#l00183">cont_ad_t::eof</a>.</p>

</div>
</div>
<a class="anchor" id="a7a1d0eaf8292a4549b00a97163999321"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT int32 cont_ad_calib </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structcont__ad__t.html">cont_ad_t</a> *&#160;</td>
          <td class="paramname"><em>cont</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Calibrate the silence filter. </p>
<p>Calibration to determine an initial silence threshold. This function can be called any number of times. It should be called at least once immediately after cont_ad_init. The silence threshold is also updated internally once in a while, so this function only needs to be called in the middle if there is a definite change in the recording environment. The application is responsible for making sure that the raw audio source is turned on before the calibration. Return value: 0 if successful, &lt;0 otherwise. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cont</td><td>In: object pointer returned by cont_ad_init </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="cont__ad__base_8c_source.html#l01022">1022</a> of file <a class="el" href="cont__ad__base_8c_source.html">cont_ad_base.c</a>.</p>

<p>References <a class="el" href="cont__ad_8h_source.html#l00154">cont_ad_t::ad</a>, <a class="el" href="cont__ad_8h_source.html#l00158">cont_ad_t::adbuf</a>, <a class="el" href="cont__ad_8h_source.html#l00188">cont_ad_t::headfrm</a>, <a class="el" href="cont__ad_8h_source.html#l00236">cont_ad_t::n_calib_frame</a>, <a class="el" href="cont__ad_8h_source.html#l00189">cont_ad_t::n_frm</a>, <a class="el" href="cont__ad_8h_source.html#l00194">cont_ad_t::pow_hist</a>, <a class="el" href="cont__ad_8h_source.html#l00185">cont_ad_t::spf</a>, and <a class="el" href="cont__ad_8h_source.html#l00212">cont_ad_t::thresh_update</a>.</p>

</div>
</div>
<a class="anchor" id="a8a575044cf22d96a5ec8fb20410b0065"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT int32 cont_ad_calib_loop </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structcont__ad__t.html">cont_ad_t</a> *&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int16 *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>max</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Calibrate the silence filter without an audio device. </p>
<p>If the application has not passed an audio device into the silence filter at initialisation, this routine can be used to calibrate the filter. The buf (of length max samples) should contain audio data for calibration. This data is assumed to be completely consumed. More than one call may be necessary to fully calibrate. Return value: 0 if successful, &lt;0 on failure, &gt;0 if calibration not complete. </p>

<p>Definition at line <a class="el" href="cont__ad__base_8c_source.html#l01064">1064</a> of file <a class="el" href="cont__ad__base_8c_source.html">cont_ad_base.c</a>.</p>

<p>References <a class="el" href="cont__ad_8h_source.html#l00158">cont_ad_t::adbuf</a>, <a class="el" href="cont__ad_8h_source.html#l00188">cont_ad_t::headfrm</a>, <a class="el" href="cont__ad_8h_source.html#l00236">cont_ad_t::n_calib_frame</a>, <a class="el" href="cont__ad_8h_source.html#l00189">cont_ad_t::n_frm</a>, <a class="el" href="cont__ad_8h_source.html#l00194">cont_ad_t::pow_hist</a>, <a class="el" href="cont__ad_8h_source.html#l00185">cont_ad_t::spf</a>, and <a class="el" href="cont__ad_8h_source.html#l00212">cont_ad_t::thresh_update</a>.</p>

</div>
</div>
<a class="anchor" id="a6a86e16fb673748be753e2a281ce837a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT int32 cont_ad_calib_size </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structcont__ad__t.html">cont_ad_t</a> *&#160;</td>
          <td class="paramname"><em>r</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the number of samples required to calibrate the silence filter. </p>
<p>Since, as mentioned above, the calibration data is assumed to be fully consumed, it may be desirable to "hold onto" this data in case it contains useful speech. This function returns the number of samples required to calibrate the silence filter, which is useful in allocating a buffer to store this data.</p>
<dl class="section return"><dt>Returns</dt><dd>Number of samples required for successful calibration. </dd></dl>

<p>Definition at line <a class="el" href="cont__ad__base_8c_source.html#l01058">1058</a> of file <a class="el" href="cont__ad__base_8c_source.html">cont_ad_base.c</a>.</p>

<p>References <a class="el" href="cont__ad_8h_source.html#l00185">cont_ad_t::spf</a>.</p>

</div>
</div>
<a class="anchor" id="a8f8284f329d1c0e04856ec9d13020dc4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT int32 cont_ad_detach </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structcont__ad__t.html">cont_ad_t</a> *&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Detach the given continuous listening module from the associated audio device. </p>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, -1 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="cont__ad__base_8c_source.html#l01281">1281</a> of file <a class="el" href="cont__ad__base_8c_source.html">cont_ad_base.c</a>.</p>

<p>References <a class="el" href="cont__ad_8h_source.html#l00154">cont_ad_t::ad</a>.</p>

</div>
</div>
<a class="anchor" id="aedd013bc2c6aca14fba02049ed7645d7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT int32 cont_ad_get_params </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structcont__ad__t.html">cont_ad_t</a> *&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32 *&#160;</td>
          <td class="paramname"><em>delta_sil</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32 *&#160;</td>
          <td class="paramname"><em>delta_speech</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32 *&#160;</td>
          <td class="paramname"><em>min_noise</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32 *&#160;</td>
          <td class="paramname"><em>max_noise</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32 *&#160;</td>
          <td class="paramname"><em>winsize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32 *&#160;</td>
          <td class="paramname"><em>speech_onset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32 *&#160;</td>
          <td class="paramname"><em>sil_onset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32 *&#160;</td>
          <td class="paramname"><em>leader</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32 *&#160;</td>
          <td class="paramname"><em>trailer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float32 *&#160;</td>
          <td class="paramname"><em>adapt_rate</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>PWP 1/14/98 &ndash; get the changable params. </p>
<p>delta_sil, delta_speech, min_noise, and max_noise are in dB, winsize, speech_onset, sil_onset, leader and trailer are in frames of 16 ms length (256 samples @ 16kHz sampling). </p>

<p>Definition at line <a class="el" href="cont__ad__base_8c_source.html#l01199">1199</a> of file <a class="el" href="cont__ad__base_8c_source.html">cont_ad_base.c</a>.</p>

<p>References <a class="el" href="cont__ad_8h_source.html#l00213">cont_ad_t::adapt_rate</a>, <a class="el" href="cont__ad_8h_source.html#l00198">cont_ad_t::delta_sil</a>, <a class="el" href="cont__ad_8h_source.html#l00199">cont_ad_t::delta_speech</a>, <a class="el" href="cont__ad_8h_source.html#l00205">cont_ad_t::leader</a>, <a class="el" href="cont__ad_8h_source.html#l00201">cont_ad_t::max_noise</a>, <a class="el" href="cont__ad_8h_source.html#l00200">cont_ad_t::min_noise</a>, <a class="el" href="cont__ad_8h_source.html#l00204">cont_ad_t::sil_onset</a>, <a class="el" href="cont__ad_8h_source.html#l00203">cont_ad_t::speech_onset</a>, <a class="el" href="cont__ad_8h_source.html#l00206">cont_ad_t::trailer</a>, and <a class="el" href="cont__ad_8h_source.html#l00202">cont_ad_t::winsize</a>.</p>

</div>
</div>
<a class="anchor" id="af28bf56f17d5cfebf4d960ebed44ca64"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT <a class="el" href="structcont__ad__t.html">cont_ad_t</a>* cont_ad_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structad__rec__t.html">ad_rec_t</a> *&#160;</td>
          <td class="paramname"><em>ad</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32(*)(<a class="el" href="structad__rec__t.html">ad_rec_t</a> *ad, int16 *buf, int32 max)&#160;</td>
          <td class="paramname"><em>adfunc</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initialize a continuous listening/silence filtering object. </p>
<p>One time initialization of a continuous listening/silence filtering object/module. This can work in either "stream mode", where it reads data from an audio device represented by <code><a class="el" href="structad__rec__t.html">ad_rec_t</a></code>, or in "block mode", where it filters out silence regions from blocks of data passed into it.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ad</td><td>An audio device to read from, or NULL to operate in block mode. </td></tr>
    <tr><td class="paramname">adfunc</td><td>The function used to read audio from <code>ad</code>, or NULL to operate in block mode. This is usually ad_read(). </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to a READ-ONLY structure used in other calls to the object. If any error occurs, the return value is NULL. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ad</td><td>In: The A/D source object to be filtered </td></tr>
    <tr><td class="paramname">adfunc</td><td>In: adfunc = source function to be invoked to obtain raw A/D data. See <a class="el" href="ad_8h.html" title="generic live audio interface for recording and playback ">ad.h</a> for the required prototype definition. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1a9bbf961917827f5d03adcd409dda35"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT <a class="el" href="structcont__ad__t.html">cont_ad_t</a>* cont_ad_init_rawmode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structad__rec__t.html">ad_rec_t</a> *&#160;</td>
          <td class="paramname"><em>ad</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32(*)(<a class="el" href="structad__rec__t.html">ad_rec_t</a> *ad, int16 *buf, int32 max)&#160;</td>
          <td class="paramname"><em>adfunc</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes a continuous listening object which simply passes data through (!) </p>
<p>Like cont_ad_init, but put the module in raw mode; i.e., all data is passed through, unfiltered. (By special request.) </p>

</div>
</div>
<a class="anchor" id="a288394cd94a4992bec9d3911cc875767"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT void cont_ad_powhist_dump </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>fp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcont__ad__t.html">cont_ad_t</a> *&#160;</td>
          <td class="paramname"><em>cont</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Dump the power histogram. </p>
<p>For debugging... </p>

<p>Definition at line <a class="el" href="cont__ad__base_8c_source.html#l00231">231</a> of file <a class="el" href="cont__ad__base_8c_source.html">cont_ad_base.c</a>.</p>

<p>References <a class="el" href="cont__ad_8h_source.html#l00194">cont_ad_t::pow_hist</a>, <a class="el" href="cont__ad_8h_source.html#l00185">cont_ad_t::spf</a>, <a class="el" href="cont__ad_8h_source.html#l00180">cont_ad_t::sps</a>, and <a class="el" href="cont__ad_8h_source.html#l00191">cont_ad_t::tot_frm</a>.</p>

</div>
</div>
<a class="anchor" id="ae664132adc514db01a1d5c1209ded4ba"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT int32 cont_ad_read </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structcont__ad__t.html">cont_ad_t</a> *&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int16 *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>max</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read raw audio data into the silence filter. </p>
<p>The main read routine for reading speech/silence segmented audio data. Audio data is copied into the caller provided buffer, much like a file read routine.</p>
<p>In "block mode", i.e. if NULL was passed as a read function to <code>cont_ad_init</code>, the data in <code>buf</code> is taken as input, and any non-silence data is written back to <code>buf</code> on exit. In this case, you must take care that <code>max</code> does not overflow the internal buffer of the silence filter. The available number of samples can be obtained by calling <a class="el" href="cont__ad_8h.html#a680721acc14ac191bbae3a4940ed357d" title="Get the maximum number of samples which can be passed into cont_ad_read(). ">cont_ad_buffer_space()</a>. Any excess data will be discarded.</p>
<p>In normal mode, only speech segments are copied; silence segments are dropped. In rawmode (cont_ad module initialized using <a class="el" href="cont__ad_8h.html#a1a9bbf961917827f5d03adcd409dda35" title="Initializes a continuous listening object which simply passes data through (!) ">cont_ad_init_rawmode()</a>), all data are passed through to the caller. But, in either case, any single call to cont_ad_read will never return data that crosses a speech/silence segment boundary.</p>
<p>The following variables are updated for use by the caller (see <a class="el" href="structcont__ad__t.html" title="Continuous listening module or object Continuous listening module or object. ">cont_ad_t</a> above): <a class="el" href="structcont__ad__t.html#a5d9420ea711733d1eea9b8f29a638fdb" title="State of data returned by most recent cont_ad_read call; CONT_AD_STATE_SIL or CONT_AD_STATE_SPEECH. ">cont_ad_t.state</a>, <a class="el" href="structcont__ad__t.html#a7b71e87abfcb3ca4ae73af34c86f955e" title="Absolute timestamp (total no. ">cont_ad_t.read_ts</a>, <a class="el" href="structcont__ad__t.html#a478939247e09a8ae142c8996ec17d8c8" title="Total no. ">cont_ad_t.seglen</a>, <a class="el" href="structcont__ad__t.html#a5524c052dcd0a3d1a1c3b1fc2134b62e" title="Max signal level for the data consumed by the most recent cont_ad_read call (dB range: 0-99)...">cont_ad_t.siglvl</a>.</p>
<p>Return value: Number of samples actually read, possibly 0; &lt;0 if EOF on A/D source. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">r</td><td>In: Object pointer returned by cont_ad_init </td></tr>
    <tr><td class="paramname">buf</td><td>In/Out: In block mode, contains input data. On return, buf contains A/D data returned by this function, if any. </td></tr>
    <tr><td class="paramname">max</td><td>In: Maximum number of samples to be filled into buf. NOTE: max must be at least 256; otherwise the functions returns -1. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="cont__ad__base_8c_source.html#l00863">863</a> of file <a class="el" href="cont__ad__base_8c_source.html">cont_ad_base.c</a>.</p>

<p>References <a class="el" href="err_8h_source.html#l00169">E_ERROR</a>, <a class="el" href="cont__ad_8h_source.html#l00183">cont_ad_t::eof</a>, <a class="el" href="cont__ad_8h_source.html#l00188">cont_ad_t::headfrm</a>, <a class="el" href="cont__ad_8h_source.html#l00205">cont_ad_t::leader</a>, <a class="el" href="cont__ad_8h_source.html#l00231">cont_ad_t::logfp</a>, <a class="el" href="cont__ad_8h_source.html#l00189">cont_ad_t::n_frm</a>, <a class="el" href="cont__ad_8h_source.html#l00222">cont_ad_t::n_other</a>, <a class="el" href="cont__ad_8h_source.html#l00190">cont_ad_t::n_sample</a>, <a class="el" href="cont__ad_8h_source.html#l00156">cont_ad_t::rawmode</a>, <a class="el" href="cont__ad_8h_source.html#l00167">cont_ad_t::read_ts</a>, <a class="el" href="cont__ad_8h_source.html#l00171">cont_ad_t::seglen</a>, <a class="el" href="cont__ad_8h_source.html#l00175">cont_ad_t::siglvl</a>, <a class="el" href="cont__ad_8h_source.html#l00185">cont_ad_t::spf</a>, <a class="el" href="cont__ad_8h_source.html#l00224">cont_ad_t::spseg_head</a>, <a class="el" href="cont__ad_8h_source.html#l00225">cont_ad_t::spseg_tail</a>, <a class="el" href="cont__ad_8h_source.html#l00165">cont_ad_t::state</a>, <a class="el" href="cont__ad_8h_source.html#l00217">cont_ad_t::tail_state</a>, <a class="el" href="cont__ad_8h_source.html#l00191">cont_ad_t::tot_frm</a>, <a class="el" href="cont__ad_8h_source.html#l00220">cont_ad_t::win_startfrm</a>, <a class="el" href="cont__ad_8h_source.html#l00221">cont_ad_t::win_validfrm</a>, and <a class="el" href="cont__ad_8h_source.html#l00202">cont_ad_t::winsize</a>.</p>

</div>
</div>
<a class="anchor" id="a12a017ea8a96dc54445e937bb9de24ae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT int32 cont_ad_reset </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structcont__ad__t.html">cont_ad_t</a> *&#160;</td>
          <td class="paramname"><em>cont</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reset, discarding any accumulated speech segments. </p>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, &lt;0 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="cont__ad__base_8c_source.html#l01236">1236</a> of file <a class="el" href="cont__ad__base_8c_source.html">cont_ad_base.c</a>.</p>

<p>References <a class="el" href="cont__ad_8h_source.html#l00188">cont_ad_t::headfrm</a>, <a class="el" href="cont__ad_8h_source.html#l00189">cont_ad_t::n_frm</a>, <a class="el" href="cont__ad_8h_source.html#l00222">cont_ad_t::n_other</a>, <a class="el" href="cont__ad_8h_source.html#l00190">cont_ad_t::n_sample</a>, <a class="el" href="cont__ad_8h_source.html#l00224">cont_ad_t::spseg_head</a>, <a class="el" href="cont__ad_8h_source.html#l00225">cont_ad_t::spseg_tail</a>, <a class="el" href="cont__ad_8h_source.html#l00217">cont_ad_t::tail_state</a>, <a class="el" href="cont__ad_8h_source.html#l00220">cont_ad_t::win_startfrm</a>, and <a class="el" href="cont__ad_8h_source.html#l00221">cont_ad_t::win_validfrm</a>.</p>

<p>Referenced by <a class="el" href="cont__ad__base_8c_source.html#l01264">cont_ad_close()</a>.</p>

</div>
</div>
<a class="anchor" id="a16c5810eb19ed89522ef4c3394bbfe83"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT int32 cont_ad_set_logfp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structcont__ad__t.html">cont_ad_t</a> *&#160;</td>
          <td class="paramname"><em>c</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>Set the file to which cont_ad logs its progress. </p>
<p>Mainly for debugging. If <code>fp</code> is NULL, logging is turned off.</p>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, -1 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="cont__ad__base_8c_source.html#l01360">1360</a> of file <a class="el" href="cont__ad__base_8c_source.html">cont_ad_base.c</a>.</p>

<p>References <a class="el" href="cont__ad_8h_source.html#l00231">cont_ad_t::logfp</a>.</p>

</div>
</div>
<a class="anchor" id="aa402397c575922ea352afe5e66c02a34"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT int32 cont_ad_set_params </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structcont__ad__t.html">cont_ad_t</a> *&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>delta_sil</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>delta_speech</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>min_noise</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>max_noise</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>winsize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>speech_onset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>sil_onset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>leader</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>trailer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float32&#160;</td>
          <td class="paramname"><em>adapt_rate</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the changable parameters. </p>
<p>delta_sil, delta_speech, min_noise, and max_noise are in dB, winsize, speech_onset, sil_onset, leader and trailer are in frames of 16 ms length (256 samples @ 16kHz sampling). </p>

<p>Definition at line <a class="el" href="cont__ad__base_8c_source.html#l01126">1126</a> of file <a class="el" href="cont__ad__base_8c_source.html">cont_ad_base.c</a>.</p>

<p>References <a class="el" href="cont__ad_8h_source.html#l00213">cont_ad_t::adapt_rate</a>, <a class="el" href="cont__ad_8h_source.html#l00198">cont_ad_t::delta_sil</a>, <a class="el" href="cont__ad_8h_source.html#l00199">cont_ad_t::delta_speech</a>, <a class="el" href="err_8h_source.html#l00169">E_ERROR</a>, <a class="el" href="cont__ad_8h_source.html#l00205">cont_ad_t::leader</a>, <a class="el" href="cont__ad_8h_source.html#l00201">cont_ad_t::max_noise</a>, <a class="el" href="cont__ad_8h_source.html#l00200">cont_ad_t::min_noise</a>, <a class="el" href="cont__ad_8h_source.html#l00204">cont_ad_t::sil_onset</a>, <a class="el" href="cont__ad_8h_source.html#l00203">cont_ad_t::speech_onset</a>, <a class="el" href="cont__ad_8h_source.html#l00206">cont_ad_t::trailer</a>, <a class="el" href="cont__ad_8h_source.html#l00221">cont_ad_t::win_validfrm</a>, and <a class="el" href="cont__ad_8h_source.html#l00202">cont_ad_t::winsize</a>.</p>

</div>
</div>
<a class="anchor" id="a662ed7c409479060e3b5ac8eb7bd1865"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT int32 cont_ad_set_rawfp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structcont__ad__t.html">cont_ad_t</a> *&#160;</td>
          <td class="paramname"><em>c</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>Set a file for dumping raw audio input. </p>
<p>The application can ask cont_ad to dump the raw audio input that cont_ad processes to a file. Use this function to give the FILE* to the cont_ad object. If invoked with fp == NULL, dumping is turned off. The application is responsible for opening and closing the file. If fp is non-NULL, cont_ad assumes the file pointer is valid and opened for writing.</p>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, -1 otherwise. </dd></dl>

<p>Definition at line <a class="el" href="cont__ad__base_8c_source.html#l01346">1346</a> of file <a class="el" href="cont__ad__base_8c_source.html">cont_ad_base.c</a>.</p>

<p>References <a class="el" href="cont__ad_8h_source.html#l00227">cont_ad_t::rawfp</a>.</p>

</div>
</div>
<a class="anchor" id="af9a8f9f66bbfd1ce48fe9366fafcc40d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT int32 cont_ad_set_thresh </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structcont__ad__t.html">cont_ad_t</a> *&#160;</td>
          <td class="paramname"><em>cont</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>sil</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>sp</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set silence and speech threshold parameters. </p>
<p>The silence threshold is the max power level, RELATIVE to the peak background noise level, in any silence frame. Similarly, the speech threshold is the min power level, RELATIVE to the peak background noise level, in any speech frame. In general, silence threshold &lt;= speech threshold. Increasing the thresholds (say, from the default value of 2 to 3 or 4) reduces the sensitivity to background noise, but may also increase the chances of clipping actual speech. </p><dl class="section return"><dt>Returns</dt><dd>: 0 if successful, &lt;0 otherwise. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cont</td><td>In: Object ptr from cont_ad_init </td></tr>
    <tr><td class="paramname">sil</td><td>In: silence threshold (default 2) </td></tr>
    <tr><td class="paramname">sp</td><td>In: speech threshold (default 2) </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="cont__ad__base_8c_source.html#l01100">1100</a> of file <a class="el" href="cont__ad__base_8c_source.html">cont_ad_base.c</a>.</p>

<p>References <a class="el" href="cont__ad_8h_source.html#l00198">cont_ad_t::delta_sil</a>, and <a class="el" href="cont__ad_8h_source.html#l00199">cont_ad_t::delta_speech</a>.</p>

</div>
</div>
<a class="anchor" id="a382fe6375eae57a532c524d68bc3dd24"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPHINXBASE_EXPORT int32 cont_set_thresh </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structcont__ad__t.html">cont_ad_t</a> *&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>silence</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32&#160;</td>
          <td class="paramname"><em>speech</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the silence and speech thresholds. </p>
<p>For this to remain permanently in effect, the auto_thresh field of the continuous listening module should be set to FALSE or 0. Otherwise the thresholds may be modified by the noise- level adaptation. </p>

<p>Definition at line <a class="el" href="cont__ad__base_8c_source.html#l01308">1308</a> of file <a class="el" href="cont__ad__base_8c_source.html">cont_ad_base.c</a>.</p>

<p>References <a class="el" href="cont__ad_8h_source.html#l00195">cont_ad_t::frm_pow</a>, <a class="el" href="cont__ad_8h_source.html#l00222">cont_ad_t::n_other</a>, <a class="el" href="cont__ad_8h_source.html#l00217">cont_ad_t::tail_state</a>, <a class="el" href="cont__ad_8h_source.html#l00210">cont_ad_t::thresh_sil</a>, <a class="el" href="cont__ad_8h_source.html#l00208">cont_ad_t::thresh_speech</a>, <a class="el" href="cont__ad_8h_source.html#l00220">cont_ad_t::win_startfrm</a>, and <a class="el" href="cont__ad_8h_source.html#l00221">cont_ad_t::win_validfrm</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_e3d154c296a8e9be2797a4f81e9375b2.html">sphinxbase</a></li><li class="navelem"><a class="el" href="cont__ad_8h.html">cont_ad.h</a></li>
    <li class="footer">Generated on Sat Oct 18 2014 15:21:17 for SphinxBase by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.8 </li>
  </ul>
</div>
</body>
</html>