<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hi</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Do someone have a paper regarding on the origin of the AudioKaraoke, most importantly on how the following function update_filter(), <span style="background-color:rgb(255, 255, 255);display:inline !important"><span> </span>is being derived</span></div>
<div id="signature_bookmark"></div>
<div id="appendonsend"></div>
<div style="font-family:Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt">
<div class="PlainText elementToProof">
<blockquote style="margin-top:0;margin-bottom:0">static void
<div>update_filter (GstAudioVoice * filter, const GstAudioInfo * info)</div>
<div>{</div>
<div>  gfloat A, B, C;</div>
<div>  gint rate;</div>
<div><br>
</div>
<div>  if (info) {</div>
<div>    /// return whatever is in the information</div>
<div>    rate = GST_AUDIO_INFO_RATE (info);</div>
<div>  } else {</div>
<div>    /// return from the filter</div>
<div>    rate = GST_AUDIO_FILTER_RATE (filter);</div>
<div>  }</div>
<div><br>
</div>
<div>  if (rate == 0)</div>
<div>    return;</div>
<div><br>
</div>
<div>  C = exp (-2 * G_PI * filter->filter_width / rate);</div>
<div>  B = -4 * C / (1 + C) * cos (2 * G_PI * filter->filter_band / rate);</div>
<div>  A = sqrt (1 - B * B / (4 * C)) * (1 - C);</div>
<div><br>
</div>
<div>  filter->A = A;</div>
<div>  filter->B = B;</div>
<div>  filter->C = C;</div>
<div>  filter->y1 = 0.0;</div>
<div>  filter->y2 = 0.0;</div>
}<br>
</blockquote>
</div>
<div class="PlainText elementToProof"><br>
</div>
<div class="PlainText elementToProof">Regards</div>
</span></font></div>
</body>
</html>