// Code generation for 11,025Hz mono 16 bit audio data public string Generate(Int16[] pcm) { var whitening = new Whitening(pcm); whitening.Compute(); // Test Whitening /*int i; * for (i = 0; i < 20; i++) * { * if (Math.Abs(whiteningTest[i]-whitening.WhitenedSamples[i]) > 0.00001f) * { * Debug.WriteLine("Whitening test failed"); * break; * } * }*/ var subAnal = new SubbandAnalysis(whitening.WhitenedSamples); subAnal.Compute(); // Subband analysis test //int j; //for (j = 0; j < 10; ++j) /*{ * Debug.WriteLine("{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\t{7}\t", * subAnal.Data[0,j], * subAnal.Data[1,j], * subAnal.Data[2,j], * subAnal.Data[3,j], * subAnal.Data[4,j], * subAnal.Data[5,j], * subAnal.Data[6,j], * subAnal.Data[7,j] * ); * for (i = 0; i < 8; i++) * { * if (Math.Abs(subAnalTest[i] - subAnal.Data[i, 9]) > 0.00001f) * { * Debug.WriteLine("Whitening tst failed"); * break; * } * } * }*/ var fingerprint = new Fingerprint(ref subAnal, 0); fingerprint.Compute(); /*if (fingerprint.GetCodes()[1800].code != 19692 || fingerprint.GetCodes()[1800].frame != 1383) * { * Debug.WriteLine("Fingerprinting test failed"); * }*/ _CodeString = CreateCodeString(fingerprint.GetCodes()); _NumCodes = fingerprint.GetCodes().Length; return(_CodeString); }
public Fingerprint(ref SubbandAnalysis pSubbandAnalysis, int offset) { _pSubbandAnalysis = pSubbandAnalysis; _Offset = offset; }