Consume() 공개 메소드

public Consume ( double frame ) : void
frame double
리턴 void
예제 #1
0
        public void TestNormalA()
        {
            FeatureVectorBuffer buffer = new FeatureVectorBuffer();
            Chroma chroma = new Chroma(10, 510, 256, 1000, buffer);
            double[] frame = new double[128];
            frame[113] = 1.0;
            chroma.Consume(frame);
            Assert.AreEqual(12, buffer.features.Length);
            double[] expected_features = {
		        1.0, 0.0, 0.0, 0.0, 0.0, 0.0,
		        0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
	        };
            for (int i = 0; i < 12; i++)
            {
                Assert.AreEqual(expected_features[i], buffer.features[i], 0.0001);
            }
        }
예제 #2
0
        public void TestNormalB()
        {
            FeatureVectorBuffer buffer = new FeatureVectorBuffer();
            Chroma chroma = new Chroma(10, 510, 256, 1000, buffer);
            FFTFrame frame = new FFTFrame(128);
            frame.Data[64] = 1.0; // 250 Hz
            chroma.Consume(frame);
            Assert.AreEqual(12, buffer.features.Length);
            double[] expected_features = {
		        0.0, 0.0, 1.0, 0.0, 0.0, 0.0,
		        0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
	        };
            for (int i = 0; i < 12; i++)
            {
                Assert.AreEqual(expected_features[i], buffer.features[i], 0.0001);
            }
        }
예제 #3
0
        public void TestInterpolatedB()
        {
            FeatureVectorBuffer buffer = new FeatureVectorBuffer();
            Chroma chroma = new Chroma(10, 510, 256, 1000, buffer);
            chroma.Interpolate = true;
            FFTFrame frame = new FFTFrame(128);
            frame.Data[64] = 1.0;
            chroma.Consume(frame);
            Assert.AreEqual(12, buffer.features.Length);
            double[] expected_features = {
		        0.0, 0.286905, 0.713095, 0.0, 0.0, 0.0,
		        0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
	        };
            for (int i = 0; i < 12; i++)
            {
                Assert.AreEqual(expected_features[i], buffer.features[i], 0.0001);
            }
        }
예제 #4
0
        public void TestInterpolatedGSharp()
        {
            FeatureVectorBuffer buffer = new FeatureVectorBuffer();
            Chroma chroma = new Chroma(10, 510, 256, 1000, buffer);
            chroma.Interpolate = true;
            double[] frame = new double[128];
            frame[112] = 1.0;
            chroma.Consume(frame);
            Assert.AreEqual(12, buffer.features.Length);
            double[] expected_features = {
		        0.401354, 0.0, 0.0, 0.0, 0.0, 0.0,
		        0.0, 0.0, 0.0, 0.0, 0.0, 0.598646,
	        };
            for (int i = 0; i < 12; i++)
            {
                Assert.AreEqual(expected_features[i], buffer.features[i], 0.0001);
            }
        }