AcoustID.Chromaprint.SpectralCentroid.Consume C# (CSharp) 메소드

Consume() 공개 메소드

public Consume ( double frame ) : void
frame double
리턴 void
        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;
                }
                double centroid = numerator / denominator;
                if (Double.IsNaN(centroid))
                {
                    centroid = (first + last) / 2.0; // handle NaN
                }
                m_features[i] = (centroid - first) / (last - first);
            }
            m_consumer.Consume(m_features);
        }