<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/111267/">http://git.reviewboard.kde.org/r/111267/</a>
     </td>
    </tr>
   </table>
   <br />











<div>




<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="http://git.reviewboard.kde.org/r/111267/diff/2/?file=166671#file166671line54" style="color: black; font-weight: bold; text-decoration: underline;">simonlib/simonsound/devicevolumewidget.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 2)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">DeviceVolumeWidget::DeviceVolumeWidget( const SimonSound::DeviceConfiguration& device, SoundClient::SoundClientPriority inputPriority, QWidget* parent ) : QWidget(parent),</pre></td>

  </tr>
 </tbody>



 
 

 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">54</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">  <span class="k">if</span><span class="p">(</span><span class="n">listOfLevels</span><span class="p">.</span><span class="n">size</span><span class="p">()</span> <span class="o">==</span> <span class="mi">10</span><span class="p">)</span></pre></td>
  </tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This means that the monitored "window" of voice activity is 10*<buffer size of level calculation>

The frequency of the calls to deviceReportedLevel() is almost arbitrary and depends on hardware (among other things).

Let's assume, for example, that your hardware has an 200ms buffer (low but possible) - then you'd monitor 2000 ms or 2 seconds of speech data. If the device uses a large, 1 second buffer, you'd be looking at 10 seconds.

I'd say around 10 seconds would be reasonable (I'd try it out and see how that looks) but there's no way to make the window size "10 seconds" by just adjusting the max length of listOfLevels. You'll have to keep track of the stream time (represented by the argument "time").

As the buffer size may change mid-stream, I'd recommend you store the stream time in addition to the level (e.g. QPair) and remove everything older that is now older than 10 seconds (remember, you get the *current* stream time as argument).</pre>
</div>
<br />



<p>- Peter</p>


<br />
<p>On June 28th, 2013, 7:45 p.m. UTC, Sanjiban Bairagya wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for KDE Accessibility and Peter Grasch.</div>
<div>By Sanjiban Bairagya.</div>


<p style="color: grey;"><i>Updated June 28, 2013, 7:45 p.m.</i></p>






<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This patch attempts to make an individual be able to check if the signal-to-noise-ratio detected by his/her mic is sufficiently high or not just by talking infront of the mic, without having to do any training separately.</pre>
  </td>
 </tr>
</table>





<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>simonlib/simonsound/devicevolumewidget.h <span style="color: grey">(06f4e0f)</span></li>

 <li>simonlib/simonsound/devicevolumewidget.cpp <span style="color: grey">(6163aa8)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/111267/diff/" style="margin-left: 3em;">View Diff</a></p>







  </td>
 </tr>
</table>








  </div>
 </body>
</html>