public void Consume(double[] frame)
{
for (int i = 0; i < NumBands(); i++)
{
int first = FirstIndex(i);
int last = LastIndex(i);
double numerator = 0.0;
double denominator = 0.0;
for (int j = first; j < last; j++)
{
double s = frame[j];
numerator += j * s;
denominator += s;
}
m_features[i] = denominator / (last - first);
}
m_consumer.Consume(m_features);
}